YOLOv5作者没有分neck模块
Backbone:Focus,BottleneckCSP,SPP
Head:PANet+Detect(YOLOv3/v4 Head)
网络可视化工具:netron
导出ONNX文件
depth-mutiple、width-multiple(s<m<l<x)
anchors——先验框的配置
三个不同尺度的先验框
[10,13,16,30,33,23] #P3/8——stride=8情况下第一个先验框宽度是10,高度是13,第二个先验框宽度16,高度30.......
一句话CNN:如何理解stride的意义和算法 - 知乎 (zhihu.com)
(17条消息) yolov5增加小目标检测层_AI视觉网奇的博客-CSDN博客_yolov5小目标
Focus
把数据切分为4份,每份数据都是相当于2倍下采样得到的,然后再channel维度(通道维度)进行拼接,最后进行卷积操作
举例:
Focus()模块是用来减少浮点运算量,提高速度,但对mAP精度没有帮助
输入经过focus变换: [b,c,h,w]-->[b,c*4,h//2,w//2]
把宽度w和高度h的信息整合到c空间
以YOLOv5s为例,原始640*640*3的图像输入Focus结构,采用切片操作,先变成320*320*12的特征图,在经过一次32个卷积核的卷积操作,最终变成320*320*32的特征图。
而YOLOv5m的Focus结构中的卷积操作使用了48个卷积核,因此Focus结构后的特征图变成320*320*48.YOLOv5l,YOLOv5x也是同样的原理
CSPNet
CSP(Cross Stage Partial Network)跨阶段局部网络
SPP(Spatial Pyramid Pooling)空间金字塔池化
PANet (Path-Aggregation Network)路径聚合网络
最适合新手入门的【YOLOV5目标实战】教程!基于Pytorch搭建YOLOV5目标检测平台!环境部署+项目实战(深度学习/计算机视觉)_哔哩哔哩_bilibili