位置: 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对象储存的副本储存原则)

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

  • 抖音怎么换灯牌(怎么更换抖音灯牌)

    抖音怎么换灯牌(怎么更换抖音灯牌)

  • 88vip怎么换绑饿了么账号(88vip如何换绑)

    88vip怎么换绑饿了么账号(88vip如何换绑)

  • 微信收藏置顶(微信收藏置顶为什么总消失)

    微信收藏置顶(微信收藏置顶为什么总消失)

  • 华为p40pro尺寸长宽高(华为p40 pro机身尺寸)

    华为p40pro尺寸长宽高(华为p40 pro机身尺寸)

  • 荣耀x10usb调试如何打开(华为荣耀10usb调试)

    荣耀x10usb调试如何打开(华为荣耀10usb调试)

  • 微信提示音怎么修改(微信提示音怎么设置)

    微信提示音怎么修改(微信提示音怎么设置)

  • 主屏幕与锁定屏幕耗电大怎么解决(主屏幕与锁定屏幕)

    主屏幕与锁定屏幕耗电大怎么解决(主屏幕与锁定屏幕)

  • 6p屏幕多大尺寸(苹果6p屏幕多大尺寸)

    6p屏幕多大尺寸(苹果6p屏幕多大尺寸)

  • ipone11里面配耳机吗(iphone 11配的耳机是什么样)

    ipone11里面配耳机吗(iphone 11配的耳机是什么样)

  • 拼多多对接运营有什么用(拼多多对接运营什么意思)

    拼多多对接运营有什么用(拼多多对接运营什么意思)

  • 华为手机进水了显示气温太低(华为手机进水了黑屏怎么办)

    华为手机进水了显示气温太低(华为手机进水了黑屏怎么办)

  • 文件管理的压缩包可以删除吗(文件管理的压缩包是干什么用的)

    文件管理的压缩包可以删除吗(文件管理的压缩包是干什么用的)

  • 快手同城为什么全是别的地方的(快手同城为什么不能关闭)

    快手同城为什么全是别的地方的(快手同城为什么不能关闭)

  • 微信扣钱怎么设置零钱优先(微信扣钱怎么设置零钱包)

    微信扣钱怎么设置零钱优先(微信扣钱怎么设置零钱包)

  • pp视频会员电视上能用吗(什么叫pp视频会员)

    pp视频会员电视上能用吗(什么叫pp视频会员)

  • 苹果se2是单卡还是双卡(苹果se2是单卡吗)

    苹果se2是单卡还是双卡(苹果se2是单卡吗)

  • 支付宝应用加密怎么解除(支付宝应用加密怎么解除设置中没有安全这一栏怎么办)

    支付宝应用加密怎么解除(支付宝应用加密怎么解除设置中没有安全这一栏怎么办)

  • iphonexsmax面部识别突然不能用了(iphonexsmax面部识别总是让你移低一点)

    iphonexsmax面部识别突然不能用了(iphonexsmax面部识别总是让你移低一点)

  • 闲鱼系统繁忙请稍后再试(闲鱼服务繁忙请稍后再试)

    闲鱼系统繁忙请稍后再试(闲鱼服务繁忙请稍后再试)

  • 手机deliverserver是什么软件(手机号码测吉凶)

    手机deliverserver是什么软件(手机号码测吉凶)

  • 淘宝店铺背景怎么更改(淘宝店铺背景怎么换)

    淘宝店铺背景怎么更改(淘宝店铺背景怎么换)

  • 三星手机有微信分身吗(三星手机有微信通话录音吗)

    三星手机有微信分身吗(三星手机有微信通话录音吗)

  • 微博经常访问几天消失(微博经常访问几天删除)

    微博经常访问几天消失(微博经常访问几天删除)

  • 电话卡被暂停服务是什么意思(电话卡被暂停服务怎么恢复)

    电话卡被暂停服务是什么意思(电话卡被暂停服务怎么恢复)

  • qq主题怎么恢复默认(qq主题怎么恢复默认粉色主题)

    qq主题怎么恢复默认(qq主题怎么恢复默认粉色主题)

  • 华为nova9参数配置详情(华为nova9参数配置中关村)

    华为nova9参数配置详情(华为nova9参数配置中关村)

  • web 前端 基础HTML知识点(html前端技术)

    web 前端 基础HTML知识点(html前端技术)

  • 安保服务税点
  • 事业单位交所得税是否可以报国高新
  • 增值税率和征收率
  • 印花税计提时应入什么科目
  • 单位人民币卡账户可以支取现金吗
  • 个体户核定征收需要做账吗
  • 计税依据的定义
  • 小规模没有成本票怎么做账
  • 所得税忘了计提如何做会计分录还有结转
  • 苗木种植发票免增值税吗
  • 流动负债和长期负债的比例多少合适
  • 股票发行的佣金计入什么科目
  • 债券折价发行的会计分录
  • 出售报废固定资产属于什么收入
  • 债务重组双方如何进行会计处理
  • 固定资产分配分录
  • 运费客户承担钱销售员垫付冲应收怎么处理?
  • 外购一批原材料对外销售
  • 小规模纳税人附加税优惠政策2023
  • 物业公司怎么开展业务
  • 一般纳税人如何纳税申报
  • 境外单位或者个人
  • 福利费提取后未使用能否税前扣除?
  • 融资租赁抵押车辆逾期收车
  • 企业个税网上申报时间
  • 实验设备折旧率
  • 应收预收账款属于什么科目
  • 接受国外企业捐款的条件
  • 受赠房屋涉及哪些税?
  • 应付福利费科目
  • 无形资产增值税计入入账价值吗
  • 房地产企业的沙盘模型制作费会计处理
  • 宽带连接错误678最简单的解决方法
  • 纳税调整需要调年度报表嘛
  • mac本host文件
  • 出租的厂房房产税谁交
  • 公司被收购后所需资金
  • 工资个人所得税怎么减税条件
  • 计提本月固定资产折旧会计科目
  • 购进的货物
  • php处理xml
  • 微信小程序实现灯泡开关效果
  • 一只华莱士飞蛙掠过森林地面 (© Stephen Dalton/Minden Pictures)
  • jsp课程设计含源代码
  • 36号文45条
  • node实战
  • 尚未抄税无法申报
  • 单位之间的争议由谁处理
  • db management
  • 税控服务费全额抵扣怎么申报
  • 个人所得税申报教程
  • 政府补助会计处理方法
  • 管理费用主要核算内容包括什么?
  • 资产负债表其他应收款计算公式
  • 已抵扣的增值税怎么做账
  • 无形资产如何摊销公式
  • 进项税转出补税按多少补税
  • 房地产企业的土地使用权计入什么科目
  • linux find -perm 详解
  • freebsd忘记root密码
  • linux播放mp3命令
  • linux安装.sh
  • windows8应用商店在哪
  • 创建ubuntu
  • Cocos2dx3.2 Crazy Tetris update 定时更新 游戏逻辑处理
  • c#中抽象类的定义
  • Node.js中的全局对象有
  • css图片垂直居中对齐
  • Node.js中的全局对象有
  • node怎么用
  • eclipse窗口显示设置
  • js tabs
  • python怎么用数组
  • 权限android.permission.write
  • android studio 运行配置
  • python import ssl
  • 国家税务江苏税务总局官网
  • 宁波市国家税务局网上办税服务厅
  • 普通发票每个月有限制吗
  • 辽宁国税征期日历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设