位置: IT常识 - 正文

【yolov6系列一】深度解析网络架构(yolov5官方)

编辑:rootadmin
【yolov6系列一】深度解析网络架构

推荐整理分享【yolov6系列一】深度解析网络架构(yolov5官方),希望有所帮助,仅作参考,欢迎阅读内容。

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

在yolov5霸屏计算机视觉领域很久时,六月处美团开源了yolov6,并号称在精度和速度上均超越其他同量级的计算机视觉模型,刚刚瞅了一眼,star已经超过2.8k,脑子里莫名冒出一个词:“国货之光”。

网上基于yolov6的解读有很多,文末会附上美团的官方解读和开源代码的github链接。文本开始yolov6系列,先和大家分享下整个yolov6的网络架构(基于tag0.1版本的yolov6s),后续再基于各个模块根据自己的理解分享给大家。

整体框架

大家如需图中ppt使用,请关注公众号,后台回复ppt 添加微信领取

【yolov6系列一】深度解析网络架构(yolov5官方)

以上为yolov6s整体的网络架构,从图中可看出yolov6网络由四个部分组成:input,backbone,neck以及head。对各个部分的功能和yolov5相同,如backbone用于提取特征,head用于预测。

根据上图的架构图走一遍网络流程:先对输入的图片预处理,对齐成640*640大小的RGB图片,输入到backbone网络中,根据backbone网络中的三层输出,在neck层通过Rep-PAN网络继续输出三层不同size大小的feature map(以下简称fm),输入到最后的head层中,对图像检测的三类任务(分类、前后背景分类、边框)预测,输出最后的结果。

backbone

yolov6s的backbone层参见RepVGG网络的backbone[3],如上图所示(s表示stride, o为outchannel, i为inchannel, 其中o=i表示outchannel=inchannel, o≠i表示outchannel与inchannel无相关性,并非其值一定不相等),由若干RepVGG block(以下RepVGG block简称RVB, RepBlock简称RB)组成。 RVB在训练和部署的时候结构不同,在训练的时候由33的卷积添加11的卷积分支,同时如果输入和输出的channel以及h,w的size一致时,再添加一个BN的分支,三个分支相加输出,在部署时,为了方便部署,直接取3*3的主分支卷积输出。 RB为几个RVB的串联,其中第一个RVB用于特征层的size变化,后面N个RVB 用于特征层的融合,size保持不变。 stem为s=2的RVB,同时输入输出的channel不相同,这样stem的RVB变成: 同时ERBlock5中增加SPPF层: 其中SConv是有conv+BN+ReLu组成: 这样SPPF网络则先通过一个SConv层,特征图h,w的size不变,outchannel变成inchannel的一半,输出做为一个分支,而后经过3个maxpooling层,每个maxpooling的kernel=5,s=1,padding=kernel//2, 每经过一个maxpooling后,fm size均不变,并做为分支。而后通过cat将几个分支在channel维度上相加,得到的size较于SPPF的输入,h,w不变,channel为输入的2倍,最后再通过一个SConv层,通道减半,使得输入和输出的fm size不变。

整个backbone层流程为:输入6406403的图片,通过stem层(s=2)输出为32032032,后面接几个ERBlock,每个ERBlock均做特征层的下采样和channel的增大,每个ERBlock由一个RVB和一个RB组成(ERBlock5多加SPPF层),在RVB中做特征层的下采样,同时channel增大,在RB中对特征层充分融合后输出,最后backbone输出三个fm分别为(2020512, 4040128, 808064)。

neck

Neck层美团官方称其为Rep-PAN,是基于PAN的拓扑方法,如上图所示,类似一种“U”型结构,其中U型左侧从上到下fm的h,w增大,右侧从下到上fm的h,w减小,其中Upsample上采样基于torch官方自带的转置卷积实现: 整个neck层的流程为,U型左侧,从ERB5输出2020512的fm,通过SConv 变成2020128大小,上采样后h,w较之前增大一倍后与ERB4的输出在channel层上concate后fm变成404384,通过一个RB(s=1, o≠i)后,输出 404128,重复上述步骤后,输出808064的fm。U型右侧,将808064的fm先SConv下采样,得到404064的fm,与U型左侧h,w一致的fm在channel层上concate后,通过一个RB(s=1, o≠i),输出第二个fm,重复U型右侧以上步骤,输出第三个fm。至此,neck层输出三个fm分别为(2020256, 4040128, 808064).

Head

如上图,head基于三层输出预测,分别对应了大小不同的从大到小的感受野。

其中BConv是由conv+bn+SiLu组成: 整个head借鉴了yolox中的解耦头设计,并对其做了改进,head流程如下:从neck层输出三个分支,对于每个分支,先对输出fm通过BConv层,做fm的特征融合后,分成两个分支一个分支通过BConv+Conv完成分类任务的预测,另外一个分支先通过BConv融合特征后再分成两个分支,一个分支通过Conv完成边框的回归,一个分支通过Conv完成前后背景的分类,至此三个分支再通过concate在channel层上融合,输出未经后处理的预测结果。

结语

以上为个人理解,yolov6s在0.1版本上的整体网络架构,如有理解偏差,欢迎交流,后续根据yolov6中各个模块中的详细的原理以及代码继续更新,希望对大家有帮助。 参考: [1]https://mp.weixin.qq.com/s/RrQCP4pTSwpTmSgvly9evg(美团官方解读) [2] https://github.com/meituan/YOLOv6(美团官方代码) [3] https://zhuanlan.zhihu.com/p/353697121

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

上一篇:三维点云预处理之点云去噪(三维点云识别)

下一篇:基于Pytorch的MNIST手写数字识别实现(含代码+讲解)(基于Pytorch的风格转换)

  • 淘宝推广方法详解,怎么利用QQ群和微信群(淘宝推广方法详细介绍)

    淘宝推广方法详解,怎么利用QQ群和微信群(淘宝推广方法详细介绍)

  • 苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

    苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

  • 华为matebook可以连接光驱吗(华为matebook可以用手机充电器充电吗)

    华为matebook可以连接光驱吗(华为matebook可以用手机充电器充电吗)

  • qq里送礼物有什么用(qq送礼物代表什么意思)

    qq里送礼物有什么用(qq送礼物代表什么意思)

  • 微星迫击炮识别不到m2(微星迫击炮识别不到第二个m2)

    微星迫击炮识别不到m2(微星迫击炮识别不到第二个m2)

  • 苹果6定位不准是啥情况(苹果6定位不准确怎么办)

    苹果6定位不准是啥情况(苹果6定位不准确怎么办)

  • 三星s10美版信号稳定吗(三星s10美版信号不好怎么办)

    三星s10美版信号稳定吗(三星s10美版信号不好怎么办)

  • 摄像头网络断开怎么办(摄像头网络断开怎么连接)

    摄像头网络断开怎么办(摄像头网络断开怎么连接)

  • 已作为垃圾信息送达对方能看到吗(已作为垃圾信息传达什么意思)

    已作为垃圾信息送达对方能看到吗(已作为垃圾信息传达什么意思)

  • 闲鱼跑单是什么意思(咸鱼跑单怎么算)

    闲鱼跑单是什么意思(咸鱼跑单怎么算)

  • seaal10是什么手机(sea一al10是什么手机)

    seaal10是什么手机(sea一al10是什么手机)

  • 手机在线指的是什么(手机在线和在线什么意思)

    手机在线指的是什么(手机在线和在线什么意思)

  • 把视频画面多余的部分剪掉(如何把视频中多余的部分减掉)

    把视频画面多余的部分剪掉(如何把视频中多余的部分减掉)

  • 微信怎么解除手机绑定(微信怎么解除手机号绑定?)

    微信怎么解除手机绑定(微信怎么解除手机号绑定?)

  • 闪电盒子怎么注销掉(闪电盒子永久注销了能恢复吗)

    闪电盒子怎么注销掉(闪电盒子永久注销了能恢复吗)

  • zg270 500钢的数字含义(zg200-400钢牌号的含义)

    zg270 500钢的数字含义(zg200-400钢牌号的含义)

  • 如何查看小米8屏幕材质(如何查看小米8手机电池损耗程度)

    如何查看小米8屏幕材质(如何查看小米8手机电池损耗程度)

  • 苹果8像素是不是很差(苹果8像素是不是很差呀)

    苹果8像素是不是很差(苹果8像素是不是很差呀)

  • 手机丢了资料会泄露吗(手机丢了里面的数据会被别人看到吗)

    手机丢了资料会泄露吗(手机丢了里面的数据会被别人看到吗)

  • 苹果短信前面有个月亮(苹果短信前面有一个月亮是什么意思)

    苹果短信前面有个月亮(苹果短信前面有一个月亮是什么意思)

  • 微博里的视频怎么保存(微博里的视频怎么发到朋友圈)

    微博里的视频怎么保存(微博里的视频怎么发到朋友圈)

  • vivox27怎么对比华为p30(vivox27对标oppo)

    vivox27怎么对比华为p30(vivox27对标oppo)

  • mrp mrp2 erp区别(mrp2和erp的区别)

    mrp mrp2 erp区别(mrp2和erp的区别)

  • 在宝塔面板上搭建WordPress测试网站(宝塔面板在哪)

    在宝塔面板上搭建WordPress测试网站(宝塔面板在哪)

  • PHPCMS 二次开发是什么意思?(phpcms二次开发教程)

    PHPCMS 二次开发是什么意思?(phpcms二次开发教程)

  • 税款减半征收什么意思
  • 货运代理费计入固定资产吗
  • 短期借款现金流
  • 土地使用权价格计算公式
  • 在途物资可以结转成本吗
  • 库存现金存入银行怎么记账
  • 未及时转固
  • 增值税普通发票和普通发票的区别怎么交税
  • 小规模纳税人附加税优惠政策2023
  • 待清算直销银行
  • 增加以前年度收入是否需要更正申报年报
  • 无法划分进项税额包括什么
  • 文件校验有什么用
  • 公司收到个人的款怎么做账务处理
  • 在win7系统中文件属性有哪些
  • php中数组的概念
  • php验证码代码怎么写
  • PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
  • 高新企业认定后研发费用比例
  • mrmactl.exe
  • 所有者权益会计科目借贷方向
  • 现金折扣的会计处理方法
  • 股份有限公司向股东借款
  • 冲回以前年度计提的坏账准备
  • 增值税留抵退税账务处理
  • linux网络接口状态命令
  • 夫妻房子归属权问题
  • thinkphp获取数据库数据
  • 郁金香地图
  • 增值税发票怎么抵税
  • 前端跨域解决方案设计
  • cuppath
  • wordpress修改数据库
  • 现金零星支出大还是小
  • 大型广告牌制作材料
  • 公司逾期交税,后期补上有何后果
  • react context优化四重奏教程示例
  • 发票未到已付款怎么入账
  • 个体经营所得税核定征收2023税率
  • sql语句中单引号是什么
  • db2 linux
  • persona工具
  • 其他货币资金期末有余额吗
  • 个体户季报要抄税吗
  • sql共享
  • 公对公打款发票
  • 什么叫做增值税的新增价值呢
  • 因员工过失造成的工伤用不用赔
  • 收到退留抵税额会计分录
  • 承兑汇票兑现账户是什么
  • 结账后发现期间损益结转的凭证做错
  • 行政单位固定资产标准
  • 工资完税证明怎么开
  • 发票丢失如何处理入账
  • 个体工商户如何给员工交五险一金
  • 微信昵称带符号图案
  • 如何查看windows2008修改密码日志
  • win2003设置网络共享
  • centos怎么执行脚本
  • 笔记本出厂预装系统
  • 每天一条linux命令
  • 电脑任务栏中没有网络图标
  • win10打开或关闭功能在哪里
  • xp系统1
  • igfxem是什么软件
  • win8删除文件不提示
  • cocos2d::DrawPrimitives和DrawNode分别实现画板功能
  • unity开发的小游戏
  • windows pytorch
  • unity区域光怎么做
  • js如何使用
  • javascript语言入门教程
  • android存储方式
  • 润泽一词出自哪里
  • 怎样理解句子我还没弄清楚是怎么回事
  • 消费税申报流程图
  • 国税发票如何查真伪查询
  • 我国现行税率分
  • 从国外买东西回来卖
  • 新旧鞋号码对比图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设