pytorch源码解析系列-yolov5最核心技巧代码详解(1)-网络框架(对比v4)

yoloV5

v5和v4没有很大的创新型改进,但是改进了很多tricks,这些tricks都是当前目标检测中比较流行或者有用的,而且高集成度让目标检测更加容易了!
Yolov5

模型

先看理论知识,不然直接看代码会一头蒙
v5对比v4出了4个基础模型,分别对应4个大小:s(mall),m(ediam),l(arge),x(吃我大X)
实际上就是对几个关键位置加了深度,如果你看了前面yolov4的网络源码,你就会很清楚知道区别。
偷张大白的图:
在这里插入图片描述
可以看到前面backbone是不是有v4的影子,先别急,我们先了解到各个网络的区别就可以了
每一个CSP对应不同的数字 比如CSP1_1 后面的1对应着我们的残差组件(yolov4中是固定的)

哦对了,v5中的网络框架改用yaml方式写的,我们直接看参数可以更直观了解
贴个v5s模型的yaml:
下面代码先不用看全,我们只需要知道各个模型不一样的地方在哪里

# Parameters
nc: 80  # number of classes 
depth_multiple: 0.33  # 模型深度乘子 s:0.33,m:0.67,l:1,x:1.33
width_multiple: 0.50  # 模型宽度乘子:s:0.5,m:0.75,l:1,x:1.25
# 后面都一样 各个模型只有上面的mutiple不一样
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, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 9, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 1, SPP, [1024, [5, 9, 13]]],
   [-1, 3, C3, [1024, False]],  # 9
  ]
# YOLOv5 head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值