1.Yolov5s 框架图
首先我们用netron得到yolov5s的框架结构图如下,可以非常直观的得到关于backbone部分的网络结构图
- yolov5s结构图
注:我们只需要解析名叫:“yolo5s.yaml”文件
代码如下:
parameters
nc: 6 # number of classes 代表类别数量:6
#depth_multiple: 1.0 控制模型深度的参数
#width_multiple: 1.0 控制模型宽度的参数
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.50 # layer channel multiple
# anchors是预置的锚框;在general.py,里面有一个函数kmeans_anchor,通过kmeans的方法计算得到anchor
# kmeans:是采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
# 该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标
anchors:
- [10,13, 16,30, 33,23] # P3/8
- [30,61, 62,45, 59,119] # P4/16
- [116,90, 156,198, 373,326] # P5/32
# YOLOv5 backbone
backbone:
# [from, number, module, args]
[[-1, 1, Focus, [64, 3]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[-1, 3, BottleneckCSP, [128]],
[-1, 1, Conv, [256, 3, 2]], # 3-P3/8
[-1, 9, BottleneckCSP, [256]],
[-1, 1, Conv, [512, 3, 2]], # 5-P4/16
[-1, 9, BottleneckCSP, [512]],
[-1, 1, Conv, [1024, 3, 2]], # 7-P5/32
[-1, 1, SPP, [1024, [5, 9, 13]]],
[-1, 3, BottleneckCSP, [1024, False]], # 9
]
# YOLOv5 head
head:
[[-1, 1, Conv, [512, 1, 1]],
[-1, 1, nn.Upsample, [None, 2,

本文详细解析了Yolov5s模型的backbone结构,包括Focus、CBL、BottleneckCSP和SPP等关键模块。Focus模块整合空间信息,CBL模块由卷积、批量归一化和Hardswish激活函数组成,BottleneckCSP模块结合了多个Bottleneck结构,SPP模块利用空间金字塔池化增强感受野。这些模块共同构建了Yolov5s强大的特征提取能力。
1万+

被折叠的 条评论
为什么被折叠?



