2017發(fā)布,實現(xiàn)了一階段網(wǎng)絡首次在精度方面超過二階段網(wǎng)絡的經(jīng)典網(wǎng)絡,作者最大的一個創(chuàng)新就是在訓練損失函數(shù)方面,論文比較了CE、BCE、以及論文提出感知損失函數(shù)(FL),最后說明感知損失可以有效解決一階段網(wǎng)絡訓練中的樣本不平衡現(xiàn)象,從而取得更佳的訓練效果。論文中提出的感知損失函數(shù)如下:
最終RetinaNet網(wǎng)絡結構如下:
數(shù)據(jù)集準備與制作
自己百度收集了一個無人機與飛鳥的數(shù)據(jù)集,其中訓練集270張圖像,測試集26張圖像。
使用labelImg工具完成標注,工具下載地址:
https://gitee.com/opencv_ai/opencv_tutorial_data/tree/master/tools
三:模型訓練
制作好數(shù)據(jù)集之后,模型訓練就成為一件很簡單事情,基于OpenMV工具軟件,零代碼即可實現(xiàn)模型訓練。運行下面界面如下:總計訓練了25個輪次以后,發(fā)現(xiàn)效果已經(jīng)是相當?shù)牟诲e了,直接導出ONNX格式RetinaNet模型文件。 把模型轉換為ONNX格式,Pytorch是原生支持的,只需要把通過torch.onnx.export接口,填上相關的參數(shù),然后直接運行就可以生成ONNX模型文件。相關的轉換代碼如下:
model=tv.models.detection.retinanet_resnet50_fpn(pretrained=True)
dummy_input=torch.randn(1,3,1333,800)
model.eval()
model(dummy_input)
im=torch.zeros(1,3,1333,800).to("cpu")
torch.onnx.export(model,im,
"retinanet_resnet50_fpn.onnx",
verbose=False,
opset_version=11,
training=torch.onnx.TrainingMode.EVAL,
do_constant_folding=True,
input_names=['input'],
output_names=['output'],
dynamic_axes={'input':{0:'batch',2:'height',3:'width'}}
)
運行時候控制臺會有一系列的警告輸出,但是絕對不影響模型轉換,影響不影響精度我還沒做個仔細的對比。
模型轉換之后,可以直接查看模型的輸入與輸出結構,圖示如下:
推理運行
推理部分的代碼很簡單,只有三十幾行,Python就是方便使用,這里最需要注意的是輸入圖像的預處理必須是RGB格式,需要歸一化到0~1之間。對得到的三個輸出層分別解析,就可以獲取到坐標(boxes里面包含的實際坐標,無需轉換)?;贠penMV工具軟件,可以實現(xiàn)一鍵零代碼推理演示,效果如下:
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
網(wǎng)絡
+關注
關注
14文章
7586瀏覽量
89003 -
無人機
+關注
關注
230文章
10484瀏覽量
181334 -
數(shù)據(jù)集
+關注
關注
4文章
1208瀏覽量
24748
原文標題:Pytoorch輕松學 – RetinaNet自定義對象檢測
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
如何在android設備上安裝自定義rom
完成后,請執(zhí)行相同的操作,但不要選擇自定義rom,而是選擇間隙。安裝間隙之前需要使用一些自定義rom,您可以從自定義rom的開發(fā)人員網(wǎng)頁上了解,如果他們沒有提及任何相關內(nèi)容,只需在自定義
蘋果新版Reality Converter應用可自定義3D對象
蘋果在今日向開發(fā)人員通報了新版Reality Converter應用的發(fā)布,該程序旨在協(xié)助用戶在Mac上轉換、查看和自定義USDZ 3D對象。
自定義視圖組件教程案例
自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
發(fā)表于 04-08 10:48
?14次下載
基于AI自定義視覺工作場所安全檢測系統(tǒng)
電子發(fā)燒友網(wǎng)站提供《基于AI自定義視覺工作場所安全檢測系統(tǒng).zip》資料免費下載
發(fā)表于 12-09 10:25
?0次下載
自定義神經(jīng)網(wǎng)絡對象識別開源分享
電子發(fā)燒友網(wǎng)站提供《自定義神經(jīng)網(wǎng)絡對象識別開源分享.zip》資料免費下載
發(fā)表于 06-16 09:27
?0次下載
自定義算子開發(fā)
一個完整的自定義算子應用過程包括注冊算子、算子實現(xiàn)、含自定義算子模型轉換和運行含自定義op模型四個階段。在大多數(shù)情況下,您的模型應該可以通過使用hb_mapper工具完成轉換并順利部署到地平線芯片上……
評論