這里推薦一個(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ì)開源。目前還在整理之中。
輕量化模型
為了大家在手機(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é)果。
如何使用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)練,具體意義如下:
注意:這里的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ù)端模型
輕量化模型
參考
[1].https://github.com/jizhishutong/YOLOU
審核編輯 :李倩-
算法
+關(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)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論