0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Pytoorch輕松學(xué) – RetinaNet自定義對(duì)象檢測

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 2023-11-15 16:44 ? 次閱讀

RetinaNet網(wǎng)絡(luò)介紹

2017發(fā)布,實(shí)現(xiàn)了一階段網(wǎng)絡(luò)首次在精度方面超過二階段網(wǎng)絡(luò)的經(jīng)典網(wǎng)絡(luò),作者最大的一個(gè)創(chuàng)新就是在訓(xùn)練損失函數(shù)方面,論文比較了CEBCE、以及論文提出感知損失函數(shù)(FL),最后說明感知損失可以有效解決一階段網(wǎng)絡(luò)訓(xùn)練中的樣本不平衡現(xiàn)象,從而取得更佳的訓(xùn)練效果。論文中提出的感知損失函數(shù)如下:

681846d0-838b-11ee-939d-92fbcf53809c.png

最終RetinaNet網(wǎng)絡(luò)結(jié)構(gòu)如下:

68238f22-838b-11ee-939d-92fbcf53809c.png

數(shù)據(jù)集準(zhǔn)備與制作

自己百度收集了一個(gè)無人機(jī)與飛鳥的數(shù)據(jù)集,其中訓(xùn)練集270張圖像,測試集26張圖像。

6831c72c-838b-11ee-939d-92fbcf53809c.png

使用labelImg工具完成標(biāo)注,工具下載地址:

https://gitee.com/opencv_ai/opencv_tutorial_data/tree/master/tools

三:模型訓(xùn)練

制作好數(shù)據(jù)集之后,模型訓(xùn)練就成為一件很簡單事情,基于OpenMV工具軟件,零代碼即可實(shí)現(xiàn)模型訓(xùn)練。運(yùn)行下面界面如下:

683d01e6-838b-11ee-939d-92fbcf53809c.png

總計(jì)訓(xùn)練了25個(gè)輪次以后,發(fā)現(xiàn)效果已經(jīng)是相當(dāng)?shù)牟诲e(cuò)了,直接導(dǎo)出ONNX格式RetinaNet模型文件。 把模型轉(zhuǎn)換為ONNX格式,Pytorch是原生支持的,只需要把通過torch.onnx.export接口,填上相關(guān)的參數(shù),然后直接運(yùn)行就可以生成ONNX模型文件。相關(guān)的轉(zhuǎn)換代碼如下:
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'}}
)
運(yùn)行時(shí)候控制臺(tái)會(huì)有一系列的警告輸出,但是絕對(duì)不影響模型轉(zhuǎn)換,影響不影響精度我還沒做個(gè)仔細(xì)的對(duì)比。 模型轉(zhuǎn)換之后,可以直接查看模型的輸入與輸出結(jié)構(gòu),圖示如下:

6847acc2-838b-11ee-939d-92fbcf53809c.png

推理運(yùn)行

推理部分的代碼很簡單,只有三十幾行,Python就是方便使用,這里最需要注意的是輸入圖像的預(yù)處理必須是RGB格式,需要歸一化到0~1之間。對(duì)得到的三個(gè)輸出層分別解析,就可以獲取到坐標(biāo)(boxes里面包含的實(shí)際坐標(biāo),無需轉(zhuǎn)換)。基于OpenMV工具軟件,可以實(shí)現(xiàn)一鍵零代碼推理演示,效果如下:

6875599c-838b-11ee-939d-92fbcf53809c.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7449

    瀏覽量

    88466
  • 無人機(jī)
    +關(guān)注

    關(guān)注

    226

    文章

    10272

    瀏覽量

    178745
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1199

    瀏覽量

    24595

原文標(biāo)題:Pytoorch輕松學(xué) – RetinaNet自定義對(duì)象檢測

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    自定義函數(shù)測試學(xué)習(xí)工程

    自定義函數(shù)測試學(xué)習(xí)工程
    發(fā)表于 07-01 16:37 ?5次下載

    SOPC中自定義外設(shè)和自定義指令性能分析

    SOPC中自定義外設(shè)和自定義指令性能分析 NiosII是一個(gè)建立在FPGA上的嵌入式軟核處理器,靈活性很強(qiáng)。作為體現(xiàn)NiosII靈活性精髓的兩個(gè)最主要方面,自
    發(fā)表于 03-29 15:12 ?1587次閱讀
    SOPC中<b class='flag-5'>自定義</b>外設(shè)和<b class='flag-5'>自定義</b>指令性能分析

    1602自定義字符

    1602液晶能夠顯示自定義字符,能夠根據(jù)讀者的具體情況顯示自定義字符。
    發(fā)表于 01-20 15:43 ?1次下載

    JAVA教程之自定義光標(biāo)

    JAVA教程之自定義光標(biāo),很好的學(xué)習(xí)資料。
    發(fā)表于 03-31 11:13 ?7次下載

    PDH網(wǎng)管盤 自定義字節(jié)

    PDH網(wǎng)管盤 自定義字節(jié)
    發(fā)表于 12-26 22:13 ?0次下載

    基于自定義特征的飛機(jī)結(jié)構(gòu)件智能檢測規(guī)劃技術(shù)_曾德標(biāo)

    基于自定義特征的飛機(jī)結(jié)構(gòu)件智能檢測規(guī)劃技術(shù)_曾德標(biāo)
    發(fā)表于 02-08 01:56 ?1次下載

    蘋果新版Reality Converter應(yīng)用可自定義3D對(duì)象

    蘋果在今日向開發(fā)人員通報(bào)了新版Reality Converter應(yīng)用的發(fā)布,該程序旨在協(xié)助用戶在Mac上轉(zhuǎn)換、查看和自定義USDZ 3D對(duì)象
    的頭像 發(fā)表于 01-14 16:04 ?2196次閱讀

    自定義視圖組件教程案例

    自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
    發(fā)表于 04-08 10:48 ?14次下載

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實(shí)也是比較簡單的,通過CustomDialogController類就可以顯示自定義彈窗。
    的頭像 發(fā)表于 08-31 08:24 ?2065次閱讀

    基于AI自定義視覺工作場所安全檢測系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于AI自定義視覺工作場所安全檢測系統(tǒng).zip》資料免費(fèi)下載
    發(fā)表于 12-09 10:25 ?0次下載
    基于AI<b class='flag-5'>自定義</b>視覺工作場所安全<b class='flag-5'>檢測</b>系統(tǒng)

    用于改進(jìn)應(yīng)用的自定義邏輯外設(shè)

    具有可配置自定義邏輯 (CCL) 外設(shè)。為了快速輕松地進(jìn)行設(shè)置,MPLAB? 代碼配置器 (MCC) 可用于為正在使用的外設(shè)設(shè)置和生成 API。
    的頭像 發(fā)表于 05-06 09:51 ?855次閱讀
    用于改進(jìn)應(yīng)用的<b class='flag-5'>自定義</b>邏輯外設(shè)

    labview自定義控件

    labview自定義精美控件
    發(fā)表于 05-15 16:46 ?17次下載

    自定義神經(jīng)網(wǎng)絡(luò)對(duì)象識(shí)別開源分享

    電子發(fā)燒友網(wǎng)站提供《自定義神經(jīng)網(wǎng)絡(luò)對(duì)象識(shí)別開源分享.zip》資料免費(fèi)下載
    發(fā)表于 06-16 09:27 ?0次下載
    <b class='flag-5'>自定義</b>神經(jīng)網(wǎng)絡(luò)<b class='flag-5'>對(duì)象</b>識(shí)別開源分享

    自定義算子開發(fā)

    一個(gè)完整的自定義算子應(yīng)用過程包括注冊算子、算子實(shí)現(xiàn)、含自定義算子模型轉(zhuǎn)換和運(yùn)行含自定義op模型四個(gè)階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?2651次閱讀
    <b class='flag-5'>自定義</b>算子開發(fā)

    labview超快自定義控件制作和普通自定義控件制作

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?11次下載