YOLO-day2-yolo5

部署运行你感兴趣的模型镜像

day2-yolo5

八、YOLOV5

工程化阶段

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

1. 与YOLOV4对比

  • 大体结构一致

  • 主干网络是C3-Darknet53

  • 网络最开始增加Focus结构

  • Neck也是采用FPN+PAN,但将卷积变成了CSP

  • 预测损失采用GloU损失

2. Focus模块

先分块,后拼接,再卷积

①、640 x 640 x 3的图像输入Focus结构,采用切片操作,先变成320 x 320 x 12的特征图;

②、再经过一次32个卷积核的卷积操作,最终变成320 x 320 x 32的特征图;

③、目的是加速

没有破坏图像特征:网络结构会把特征放在合适的位置

计算量的计算公式为:

$$
\begin{aligned}&\text{计算量}=\text{卷积核尺寸}\times\text{输入通道数}\times\text{输出通道数}\times\text{输出尺寸}^2\end{aligned}
$$

$$
\mathrm{FLOPs(conv)}=3\times3\times3\times32\times320\times320=88473600 \\ \mathrm{FLOPs(Focus)}=1\times1\times12\times32\times320\times320=39321600
$$

3 整体网络结构

3.1 Bottleneck

Bottleneck是用于减少参数和计算量的结构,其设计灵感来自于ResNet,结构如下:

  1. 1 x 1卷积:用于减少特征图的通道数。

  2. 3 x 3卷积:用于提取特征,后接一个Batch Normalization层和ReLU激活函数。

  3. 1 x 1卷积:用于恢复特征图的通道数,后接一个BN层。

  4. 跳跃连接(Shortcut):将输入直接加到输出上,以形成残差连接。

这样既可以减少计算量,同时又保持模型的表达能力。

3.2 C3代替CSP

YOLOv5中的C3模块在CSP上进行了优化,非常相似但略有不同:

不同点:

  1. 具体实现:YOLOv4中的CSP模块通常使用残差块,而YOLOv5中的C3模块通常使用Bottleneck或BottleneckCSP块。

  2. 性能优化:YOLOv5中的C3模块在具体实现上进行了进一步优化,以提高计算效率和模型性能。

4 输出头说明

灵活度较高,支持多种尺寸:

  1. 输入图像尺寸:通常为640 x 640(或者其它尺寸,如416 x 416等)

  2. 输出特征图:YOLOv5 使用大、中、小三个尺寸。

  3. 输出尺寸:

    • 大目标: 通常是输入图像尺寸的 1/32

    • 中目标: 通常是输入图像尺寸的 1/16

    • 小目标: 通常是输入图像尺寸的 1/8

假设输入图像尺寸为640×640,具体的特征图尺寸如下:

$$
\bullet\quad\text{大目标:}\frac{640}{32}\times\frac{640}{32}=20\times20\\\bullet\quad\text{中目标:}\frac{640}{16}\times\frac{640}{16}=40\times40\\\bullet\quad\text{小目标:}\frac{640}8\times\frac{640}8=80\times80
$$

5 开源项目

项目可以在Github搜到:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

conda list
pip install -r requirements
#图片
python detect.py --weights yolov5s.pt --source ./data/images/bus.jpg
#视频
python detect.py --weights yolov5s.pt --source http://ip/fire/index.mp4 --view-img

预训练模型:

Modelsize (pixels)mAPval 50-95mAPval 50Speed CPU b1 (ms)Speed V100 b1 (ms)Speed V100 b32 (ms)params (M)FLOPs @640 (B)
YOLOv5n64028.045.7456.30.61.94.5
YOLOv5s64037.456.8986.40.97.216.5
YOLOv5m64045.464.12248.21.721.249.0
YOLOv5l64049.067.343010.12.746.5109.1
YOLOv5x64050.768.976612.14.886.7205.7
YOLOv5n6128036.054.41538.12.13.24.6
YOLOv5s6128044.863.73858.23.612.616.8
YOLOv5m6128051.369.388711.16.835.750.0
YOLOv5l6128053.771.3178415.810.576.8111.4
YOLOv5x6 + TTA1280 153655.0 55.872.7 72.73136 -26.2 -19.4 -140.7 -209.8 -

n:nm,Speed CPU b1 (ms)-b:batch_size,Speed V100 b32 (ms)比Speed CPU b1 (ms)快的原因是要进行数据预处理,b32可以多线程运行,最大限度应用硬件算力

这些模型的结构是一样的,区别在于网络的深度和宽度,网络的深度指的就是C3模块中Bottleneck的数量,网络的宽度是指网络每层输出的通道数。

九、YOLO作者及论文

1. Yolov1

作者

Joseph Redmon ,Santosh Divvala , Ross Girshick 和 Ali Farhadi 。 ​ Joseph Redmon 是YOLO系列的主要创始人,他在华盛顿大学进行研究工作时提出了 YOLO 的概念。

论文:

https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Redmon_You_Only_Look_CVPR_2016_paper.pdf

2. Yolov2

作者:

由 Joseph Redmon 和 Ali Farhadi 共同开发。Joseph Redmon的工作推动了目标检测技术的边界。

论文:

https://openaccess.thecvf.com/content_cvpr_2017/papers/Redmon_YOLO9000_Better_Faster_CVPR_2017_paper.pdf

3. Yolov3

作者:

该版本继续由 Joseph Redmon 和 Ali Farhadi 共同开发,但在yolov3 之后,他宣布退出计算机视觉研究,以表达对 AI 技术潜在不负责任使用的担忧。

论文:

https://arxiv.org/pdf/1804.02767.pdf

4. Yolov4

作者

Alexey Bochkovskiy、Chien-Yao Wang(yolov4,yolov7 作者) 和 Hong-Yuan MarkLiao(Yolov4、Yolov7、yolov9 的作者)。

论文

https://arxiv.org/pdf/2004.10934.pdf

5. Yolov5

作者:

Yolov5的项目团队是 Ultralytics LLC 公司,是一个专注于深度学习和人工智能领域的公司,特别是在计算机视觉和目标检测技术方面。yolov5主要是对YOLO完成工程化的工作,并没有在核心技术上进行突破和创新,所以没有论文。

项目:

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

6. Yolov6

作者

开发者是来自中国的科技公司美团的研究团队。

论文:

https://arxiv.org/pdf/2209.02976.pdf

7. Yolov7

作者

Chien-Yao Wang(Yolov4、Yolov7、Yolov9 作者)、Hong-Yuan Mark Liao(Yolov4、Yolov7、Yolov9 的作者)、 Alexey Bochkovskiy (Yolov4 作者)。

论文:

https://openaccess.thecvf.com/content/CVPR2023/papers/Wang_YOLOv7_Trainable_Bag-of-Freebies_Sets_New_State-of-the-Art_for_Real-Time_Object_Detectors_CVPR_2023_paper.pdf

8. Yolov11

作者

由小型初创公司 Ultralytics 创建并维护的,具体情况同 Yolov5。

项目

GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀

9. Yolov9

作者

Chien-Yao Wang (Yolov4、Yolov7、Yolov9 作者) , I-Hau Yeh , Hong-Yuan Mark Liao(Yolov4、Yolov7、Yolov9 的作者)

论文

https://arxiv.org/pdf/2402.13616.pdf

10. Yolov10

作者

由清华大学团队Ao Wang,Hui Chen,Lihao Liu,Kai Chen,Zijia Lin,Jungong Han,Guiguang Ding开发。

论文

https://arxiv.org/pdf/2405.14458

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值