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

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

  • 车辆购置税的纳税义务发生时间为
  • 住宿普通发票怎么做账
  • 现金回收期计算公式
  • 无票收入需要缴纳所得税吗
  • 福利费是计提还是结转
  • 什么时候用以前年度损益调整什么时候用年初未分配利润
  • 银行结息计入什么费用
  • 买车的报税联是什么作用
  • 贸易公司发票怎么平衡
  • 现房销售土增税怎么缴纳
  • 抵缴以前年度多缴所得税如何做会计分录?
  • 事业单位自筹事业人员
  • 股票发行的会计分录
  • 公司汽车装潢和保养做什么会计科目
  • 营改增建筑业税率是多少
  • 小规模增值税多少个点
  • 个人房产税怎么计算
  • 停车场增加收入
  • 增值税电子发票有限额吗
  • 自己从自己公司直接拿钱是犯罪吗知乎
  • 以前年度少计收入怎么办
  • 房地产企业售房印花税
  • 公司与客户合作协议范本
  • 主板类型大全
  • 文件过滤什么意思
  • 电脑耳机插上还是外放,重启就可以
  • mac的快捷键在哪
  • php text
  • 增值税如何在报表里填写
  • 外籍人员一次性奖金
  • 增值税发票开错了可以退吗
  • 仓鼠模拟器3d无限金币中文
  • php的什么函数可以判断变量是否存在
  • 再就业优惠怎么办理
  • 个税零申报流程视频教程
  • 其他经营收益怎么算
  • springboot用法
  • 创建数据的命令是
  • spring boot怎么学
  • 所有进项增值税怎么申报
  • 固定资产出售算不算收入
  • php的默认网站目录是
  • 固定什么意思
  • 往来对账的作用
  • 购买礼品送客户取得普票怎么做账
  • 可抵扣进项税的普通发票
  • 运输公司汽车折旧能直接进主营成本吗
  • 价外费用中的返利是什么
  • 红字发票如何做账
  • 转出未交增值税和未交增值税区别
  • 期间费用怎么区分
  • 电商企业银行账户是什么
  • 电商公司不用交税吗
  • 公司资产业务
  • 注册资金凭证怎么做
  • sqlserver sql日志
  • sql server如何打开mdf格式文件
  • 英文版的windows
  • 苹果电脑dock栏不见了
  • mac自带系统检测软件怎么用
  • windows 10的应用商店中的应用
  • linux中修改命令
  • win7一直出广告
  • liunx改时间命令
  • javascript如何调用
  • Android笔记本
  • linux命令行命令
  • shell入门
  • shell 正则表达式 *什么意思
  • JavaScript中的NaN代表什么
  • Unity3D之Vector3.Dot和Vector3.Cross的使用
  • jquery移动版
  • jquery 选择器 空格
  • js测试工具
  • [置顶]bilinovel
  • android开源app
  • 用python写脚本
  • 甘肃国家税务总局
  • 云阅卷平台登录入口云南省
  • 企业税收筹划中的涉税风险及其防范
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设