YOLOv7 上线:无需预训练,5-160 FPS 内超越所有目标检测器

YOLOv7 上线:无需预训练,5-160 FPS 内超越所有目标检测器,第1张

YOLOv7 上线:无需预训练,5-160 FPS 内超越所有目标检测器

机器心脏报告

编辑:船,泽南

在5-160 FPS范围内,速度和精度超过所有已知的目标探测器。

YOLOv6推出不到两周,提出YOLOv4的团队发布了更新的版本。

本周三,YOLOv7的论文提交给了预印论文平台arXiv,其三位作者简-王尧、阿列克谢·博奇科夫斯基(Alexey Bochkovskiy)和洪源马克·廖(Hong-Yuan Mark Liao)是YOLOv4的原始船员。

论文链接:https://arxiv.org/abs/2207.02696

GitHub链接:https://github.com/WongKinYiu/yolov7

在5 FPS到160 FPS范围内,YOLOv7的速度和精度超过了所有已知的目标检测器,在GPU V100上达到了30 FPS实时目标检测器56.8% AP的最高精度。YOLOv7在MS COCO数据集上从头开始训练,不使用任何其他数据集或预训练权重。

与其他类型的工具相比,YOLOv7-E6目标检测器(56 FPS V100,55.9% AP)比基于transformer的检测器Swinl Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)快509%,准确2%。与基于卷积的检测器conv next-XL cascade-maskr-CNN(8.6 fps a100,55.2% AP)相比,速度高551%,精度高0.7%。

此外,YOLOv7在速度和精度上的表现优于YOLOR、YOLOX、Scaled-YOLOv4、YOLOv5、DETR等目标探测器。

yolov 7技术介绍

近年来,针对不同边缘设备的实时目标检测器仍在开发中。比如MCUNet和NanoDet的开发,重点是生产低功耗的单芯片,提高边缘CPU的推理速度;YOLOX、YOLOR等方法侧重于提高各种GPU的推理速度;实时目标检测器的开发重点在于高效架构的设计;在CPU上使用的实时目标检测器的设计主要基于MobileNet、ShuffleNet或GhostNet;为GPU开发的实时目标检测器大多使用ResNet、DarkNet或DLA,并使用CSPNet策略优化架构。

YOLOv7的发展方向不同于目前主流的实时目标探测器。研究团队希望它能同时支持从边缘到云端的移动GPU和GPU设备。除了架构优化,本研究提出的方法还侧重于培训过程的优化,重点是一些优化模块和优化方法。这可能会增加训练成本来提高目标检测的准确性,但不会增加推理成本。研究人员提出的模块和优化方法被称为可训练的“免费赠品包”。

对于模型的重新参数化,本研究利用梯度传播路径的概念分析了适用于不同网络层的模型重新参数化策略,并提出了一个有计划的重新参数化模型。此外,研究人员发现,当使用动态标签分配技术时,具有多个输出层的模型会在训练中产生新的问题:“如何将动态目标分配给不同分支的输出?为了解决这一问题,研究者提出了一种新的标签分配方法,即由粗到细的引导式标签分配。

本研究的主要贡献包括:

(1)设计了几种可训练的赠品袋方法,使得实时目标检测可以在不增加推理成本的情况下大大提高检测精度;

(2)对于对象检测方法的演化,研究者发现了两个新的问题:一是如何用重新参数化的模块替换原模块,二是如何处理动态标签分配策略将标签分配到不同输出层的问题,并对这两个问题提出了解决方案;

(3)提出了实时目标检测器的“扩展”和“复合尺度”方法,有效地利用了参数和计算量;

(4)该方法能有效减少SOTA实时目标检测器约40%的参数和50%的计算量,具有更快的推理速度和更高的检测精度。

在大多数关于设计高效体系结构的文献中,人们主要考虑参数个数、计算量和计算密度。下图2(b)中的CSPVoVNet设计是VoVNet的变体。CSPVoVNet的架构对梯度路径进行分析,使得不同层的权重可以学习到更多不同的特征,使推理更快更准确。图2 (c)中的ELAN考虑的是“如何设计一个高效的网络”的问题。

YOLOv7研究团队提出了基于ELAN的扩展e-ELAN,其主要架构如图2(d)所示。

新E-ELAN完全不改变原有架构的梯度传输路径,其中采用群卷积来增加添加特征的基数,不同组的特征以洗牌合并基数的方式组合。这种操作方式可以增强从不同特征图中学习到的特征,提高参数的使用和计算效率。

无论梯度路径的长度,还是大规模ELAN中计算块的堆叠数量,都达到了一个稳定的状态。如果无限堆叠更多的计算块,这种稳定状态可能会被破坏,参数的利用率会降低。新的E-ELAN使用扩展、洗牌和合并基数,在不破坏原有梯度路径的情况下,不断增强网络的学习能力。

架构方面,E-ELAN只是改变了计算块的架构,过渡层的架构完全没有改变。YOLOv7的策略是利用群卷积来扩展计算块的通道和基数。研究人员将对计算层的所有计算模块应用相同的组参数和通道乘数。然后将每个计算块计算出的特征图按照设定的组参数G加扰成G组,然后将它们连接在一起。此时,每组特征图中的通道数将与原架构中的通道数相同。最后,该方法添加G组特征图来执行合并基数。除了保持原有的ELAN设计架构,E-ELAN还可以引导不同组的计算块学习更多样的特性。

如果将这些方法应用到基于连接的架构中,我们会发现,当深度放大或缩小时,基于连接的计算块后面的过渡层的渗透会减小或增大,如下图3(a)和(b)所示。

所以,对于基于串联的模型,不能单独分析不同的展开因子,必须综合考虑。本研究提出了图3(c ),即在扩展基于级联的模型时,只需要扩展计算块中的深度,其余的传输层都需要相应扩展。这种复合扩展方法可以保持模型在初始设计时的特性和最优结构。

此外,本研究使用梯度流传播路径来分析如何重新参数化卷积以结合不同的网络。下图4显示了本研究中为PlainNet和ResNet设计的“计划的重新参数化卷积”。

就标签分配策略而言,下图5 (a)和(b)分别显示了“无”和“有”深度监督的目标检测器架构。研究人员称负责最终输出的头为前导头,用于辅助训练的头为辅助头。本研究提出的两种深度监督标签分配策略分别如图5 (d)和图5 (e)所示。

不同于通常的独立标签分配器(图5 (c)),本研究所提出的标签分配器通过lead head预测和现场情况进行优化,从而同时获得用于训练lead head和辅助head的标签。

我们具体来看一下YOLOv7与其他目标检测模型的性能对比。

表1。与基线目标探测器的比较。

将作者提出的新方法与通用SOTA目标检测器和移动GPU进行了比较,详细结果如下表2所示。

如果以1280的输入分辨率对比YOLOv7和YOLOR,YOLOv7-W6的推理速度比YOLOR-P6快8 fps,检测率也提高了1% AP。与YOLOv7-E6和YOLOv5-X6(r6.1)相比,前者的AP增益高0.9%,参数少45%,计算量少63%,推理速度快47%。YOV7-D6推理速度接近YOLOR-E6,但AP提高0.8%。YOLOv7-E6E推理速度接近YOLOR-D6,但AP提高0.3%。

感兴趣的读者可以阅读原文,了解更多的研究细节。

剧终

授权请联系本微信官方账号。

投稿或寻求报道:[email protected]

欢迎分享,转载请注明来源:聚客百科

原文地址: http://juke.outofmemory.cn/life/1745214.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存