YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!

简介: YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!

6bfc12976340f3ece1192b1e07c12402.png

这里推荐一个YOLO系列的算法实现库YOLOU,此处的“U”意为“United”的意思,主要是为了学习而搭建的YOLO学习库,也借此向前辈们致敬,希望不被骂太惨;


整个算法完全是以YOLOv5的框架进行,主要包括的目标检测算法有:YOLOv3、YOLOv4、YOLOv5、YOLOv5-Lite、YOLOv6、YOLOv7、YOLOX以及YOLOX-Lite。


同时为了方便算法的部署落地,这里所有的模型均可导出ONNX并直接进行TensorRT等推理框架的部署,后续也会持续更新。

模型精度对比

服务端模型

这里主要是对于YOLO系列经典化模型的训练对比,主要是对于YOLOv5、YOLOv6、YOLOv7以及YOLOX的对比,部分模型还在训练之中,后续所有预训练权重均会放出,同时对应的ONNX文件也会给出,方便大家部署应用落地。

注意,这里关于YOLOX也没完全复现官方的结果,后续有时间还会继续调参测试,尽可能追上YOLOX官方的结果。

下表是关于YOLOU中模型的测试,也包括TensorRT的速度测试,硬件是基于3090显卡进行的测试,主要是针对FP32和FP16进行的测试,后续的TensorRT代码也会开源。目前还在整理之中。

c7c0d3f4113147cf8164cb4ad6e363de.png

轻量化模型

为了大家在手机端或者其他诸如树莓派、瑞芯微、AID以及全志等芯片的部署,YOLOU也对YOLOv5和YOLOX进行了轻量化设计。

下面主要是对于边缘端使用的模型进行对比,主要是借鉴之前小编参与的YOLOv5-Lite的仓库,这里也对YOLOX-Lite进行了轻量化迁移,总体结果如下表所示,YOLOX-Lite基本上可以超越YOLOv5-Lite的精度和结果。

a9463a9558a184daa4342295fade2e6e.png

如何使用YOLOU?

安装

这里由于使用的是YOLOv5的框架进行的搭建,因此安装形式也及其的简单,具体如下:

git clone https://github.com/jizhishutong/YOLOU
cd YOLOU
pip install -r requirements.txt

数据集

这里依旧使用YOLO格式的数据集形式,文件夹形式如下:

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

具体的标注文件和图像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

参数配置

YOLOU为了方便切换不同模型之间的训练,这里仅仅需要配置一个mode即可切换不同的模型之间的检测和训练,具体意义如下:

0c3ed0fb061eac876b75732ef3f19fec.png

注意:这里的mode主要是对于Loss计算的选择,对于YOLOv3、YOLOv4、YOLOv5、YOLOR以及YOLOv5-Lite直接设置mode=yolo即可,对于YOLOX以及YOLOX-Lite则设置mode=yolox,对于YOLOv6和YOLOv7则分别设置mode=yolov6和mode=yolov7

注意由于YOLOv7使用了Aux分支,因此在设置YOLOv7时有一个额外的参数需要配置,即use_aux=True

具体训练指令如下:

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

检测结果

服务端模型

112c37b20c176166c50c9fa9d5646478.png

轻量化模型

68881c9b709633fbd0cf7a6c1f47a13a.png

参考

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

相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术:从理论到实践的探索之旅
AI技术:从理论到实践的探索之旅
|
算法 语音技术
|
8月前
|
机器学习/深度学习 算法 语音技术
华为ICT——第八章:语音处理理论与实践01
华为ICT——第八章:语音处理理论与实践01
86 0
|
8月前
|
机器学习/深度学习 人工智能 算法
华为ICT——第八章:语音处理理论与实践02
华为ICT——第八章:语音处理理论与实践02
113 0
|
语音技术
|
算法 计算机视觉 芯片
YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!
YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!
238 0
|
机器学习/深度学习 人工智能 算法
横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发
横向对比 11 种算法,多伦多大学推出机器学习模型,加速长效注射剂新药研发
170 0
|
机器学习/深度学习 自然语言处理 搜索推荐
Jeff Dean长文展望:2021年之后,机器学习领域的五大潜力趋势(2)
Jeff Dean长文展望:2021年之后,机器学习领域的五大潜力趋势
126 0
|
机器学习/深度学习 人工智能 自然语言处理
Jeff Dean长文展望:2021年之后,机器学习领域的五大潜力趋势(1)
Jeff Dean长文展望:2021年之后,机器学习领域的五大潜力趋势
107 0