位置: 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的风格转换)

  • 个税手续费返还会计分录
  • 转登记纳税人按规定再次登记为一般纳税人后
  • 税务局开专票作废重开流程
  • 老板的报销分录怎么写
  • 借款利息如何计算政策依据
  • 计提坏账准备的做法体现了
  • 单位当月未扣社保怎么处理分录?
  • 公司有残疾人如何进行增值税减免备案
  • 纳税申报表上的二维码有什么用?
  • 固定资产明细账需要每年更换吗
  • 农产品普通发票抵扣政策
  • 补交以前年度增值税的科目处理
  • 在不同单位拿的工资怎么计税?
  • 企业所得税营业税金及附加
  • 公司怎么申请开票资格?
  • 专业合作社的业务范围
  • 附加税的计提基数怎么算
  • 企业接受固定资产投资
  • 专项维修基金和契税有什么区别
  • 个税贷方余额比实际金额多
  • 业务招待费进项税额转出
  • 购买原材料暂估入账的会计分录
  • 机关党建经费提取比例
  • 侵权行为 法律行为
  • mac桌面的文件夹怎么换到别的地方
  • win切换平板模式
  • win11新功能
  • php数组函数 菜鸟
  • 黄金的伴生石
  • 基础知识讲解
  • 新会计准则开办费如何做账务处理
  • 微信公众号模板软件
  • vue设置元素不可点击
  • 网站top排行榜
  • 企业转租电费发票
  • 劳动仲裁要出钱吗
  • 一般纳税人好不好
  • 微信平台的收入从哪里来
  • 一般纳税人之间转让土地使用权交哪些税金
  • sqlserver2000分页
  • 金税四期是什么意思
  • 一般纳税人租赁费税率5%是简易征收吗?
  • 当月减少的固定资产为什么计提折旧
  • 小规模纳税人结转增值税的账务处理
  • 加油站充值套路
  • 冲减当期利润
  • 产品检验费怎样计算
  • 发票未到成本如何做分录
  • 六大类科目的借贷口诀余额怎么填
  • 汇算清缴调增的工资怎么做账
  • 辅导期一般纳税人标准
  • 租赁出租人分录
  • mysql中数据表的关联关系有哪三种?
  • mysql字符集的作用
  • win10预览版21390
  • 电脑开机显示xp后无反应
  • fedora win10
  • redhat linux6.5安装教程
  • 手动GHOST安装系统方法教程图解
  • mac怎么卸载第三方软件
  • linux AS3 oracle9i 安装指南
  • ubuntu命令行查找文件
  • linux nyy
  • win1021年更新
  • windows8启动管理器
  • muamgr.exe - muamgr是什么进程 有何作用
  • win7免费升级永久win8
  • 屏幕适配android常用方法
  • text date excel
  • node.js cookie-parser之parser.js
  • jquery validator
  • 用什么命令查看linux启动信息
  • Express + Session 实现登录验证功能
  • jquery树形菜单
  • javascript中checkbox使用方法简单实例演示
  • 酒吧要交国税还是省税
  • 稽查局是税务局的派出机构还是内设机构
  • 1992年2月20号是什么
  • 工会经费收支办法2022新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设