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

這里推薦一個YOLO系列的算法實現(xiàn)庫YOLOU,此處的“U”意為“United”的意思,主要是為了學(xué)習(xí)而搭建的YOLO學(xué)習(xí)庫,也借此向前輩們致敬,希望不被罵太慘;
整個算法完全是以YOLOv5的框架進(jìn)行,主要包括的目標(biāo)檢測算法有:YOLOv3、YOLOv4、YOLOv5、YOLOv5-Lite、YOLOv6、YOLOv7、YOLOX以及YOLOX-Lite。
同時為了方便算法的部署落地,這里所有的模型均可導(dǎo)出ONNX并直接進(jìn)行TensorRT等推理框架的部署,后續(xù)也會持續(xù)更新。
模型精度對比
服務(wù)端模型
這里主要是對于YOLO系列經(jīng)典化模型的訓(xùn)練對比,主要是對于YOLOv5、YOLOv6、YOLOv7以及YOLOX的對比,部分模型還在訓(xùn)練之中,后續(xù)所有預(yù)訓(xùn)練權(quán)重均會放出,同時對應(yīng)的ONNX文件也會給出,方便大家部署應(yīng)用落地。
注意,這里關(guān)于YOLOX也沒完全復(fù)現(xiàn)官方的結(jié)果,后續(xù)有時間還會繼續(xù)調(diào)參測試,盡可能追上YOLOX官方的結(jié)果。
下表是關(guān)于YOLOU中模型的測試,也包括TensorRT的速度測試,硬件是基于3090顯卡進(jìn)行的測試,主要是針對FP32和FP16進(jìn)行的測試,后續(xù)的TensorRT代碼也會開源。目前還在整理之中。

輕量化模型
為了大家在手機(jī)端或者其他諸如樹莓派、瑞芯微、AID以及全志等芯片的部署,YOLOU也對YOLOv5和YOLOX進(jìn)行了輕量化設(shè)計。
下面主要是對于邊緣端使用的模型進(jìn)行對比,主要是借鑒之前小編參與的YOLOv5-Lite的倉庫,這里也對YOLOX-Lite進(jìn)行了輕量化遷移,總體結(jié)果如下表所示,YOLOX-Lite基本上可以超越Y(jié)OLOv5-Lite的精度和結(jié)果。

如何使用YOLOU?
安裝
這里由于使用的是YOLOv5的框架進(jìn)行的搭建,因此安裝形式也及其的簡單,具體如下:
git clone https://github.com/jizhishutong/YOLOU
cd YOLOU
pip install -r requirements.txt
數(shù)據(jù)集
這里依舊使用YOLO格式的數(shù)據(jù)集形式,文件夾形式如下:
train: ../coco/images/train2017/
val: ../coco/images/val2017/
具體的標(biāo)注文件和圖像list如下所示:
├── images # xx.jpg example
│ ├── train2017
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── 000003.jpg
│ └── val2017
│ ├── 100001.jpg
│ ├── 100002.jpg
│ └── 100003.jpg
└── labels # xx.txt example
├── train2017
│ ├── 000001.txt
│ ├── 000002.txt
│ └── 000003.txt
└── val2017
├── 100001.txt
├── 100002.txt
└── 100003.txt
參數(shù)配置
YOLOU為了方便切換不同模型之間的訓(xùn)練,這里僅僅需要配置一個mode即可切換不同的模型之間的檢測和訓(xùn)練,具體意義如下:

注意:這里的mode主要是對于Loss計算的選擇,對于YOLOv3、YOLOv4、YOLOv5、YOLOR以及YOLOv5-Lite直接設(shè)置mode=yolo即可,對于YOLOX以及YOLOX-Lite則設(shè)置mode=yolox,對于YOLOv6和YOLOv7則分別設(shè)置mode=yolov6和mode=yolov7;
注意由于YOLOv7使用了Aux分支,因此在設(shè)置YOLOv7時有一個額外的參數(shù)需要配置,即use_aux=True。
具體訓(xùn)練指令如下:
python train.py --mode yolov6 --data coco.yaml --cfg yolov6.yaml --weights yolov6.pt --batch-size 32
檢測指令如下:
python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
'https://youtu.be/NUsoVlDFqZg' # YouTube
'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream
檢測結(jié)果
服務(wù)端模型

輕量化模型

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

END

分享
收藏
點(diǎn)贊
在看

