热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

理解yolov6网络结构(yolov5训练目标检测模型)

本文主要介绍关于人工智能,深度学习,计算机视觉的知识点,对理解yolov6网络结构和yolov5训练目标检测模型有兴趣的朋友可以看下由【athrunsunny】投稿的技术文章,希望该技术和经验能帮到你

本文主要介绍关于人工智能,深度学习,计算机视觉的知识点,对理解yolov6网络结构和yolov5训练目标检测模型有兴趣的朋友可以看下由【athrunsunny】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的深度学习笔记相关技术问题。

yolov5训练目标检测模型

 先上一张yolov6的网络架构

图片来源于网络 

BACKBONE

yolov6使用了repVGG作为backbone

        如果不了解repVGG的可以看原文

论文地址https://arxiv.org/pdf/2101.03697.pdf

        这里简单过一下,repVGG其核心思想是:通过结构重参数化思想,让训练网络的多路结构转换为推理网络的单路结构,结构中均为3x3的卷积核,同时,计算库(如CuDNN,Intel MKL)和硬件针对3x3卷积有深度的优化,最终可以使网络有着高效的推理速率。

        其中

1、多路结构在模型训练时具有性能高的优势

2、推理时转化为单路结构具有速度快省内存的好处

        由于多路结构在不同的分支应用不同大小的卷积核,能够获得不同的感受野,从而能够获得更高的性能,但是在计算过程中需要保存中间结果,显存占用量会增大,只有多路融合时,显存才会降低,显存占用增加推理速度就会受到一定的影响。为了提高网络的性能,产生了一些性能优异的网络组件,如深度可分离卷积,分组卷积等,对于可分离卷积,虽然能降低FLOPs,但是内存访问成本增大,这也导致推理速度变慢。

        为了权衡性能和效率,repVGG使用重参数化思想,在训练时使用多分支结构提升网络性能,在推理时,将网络变为单路结构。

        在论文中作者有给出3x3卷积和其他尺寸卷积的效率对比

        3x3卷积的计算密度(理论运算量(Theoretical FLOPs ÷ Time usage)除以所用时间)可达1x1和5x5卷积的4倍;

        另外 VGG是一个直筒型单路结构,单路结构会占有更少的内存,因为不需要保存其中间结果,同时,单路架构非常快,因为并行度高;

        最后多分支结构会引入网络结构的约束,比如Resnet的残差结构要求输入和卷积出来的张量维度要一致,这种约束导致网络不易延伸拓展,也一定程度限制了通道剪枝,同时仅有3x3的卷积方便加速芯片的设计从而提高效率。

        repVGG的结构如下:

        可以看出,在原始VGG基础上,引入残差分支和1x1卷积分支,为了后续重参数化成单路结构,这里调整了分支放置的位置,没有进行跨层连接,repVGG论文中的试验也证明了残差分支和conv_1x1均能对网络性能起到提升作用。

其中有两个比较重要的操作

        1、卷积层和BN层的合并:

BN层的计算公式:

合并后:

         2、卷积层的合并:

        能看到这的相信对卷积这个概念比较熟了,repVGG中的3x3的卷积就不多说了,其中1x1的卷积可以类比于3x3的卷积,在卷积核周围使用全0进行padding,在对输入中的相应位置计算卷积结果。indentity可以看成是特殊的1x1卷积,相当于对应通道上的卷积核参数为1,其余卷积核的参数为0,再对其进行padding,得到3x3的卷积。        

        通过以上的合并,可以大大提升网络的推理速度 

NECK

        在 Neck 设计方面,为了让其在硬件上推理更加高效,以达到更好的精度与速度的平衡,美团提出了Rep-PAN ,Rep-PAN基于 PAN拓扑方式,用 RepBlock 替换了 YOLOv5 中使用的 CSP-Block,同时对整体 Neck 中的算子进行了调整,目的是在硬件上达到高效推理的同时,保持较好的多尺度特征融合能力

 注意:这里的C5对应最顶端流程图SPPF

        为了方便直接用了美团给的neck结构图,C5输出20*20*512大小的特征图,通过1*1卷积后变成20*20*128的大小,上采样成40*40*128后与C4 concat成40*40*384的大小,C4经过repblock和1*1卷积得到40*40*128的特征图,上采样后concat成80*80*192的特征图。最后经过右边的repblock和3*3卷积输出P3,P4,P5(大小分别为80*80*64,40*40*128,20*20*256)。

HEAD

        head分别对应了p3,p4,p5三层输出进行预测 ,借鉴了YOLOX的解耦头设计,并进行了改进,每个分支上先对特征图进行卷积,做特征图的特征融合,之后分成两个分支,一个通过两个卷积完成分类任务,另一个卷积后再分成两个分支,一个卷积完成前背景的分类,另一个卷积完成边界框的回归,最后再通过concat在channel层上融合,输出预测结果,该结果需要进行后处理得到最终结果。

本文《理解yolov6网络结构》版权归athrunsunny所有,引用理解yolov6网络结构需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文探讨了当前技术发展趋势,特别是大数据和人工智能如何推动工业互联网的发展。文章分析了全球主要国家在工业互联网领域的进展,并展望了未来工业互联网技术的发展方向。 ... [详细]
  • 多智能体深度强化学习中的分布式奖励估计
    本文探讨了在多智能体系统中应用分布式奖励估计技术,以解决由于环境和代理互动引起的奖励不确定性问题。通过设计多动作分支奖励估计和策略加权奖励聚合方法,本研究旨在提高多智能体强化学习(MARL)的有效性和稳定性。 ... [详细]
  • 阿里飞猪旅行搜索技术的革新与实践
    本文由林睿(阿里飞猪)分享,经杜正海、Hoh编辑整理,并由DataFunTalk平台发布。文章探讨了旅行搜索技术从满足基本需求到集成高级功能的发展历程,特别是在阿里飞猪平台上的应用与创新。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 浪潮AI服务器NF5488A5在MLPerf基准测试中刷新多项纪录
    近日,国际权威AI基准测试平台MLPerf发布了最新的推理测试结果,浪潮AI服务器NF5488A5在此次测试中创造了18项性能纪录,显著提升了数据中心AI推理性能。 ... [详细]
  • 本文介绍了如何在VB.NET版机房收费系统中实现数据从DataGridView导出至Excel的功能,包括环境配置、代码实现及常见问题解决方法。 ... [详细]
  • 随着5G、云计算、人工智能、大数据等新技术的广泛应用,人们的生活生产方式发生了深刻变化。从人际互联到万物互联,数据存储与处理需求激增,推动了数据与算力设施的发展。 ... [详细]
  • 本文详细介绍了 TensorFlow 的入门实践,特别是使用 MNIST 数据集进行数字识别的项目。文章首先解析了项目文件结构,并解释了各部分的作用,随后逐步讲解了如何通过 TensorFlow 实现基本的神经网络模型。 ... [详细]
author-avatar
毛毛-刘庆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有