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

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

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

一個(gè)YOLO系列的算法實(shí)現(xiàn)庫YOLOU

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 作者:OpenCV學(xué)堂 ? 2022-07-31 11:47 ? 次閱讀

這里推薦一個(gè)YOLO系列的算法實(shí)現(xiàn)庫YOLOU,此處的“U”意為“United”的意思,主要是為了學(xué)習(xí)而搭建的YOLO學(xué)習(xí)庫,也借此向前輩們致敬,希望不被罵太慘;

整個(gè)算法完全是以YOLOv5的框架進(jìn)行,主要包括的目標(biāo)檢測(cè)算法有:YOLOv3、YOLOv4、YOLOv5、YOLOv5-Lite、YOLOv6、YOLOv7、YOLOX以及YOLOX-Lite。

同時(shí)為了方便算法的部署落地,這里所有的模型均可導(dǎo)出ONNX并直接進(jìn)行TensorRT等推理框架的部署,后續(xù)也會(huì)持續(xù)更新。

模型精度對(duì)比

服務(wù)端模型

這里主要是對(duì)于YOLO系列經(jīng)典化模型的訓(xùn)練對(duì)比,主要是對(duì)于YOLOv5、YOLOv6、YOLOv7以及YOLOX的對(duì)比,部分模型還在訓(xùn)練之中,后續(xù)所有預(yù)訓(xùn)練權(quán)重均會(huì)放出,同時(shí)對(duì)應(yīng)的ONNX文件也會(huì)給出,方便大家部署應(yīng)用落地。

注意,這里關(guān)于YOLOX也沒完全復(fù)現(xiàn)官方的結(jié)果,后續(xù)有時(shí)間還會(huì)繼續(xù)調(diào)參測(cè)試,盡可能追上YOLOX官方的結(jié)果。

下表是關(guān)于YOLOU中模型的測(cè)試,也包括TensorRT的速度測(cè)試,硬件是基于3090顯卡進(jìn)行的測(cè)試,主要是針對(duì)FP32和FP16進(jìn)行的測(cè)試,后續(xù)的TensorRT代碼也會(huì)開源。目前還在整理之中。

36c43e68-100f-11ed-ba43-dac502259ad0.png

輕量化模型

為了大家在手機(jī)端或者其他諸如樹莓派、瑞芯微AID以及全志等芯片的部署,YOLOU也對(duì)YOLOv5和YOLOX進(jìn)行了輕量化設(shè)計(jì)。

下面主要是對(duì)于邊緣端使用的模型進(jìn)行對(duì)比,主要是借鑒之前小編參與的YOLOv5-Lite的倉庫,這里也對(duì)YOLOX-Lite進(jìn)行了輕量化遷移,總體結(jié)果如下表所示,YOLOX-Lite基本上可以超越Y(jié)OLOv5-Lite的精度和結(jié)果。

36d2d1c6-100f-11ed-ba43-dac502259ad0.png

如何使用YOLOU?

安裝

這里由于使用的是YOLOv5的框架進(jìn)行的搭建,因此安裝形式也及其的簡(jiǎn)單,具體如下:

gitclonehttps://github.com/jizhishutong/YOLOU
cdYOLOU
pipinstall-rrequirements.txt

數(shù)據(jù)集

這里依舊使用YOLO格式的數(shù)據(jù)集形式,文件夾形式如下:

train:../coco/images/train2017/
val:../coco/images/val2017/

具體的標(biāo)注文件和圖像list如下所示:

├──images#xx.jpgexample
│├──train2017
││├──000001.jpg
││├──000002.jpg
││└──000003.jpg
│└──val2017
│├──100001.jpg
│├──100002.jpg
│└──100003.jpg
└──labels#xx.txtexample
├──train2017
│├──000001.txt
│├──000002.txt
│└──000003.txt
└──val2017
├──100001.txt
├──100002.txt
└──100003.txt

參數(shù)配置

YOLOU為了方便切換不同模型之間的訓(xùn)練,這里僅僅需要配置一個(gè)mode即可切換不同的模型之間的檢測(cè)和訓(xùn)練,具體意義如下:

36e3e83a-100f-11ed-ba43-dac502259ad0.png

注意:這里的mode主要是對(duì)于Loss計(jì)算的選擇,對(duì)于YOLOv3、YOLOv4、YOLOv5、YOLOR以及YOLOv5-Lite直接設(shè)置mode=yolo即可,對(duì)于YOLOX以及YOLOX-Lite則設(shè)置mode=yolox,對(duì)于YOLOv6和YOLOv7則分別設(shè)置mode=yolov6和mode=yolov7;

注意由于YOLOv7使用了Aux分支,因此在設(shè)置YOLOv7時(shí)有一個(gè)額外的參數(shù)需要配置,即use_aux=True。

具體訓(xùn)練指令如下:

pythontrain.py--modeyolov6--datacoco.yaml--cfgyolov6.yaml--weightsyolov6.pt--batch-size32

檢測(cè)指令如下:

pythondetect.py--source0#webcam
file.jpg#image
file.mp4#video
path/#directory
path/*.jpg#glob
'https://youtu.be/NUsoVlDFqZg'#YouTube
'rtsp://example.com/media.mp4'#RTSP,RTMP,HTTPstream

檢測(cè)結(jié)果

服務(wù)端模型

36f484d8-100f-11ed-ba43-dac502259ad0.png

輕量化模型

371a2490-100f-11ed-ba43-dac502259ad0.png

參考

[1].https://github.com/jizhishutong/YOLOU

審核編輯 :李倩

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

    關(guān)注

    23

    文章

    4612

    瀏覽量

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

    關(guān)注

    4

    文章

    1208

    瀏覽量

    24703
  • 輕量化
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    8082

原文標(biāo)題:YOLOU開源 | 匯集YOLO系列所有算法,集算法學(xué)習(xí)、科研改進(jìn)、落地于一身!

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    助力AIoT應(yīng)用:在米爾FPGA開發(fā)板上實(shí)現(xiàn)Tiny YOLO V4

    Only Look Once)是種實(shí)時(shí)物體檢測(cè)模型,它通過次性掃描整個(gè)圖像,實(shí)現(xiàn)高效的對(duì)象識(shí)別。而其簡(jiǎn)化版 Tiny YOLO V4 更適合嵌入式設(shè)備,具有較少的層數(shù)和參數(shù)。其輕
    發(fā)表于 12-06 17:18

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+介紹基礎(chǔ)硬件算法模塊

    作為嵌入式開發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書介紹了除法器,信號(hào)發(fā)生器,濾波器,分頻器等基本算法的電路實(shí)現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢(shì)的出現(xiàn),過去的研發(fā)
    發(fā)表于 11-21 17:05

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+本介紹基礎(chǔ)硬件算法模塊實(shí)現(xiàn)的好書

    看下本書內(nèi)容簡(jiǎn)介,然后再瀏覽下各個(gè)章節(jié)的內(nèi)容。 從簡(jiǎn)介來看,本書也是關(guān)注最基礎(chǔ),最常用的那部分算法的電路實(shí)現(xiàn),比較貼合工程實(shí)踐,適合無基礎(chǔ)或者有定基礎(chǔ)的線工程人員閱讀。內(nèi)容選擇
    發(fā)表于 11-20 13:42

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn)

    第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn) 在上章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人手檢測(cè),本章將繼續(xù)介紹利用maix.KPU模塊實(shí)現(xiàn)
    發(fā)表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn)

    第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn) 在上章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人臉檢測(cè),本章將繼續(xù)介紹利用maix.KPU模塊實(shí)現(xiàn)
    發(fā)表于 11-14 09:20

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人臉檢測(cè)實(shí)驗(yàn)

    39.1 maix.KPU模塊介紹Kendryte K210片上擁有個(gè)KPU,KPU是通用的神經(jīng)網(wǎng)絡(luò)處理器,它可以在低功耗的情況下實(shí)現(xiàn)卷據(jù)神經(jīng)網(wǎng)絡(luò)的計(jì)算,實(shí)時(shí)獲取被檢測(cè)目標(biāo)的大小、坐標(biāo)和種類,對(duì)人臉或者
    發(fā)表于 11-13 09:37

    Pure path studio內(nèi)能否自己創(chuàng)建個(gè)component,來實(shí)現(xiàn)特定的算法,例如LMS算法

    TLV320AIC3254EVM-K評(píng)估模塊, Pure path studio軟件開發(fā)環(huán)境。 問題:1.Pure path studio 內(nèi)能否自己創(chuàng)建個(gè)component,來實(shí)現(xiàn)特定的
    發(fā)表于 11-01 08:25

    分享個(gè)嵌入式通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)

    開源項(xiàng)目ringbuff ,是款通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)的開源,作者M(jìn)aJerle,遵循 MIT 開源許可協(xié)議。
    的頭像 發(fā)表于 10-23 16:20 ?417次閱讀
    分享<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>嵌入式通用FIFO環(huán)形緩沖區(qū)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>庫</b>

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    YOLO-World是個(gè)融合了實(shí)時(shí)目標(biāo)檢測(cè)與增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的創(chuàng)新平臺(tái),旨在將現(xiàn)實(shí)世界與數(shù)字世界無縫對(duì)接。該平臺(tái)以YOLO(You Only Look Once)
    的頭像 發(fā)表于 08-30 16:27 ?655次閱讀
    使用OpenVINO C# API部署<b class='flag-5'>YOLO</b>-World<b class='flag-5'>實(shí)現(xiàn)</b>實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    安全帽佩戴檢測(cè)算法

    安全帽佩戴監(jiān)控是鐵路工程施工人員安全管理中的重點(diǎn)和難點(diǎn),它對(duì)檢測(cè)算法的準(zhǔn)確 率與檢測(cè)速度都有較高的要求。本文提出種基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的安全帽佩戴檢測(cè)算法 NAS-YOLO。該神經(jīng)網(wǎng)
    的頭像 發(fā)表于 06-26 22:22 ?404次閱讀
    安全帽佩戴檢測(cè)<b class='flag-5'>算法</b>

    OpenVINO? C# API部署YOLOv9目標(biāo)檢測(cè)和實(shí)例分割模型

    YOLOv9模型是YOLO系列實(shí)時(shí)目標(biāo)檢測(cè)算法中的最新版本,代表著該系列在準(zhǔn)確性、速度和效率方面的又次重大飛躍。
    的頭像 發(fā)表于 04-03 17:35 ?898次閱讀
    OpenVINO? C# API部署YOLOv9目標(biāo)檢測(cè)和實(shí)例分割模型

    縱觀全局:YOLO助力實(shí)時(shí)物體檢測(cè)原理及代碼

    YOLO 流程的最后步是將邊界框預(yù)測(cè)與類別概率相結(jié)合,以提供完整的檢測(cè)輸出。每個(gè)邊界框的置信度分?jǐn)?shù)由類別概率調(diào)整,確保檢測(cè)既反映邊界框的準(zhǔn)確性,又反映模型對(duì)對(duì)象類別的置信度。
    的頭像 發(fā)表于 03-30 14:43 ?2435次閱讀

    Camera算法集成實(shí)現(xiàn)指南

    最常見的雙攝算法是雙攝景深算法或者叫雙攝背景虛化算法,除此之外,也有彩色+黑白用于增強(qiáng)夜拍效果的雙攝算法。單幀算法和多幀
    的頭像 發(fā)表于 01-25 15:12 ?1991次閱讀

    【EASY EAI Nano】RV1126實(shí)時(shí)讀取攝像頭并進(jìn)行yolo檢測(cè)顯示

    實(shí)現(xiàn)了三個(gè)并行模塊,分別是 攝像頭讀取,使用opencv轉(zhuǎn)換到適合大小 yolo檢測(cè) 托管到Qt進(jìn)行現(xiàn)實(shí) 檢測(cè)的DEMO從每幀10次改到每幀2次,可以看到還是具備定實(shí)時(shí)性。
    發(fā)表于 01-14 18:53

    在英特爾AI開發(fā)板上用OpenVINO NNCF優(yōu)化YOLOv7

    提高了性能和效率。YOLO算法作為one-stage目標(biāo)檢測(cè)算法最典型的代表,其基于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)象的識(shí)別和定位,運(yùn)行速度很快,可以用于實(shí)時(shí)系統(tǒng)。YOLOv7 是 YOLO 模型
    的頭像 發(fā)表于 01-05 09:29 ?761次閱讀
    在英特爾AI開發(fā)板上用OpenVINO NNCF優(yōu)化YOLOv7