| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Yolov7:Trainable bag-of-freebies sets new state-of-the-art for real-time objectdetectors -> 正文阅读 |
|
[人工智能]Yolov7:Trainable bag-of-freebies sets new state-of-the-art for real-time objectdetectors |
原文地址:https://arxiv.org/pdf/2207.02696v1.pdf 阅读本文前默认已熟悉yolov7之前已出的相关版本比如v1-v6、yolox、ppyoloe等 题外话:最近,Yolov7算是引起了一个小轰动。实际上会搜到yolov7在github上有俩个(担心多年的重名问题终于还是出现了),一个star少的但是更早发布的更像是一个框架,也没有对应paper(作者在github上也回应了取名争议,他取名更早,而且v7是因为幸运数字是7,不是版本号)。这篇文章主要是对应star多的更晚的那篇!就在此前几天,美团提出的yolov6(2022年6月底)我简单看了一下,大概就是在yolov5的基础上结合了yolox的anchor-free以及解耦检测头的改进,实际上我觉得没有什么新意(因此好像也不太被业界认可),但是这个yolov7的影响力好像还是挺大的,就如其作者在arxiv文中说的“ 目录 4.2?辅助训练模块:coarse-to-fine(由粗到细)引导标签分配策略 一、介绍????????在本文中,我们提出的实时目标检测器主要希望它能够同时支持移动GPU和从边缘到云端的GPU设备。也指明了yolov7的竞争领域是“实时”目标检测,一定要快! ????????针对目前目标检测的两个重点:1、模型重新参数化;2、动态标签分配问题。yolov7设计了一些有效方法来解决。比如提出了计划重新参数化模型(planned re-parameterized model)以及从粗到细的引导标签分配(coarse-to-fine lead guided label assignment)。 ? ? ? ? 最终总结yolov7的贡献:(1)设计了几种可供训练的Bag of Freebies(免费包,指的是那些不增加模型复杂度,也不增加推理的计算量的训练方法技巧,来提高模型的准确度) (2)发现目标检测发展到此的俩个新问题:1、模型重新参数化;2、动态标签分配问题。并且设计了一些方法对策 (3)我们提出了实时目标检测器的“扩展”和“复合缩放”方法,可以有效地利用参数和计算。 (4)减少了参数量、计算量(更快),提高了推理速度和精度 二、相关工作2.1 实时目标检测? ? ? ? 先介绍了当前最先进的实时目标检测器主要是yolo系列和FCOS系列。也提出了要成为最先进的实时目标检测器,优点或者说改进方向有几个:1、更快更强的网络结构;2、更有效的特征集成方法(FPN这种);3、更精确的检测方法;4、更有效的标签分配方法;5、更有效的训练方法;6、更鲁棒(稳健)的损失函数 ? ? ? ? 作者提出,针对上述4、5、6方向,设计了新的Bag of Freebies 2.2? 模型重新参数化????????模型重新参数化技术在推理阶段将多个计算模块合并为一个。模型再参数化技术可以看作是一种集成技术,我们可以将其分为两类,即模块级集成和模型级集成。为了获得最终的推理模型,模型级重新参数化有两种常见做法。一种是用不同的训练数据训练多个相同的模型,然后平均多个训练模型的权重。另一种是对不同迭代次数下的模型权重进行加权平均。这几年比较热门的是模块级集成方法。这种方法在训练期间将一个模块拆分为多个相同或不同的模块分支,并在推理期间将多个分支模块集成为完全等效的模块。然而,并不是所有提出的重新参数化模块都可以完美地应用于不同的体系结构。因此,我们开发了新的重新参数化模块,并为各种架构设计了相关的应用策略。 2.3 模型缩放????????模型缩放是一种放大或缩小已设计模型并使其适合不同计算设备的方法。模型缩放方法通常使用不同的缩放因子,例如分辨率(输入图像的大小)、深度(层数)、宽度(通道数)和阶段(特征金字塔数),以便在网络参数量、计算、推理速度和精度方面实现良好的权衡。由于提出的yolov7架构是基于级联的,因此我们为该模型设计了一种新的复合缩放方法。 三、网络结构3.1?扩展的高效层聚合网络? ? ? ? yolov7提出的E-ELAN(最右),采用expand、shuffle、merge cardinality结构,实现在不破坏原始梯度传输路径的情况下,提高网络的学习能力。在体系结构方面,E-ELAN只改变了计算模块中的结构,而过渡层的结构则完全不变。作者的策略是利用分组卷积来扩展计算模块的通道和基数,将相同的group parameter和channel multiplier用于计算每一层中的所有模块。然后,将每个模块计算出的特征图根据设置的分组数G打乱成G组,最后将它们连接在一起。此时,每一组特征图中的通道数将与原始体系结构中的通道数相同。最后,作者添加了G组特征来merge,可以引导不同组的计算块学习更多样化的特征。 3.2 基于级联(concatenate)的模型缩放? ? ? ? 通常对于基于级联的模型执行深度缩放,会导致计算块的输出宽度也增加(a到b),因此提出了(c),即在对基于concatenation的模型进行模型缩放时,只需要对计算块中的深度进行缩放,其余过渡传输层进行相应的宽度缩放。保持模型在初始设计时的特性并保持最佳结构。 四、训练方法(tricks)4.1?计划的重新参数化卷积????????Planned re-parameterized convolution(RepConv)已经在VGG上取得了优异的性能,但当将它直接应用于 4.2?辅助训练模块:coarse-to-fine(由粗到细)引导标签分配策略?????????这部分比较难理解。作者介绍了一种“深度监督”的优化方法。对于一般的模型(a)而言,这种算法在中间层添加了辅助训练的额外的辅助头( ????????过去,在深度网络的训练中,标签分配通常直接指ground truth,并根据给定的规则生成硬标签。然而,近年来,如果以目标检测为例,研究者经常利用网络预测输出的质量和分布,然后结合GT考虑,使用一些计算和优化方法来生成可靠的软标签。例如,YOLO使用边界框回归预测和ground truth的IoU作为客观性的软标签。在本文中,将网络预测结果与GT一起考虑,然后将软标签分配的问题。 ? ? ? ? 于是作者发现一个问题:“如何将软标签分配给? ????????YOLOV7算法中提出了利用引导头的预测结果作为指导,生成从粗到细的层次标签,将这些层次标签分别用于辅助头和引导头的学习,如图(d)和(e)所示。这样做的原因是 4.3 其他tricks(1)? (2) 隐性知识在 (3)? 五、实验部分直接上一些对比表和图 总结?? ? ? ? yolov7算是目前比较火的一个热点,相对于当前最火的目标检测算法而言,主要优点在速度上很快,可能精度并不是最高的。相对于yolo其他系列而言,创新点基本是一个扩展的高效层聚合网络、基于concatenate模型的模型缩放、重新设计的Re-parameterized convolution、带辅助头的从粗到细的标签匹配等。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 8:54:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |