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

  • 小规模缴纳增值税
  • 土地使用税计入税金及附加吗
  • 一般纳税人增值税优惠政策2023
  • 怎么计提固定资产折旧科目
  • 携程代订住宿发票能作为差旅费报销吗
  • 企业所得税季度预缴怎么计算
  • ibps对公提回贷记分录
  • 个税全员全额扣缴申报指什么
  • 0税率开票如何做账
  • 村集体土地出租公示
  • 税盘服务费抵税怎么做分录
  • 销售毛利率算法
  • 开票有误的具体
  • 住房公积金个人和单位各承担多少
  • 可抵扣农产品进项税额吗
  • 高新企业研发费用归集
  • 固定资产转为投资性房地产折旧
  • 房地产并购的税率是多少
  • 取得土地无形资产的条件
  • 企业所得税怎么做
  • 增值税专用发票电子版
  • 营改增之前
  • 机械租赁费如何开
  • 预收账款可以开票吗
  • 当月不抵扣的增值税发票在发票勾选时怎么操作
  • 资本的不同形态
  • 债券分期还本利息怎么算
  • 出口关税的完税条件
  • 所得税费用会计编码是什么
  • 收到员工水电费怎么做账
  • 自产自销的茶叶要交增值税吗
  • 收到老板图片
  • php随机ua
  • wordpress怎么上传网站
  • 网线超五类好还是六类好
  • php调用soap
  • php加入图片代码
  • php imagettftext
  • 计划成本核算的账务处理
  • 信用减值损失会影响所有者权益吗
  • ros机器人自主导航中膨胀地图图层的颜色
  • 发票勾选平台进入后没有什么内容
  • 国家给农民的青春有哪些
  • 根据不同资产涉及的税有哪些
  • 非流动资产处置计入什么科目
  • 帝国cms如何调用网络
  • 车间用的液化气计入什么科目
  • 国内源码平台
  • 季中转一般纳税人申报了小规模后无法勾选认证
  • 接受捐赠按什么价值入账
  • 开办费计入什么科盿
  • 装修公司让客户承担税费是否合理
  • 餐饮会计怎么做账
  • 加油预付卡销售 IC卡充值
  • 每个月计提工资没有发怎么办
  • 维修费收入怎么结转销售成本
  • 上月有留底税额时本月缴纳税款时怎么做分录
  • 所得税费用为什么不计入营业利润
  • 存货期末计量按什么分类
  • 国税地税合并的时间
  • 内账咋做
  • mysql详细介绍
  • mysql5.7.27安装
  • win8系统版本
  • win10用浏览器
  • linux如何列出所有用户
  • win10快速隐藏窗口
  • win7怎么开不了机
  • windows7打不了字怎么办
  • react组件写法
  • Unity3D游戏开发pdf
  • nodejs mock
  • Android Toast设置弹窗大小
  • 安卓手机怎么导入地图
  • 基于python的系统
  • jquery validator
  • js中!
  • python面向对象编程心得体会
  • 陕西电子税务局新版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设