yolov5s-backbone部分

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

1.Yolov5s 框架图

首先我们用netron得到yolov5s的框架结构图如下,可以非常直观的得到关于backbone部分的网络结构图

  • yolov5s结构图
    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, 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值