位置: IT常识 - 正文

yolov5从V1.0到V6.2网络变化梳理(yolov5使用教程)

编辑:rootadmin
yolov5从V1.0到V6.2网络变化梳理

推荐整理分享yolov5从V1.0到V6.2网络变化梳理(yolov5使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov5版本,yolov5 5.0,yolov5m,yolov5版本,yolov5版本,yolov5版本,yolov5版本,yolov5 5.0,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在学yolov5的网络结构,发现不同的人描述yolov5的网络结构并不同,有的说是C3模块有的说是BottleneckCSP,这给我一个小白带来了很大困扰。查询了很多文章终于在一篇文章中有博主提到,yolov5新版本用C3代替了BottleneckCSP。所以为了搞清楚yolov5的具体网络结构,在这里把所有的版本结构记录下来,以便之后的学习理解与查看。

v1.0版本如下: backbone主要模块:Focus、Conv、BottleneckCSP、SPP head主要模块:BottleneckCSP、Conv、nn.Upsample、Concat、nn.Conv2d

# YOLOv5 backbonebackbone: # [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]]], ]# YOLOv5 headhead: [[-1, 3, BottleneckCSP, [1024, False]], # 9 [-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 6], 1, Concat, [1]], # cat backbone P4 [-1, 3, BottleneckCSP, [512, False]], # 13 [-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 4], 1, Concat, [1]], # cat backbone P3 [-1, 3, BottleneckCSP, [256, False]], [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 18 (P3/8-small) [-2, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], # cat head P4 [-1, 3, BottleneckCSP, [512, False]], [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 22 (P4/16-medium) [-2, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], # cat head P5 [-1, 3, BottleneckCSP, [1024, False]], [-1, 1, nn.Conv2d, [na * (nc + 5), 1, 1]], # 26 (P5/32-large) [[], 1, Detect, [nc, anchors]], # Detect(P5, P4, P3) ]yolov5从V1.0到V6.2网络变化梳理(yolov5使用教程)

v2.0版本如下: backbone主要模块:Focus、Conv、BottleneckCSP、SPP head主要模块:BottleneckCSP、Conv、nn.Upsample、Concat v2.0与V1.0相比最大的区别就是少了nn.Conv2d模块,并且Detect指定为17, 20, 23层输出

# YOLOv5 backbonebackbone: # [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 headhead: [[-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 6], 1, Concat, [1]], # cat backbone P4 [-1, 3, BottleneckCSP, [512, False]], # 13 [-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 4], 1, Concat, [1]], # cat backbone P3 [-1, 3, BottleneckCSP, [256, False]], # 17 [-1, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], # cat head P4 [-1, 3, BottleneckCSP, [512, False]], # 20 [-1, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], # cat head P5 [-1, 3, BottleneckCSP, [1024, False]], # 23 [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) ]

V3.0与V3.1和V2.0相同,这里不放代码;

从V4.0版本开始,作者开始用C3代替了BottleneckCSP,而其他的结构不变。C3结构作用基本相同均为BottleneckCSP架构,只是在修正单元的选择上有所不同,其包含了3个标准卷积层以及多个Bottleneck模块(数量由配置文件.yaml的n和depth_multiple参数乘积决定)

# YOLOv5 backbonebackbone: # [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 headhead: [[-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 6], 1, Concat, [1]], # cat backbone P4 [-1, 3, C3, [512, False]], # 13 [-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 4], 1, Concat, [1]], # cat backbone P3 [-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], # cat head P4 [-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], # cat head P5 [-1, 3, C3, [1024, False]], # 23 (P5/32-large) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) ]

一张图快速了解C3与BottleneckCSP区别(从别人那扒的,嘘): V5.0版本也没有改变网络结构,这里不放代码;

v6.0版本将第0层的Focus替换成Conv,将SPP替换成SPPF; ps:SPPF比SPP快了一倍时间yolov5 github上有代码验证,这里只放结果。

# YOLOv5 v6.0 backbonebackbone: # [from, number, module, args] [[-1, 1, Conv, [64, 6, 2, 2]], # 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, 6, 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, 3, C3, [1024]], [-1, 1, SPPF, [1024, 5]], # 9 ]# YOLOv5 v6.0 headhead: [[-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 6], 1, Concat, [1]], # cat backbone P4 [-1, 3, C3, [512, False]], # 13 [-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2, 'nearest']], [[-1, 4], 1, Concat, [1]], # cat backbone P3 [-1, 3, C3, [256, False]], # 17 (P3/8-small) [-1, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], # cat head P4 [-1, 3, C3, [512, False]], # 20 (P4/16-medium) [-1, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], # cat head P5 [-1, 3, C3, [1024, False]], # 23 (P5/32-large) [[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) ]

V6.1和V6.2版本与V6.0相同,这里不放代码;

总结: V1.0版本backbone主要模块:Focus、Conv、BottleneckCSP、SPP;head主要模块:BottleneckCSP、Conv、nn.Upsample、Concat、nn.Conv2d。 V2.0版本在V1.0版本基础上删去nn.Conv2d,并且Detect指定为17, 20, 23层输出。 V4.0版本用C3代替了BottleneckCSP,而其他的结构不变。 V6.0版本将第0层的Focus替换成Conv,将SPP替换成SPPF;

最后放一张V6.1版本网络结构图:(来自github官方)

本文链接地址:https://www.jiuchutong.com/zhishi/287068.html 转载请保留说明!

上一篇:对象存储OSS之ossbrowser的使用(oss对象储存的副本储存原则)

下一篇:是谁不断叫醒正在睡眠的电脑?这么一查就知道(是谁唤醒你)

  • 工资薪金和工资薪金总额区别
  • 税务筹划的基本前提是
  • 以银行存款支付水电费
  • 失业稳岗补贴怎么记账
  • 支付境外技术服务费代扣代缴所得税账务处理
  • 属于劳务分包合同
  • 购入工程物资计入
  • 房地产企业预缴税费
  • 产品成本科目包括
  • 海关进口增值税发票抵扣期限
  • 公司制作小程序定金能放在图物资吗
  • 居民企业的判定条件
  • 金蝶采购发票怎么红冲
  • 未在规定期限内缴纳税款和滞纳金
  • 企业把活承包给个人,和企业有劳动关系吗?
  • 农业自产自销如何认定
  • 怎么授权gg修改器root权限
  • 无形资产如何评估作价
  • 应收票据到期收回时和未到期转让时
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • 磁盘使用量30m
  • 怎么安装Win7系统
  • PHP:oci_result()的用法_Oracle函数
  • 默认网关不可用win7
  • 外贸企业进项税额转出
  • 人际关系定义是什么
  • 交通费补贴算工资吗?
  • 填制的凭证内容有哪些
  • 应交增值税明细科目怎么看
  • 冰川湾国家公园的冰川不止有白色一种
  • uniapp前端 django后端
  • chkconfig命令参数
  • lscpu命令 显示CPU架构信息
  • 小规模纳税人申报表模板
  • 专票和普票都有发票吗
  • 税控盘全额抵扣政策
  • 电子发票找不到了可以找回吗
  • 费用报销单票据怎么填
  • 确认收入时还没交税
  • 管理不善的进项税额去了哪里
  • 用友删除凭证后为什么还在
  • mysqldump定时备份
  • sqlserver实现离散组合算法
  • 年底计提坏账收回一部分怎么处理
  • 加计抵减和加计扣除是一个意思吗
  • 允许在企业所得税税前扣除的
  • 因质量问题免费退货
  • 现金收入支出表怎么填
  • 进项税额加计10
  • 商贸企业增值税税负率低于1%则存在涉税问题
  • 小规模纳税人购买税控设备
  • 一般纳税人开红字专用发票流程
  • 房地产行业账务处理和主要税种
  • 电子商务会计科目有哪些
  • 应付暂估余额很大怎么办
  • 赠送的产品价格为发票金额为零怎么入库
  • 账务核对包括账表核对吗
  • 企业注销其他应付款怎么处理账务
  • 预付账款无法取得发票如何做账
  • 公司转让无形资产开什么票
  • 酒店会计科目表
  • sqlserver如何保留两位小数
  • 如何查看网络连接密码
  • windowsserver2008r2密码重置
  • ubuntuone
  • 微软the initiative
  • 笔记本xp无线网络连接禁用启用不了
  • windows屏幕上有多个窗口时
  • mac itunes在哪儿
  • svn怎么切换用户名
  • win10系统开机重装教程
  • 浅谈jquery中ajax跨域提交的时候会有2次请求的问题
  • nodejs搭建web服务器
  • Android SQLite总结(一)
  • vim tagbar
  • JavaScript中的this指向
  • js设计模式有什么用
  • json格式例子
  • 深圳监狱在哪个位置
  • 工程增值税率从11%调整到9%
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设