[论文阅读]RTMDet——实时目标检测

这篇具有很好参考价值的文章主要介绍了[论文阅读]RTMDet——实时目标检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RTMDet

RTMDet: An Empirical Study of Designing Real-Time Object Detectors
设计实时目标检测器的实证研究
论文网址:RTMDet
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络

摘要

本文的目标是设计一种超越 YOLO 系列的高效实时目标检测器,并且可以轻松扩展到实例分割和旋转目标检测等许多目标识别任务。为了获得更高效的模型架构,本文探索了一种在主干和颈部具有兼容能力的架构,该架构由大内核深度卷积组成的基本构建块组成。在动态标签分配中计算匹配成本时进一步引入软标签以提高准确性。再加上更好的训练技术,最终的目标检测器(名为 RTMDet)在 NVIDIA 3090 GPU 上以 300+ FPS 的速度在 COCO 上实现了 52.8% 的 AP,优于当前主流的工业检测器。 RTMDet 针对各种应用场景实现了tiny/small/medium/large/extra-large模型尺寸的最佳参数精度权衡,并在实时实例分割和旋转对象检测方面获得了最先进的性能。

引言

最佳效率始终是物体检测的首要追求,特别是对于自动驾驶、机器人和无人机的现实世界感知而言。为了实现这一目标,YOLO系列探索不同的模型架构和训练技术,以不断提高单级目标检测器的准确性和效率。
本报告的目标是突破 YOLO 系列的极限,并贡献一个新的目标检测实时模型系列,名为 RTMDet,它还能够进行以前的工作尚未探索的实例分割和旋转对象检测。吸引人的改进主要来自于大内核深度卷积的更好表示以及动态标签分配中软标签的更好优化。
具体来说,首先在模型的主干和颈部的基本构建块中利用大内核深度卷积,这提高了模型捕获全局上下文的能力。由于直接将深度卷积放在构建块中会增加模型深度从而减慢推理速度,因此进一步减少构建块的数量以减少模型深度并通过增加模型宽度来补偿模型容量。本文还观察到,在颈部放置更多参数并使其容量与主干兼容可以实现更好的速度精度权衡。模型架构的整体修改允许 RTMDet 的快速推理速度,而不依赖于模型重新参数化 [Yolov6, Yolov7, PP-YOLOE]。
本文进一步重新审视训练策略以提高模型的准确性。除了更好地结合数据增强、优化和训练计划之外,本文凭经验发现,在匹配地面真值框和模型预测时,通过引入软目标而不是硬标签,可以进一步改进现有的动态标签分配策略[TOOD, YOLOX] 。这样的设计提高了成本矩阵的辨别力以实现高质量匹配,同时也降低了标签分配的噪声,从而提高了模型的准确性。
RTMDet 是通用的,只需很少的修改就可以轻松扩展到实例分割和旋转对象检测。通过简单地添加内核和掩码特征生成头[ Sparse instance activation for real-time instance segmentation-2022, Conditional convolutions for instance segmentation-2020],RTMDet 仅需大约 10% 的额外参数即可执行实例分割。对于旋转物体检测,RTMDet 只需要扩展框回归层的维度(从 4 到 5)并切换到旋转框解码器。本文还观察到,对通用目标检测数据集 [Microsoft COCO] 的预训练有利于空中场景中的旋转目标检测 [Dota]。

相关工作

Efficient neural architecture for object detection. 对象检测旨在识别和定位场景中的对象。对于实时应用,现有的工作主要探索基于锚点的或无锚点的单级检测器,而不是两级检测器。为了提高模型效率,通过手工设计或神经架构探索高效的骨干网络和模型缩放策略以及多尺度特征的增强。最近的进展还探索了模型架构搜索以提高模型部署后的推理速度。本文贡献了一种在骨干和颈部具有兼容容量的整体架构,该架构由具有大内核深度卷积的新基本构建块构建,以实现更高效的目标检测器。
Label assignment for object detection. 改进目标检测器的另一个维度是标签分配和训练损失的设计。先前方法 [Cascade R-CNN, Focal loss for dense object detection, SSD, Faster R-CNN] 使用 IoU 作为匹配标准,将真实框与标签分配中的模型预测或锚点进行比较。后来的实践[Probabilistic anchor assignment with iou prediction for object detection, FCOS, Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection, Objects as points]进一步探索了不同的匹配标准,例如对象中心[FCOS, Objects as points]。还探索了辅助检测头 [NanoDet-Plus, Yolov7] 以加速和稳定训练。受匈牙利分配法端到端对象检测[End-to-end object detection with transformers.]的启发,动态标签分配被探索以显着提高收敛速度和模型精度。与这些使用与损失完全相同的匹配成本函数的策略不同,本文建议在计算匹配成本时使用软标签,以扩大高质量匹配和低质量匹配之间的区别,从而稳定训练并加速收敛。

Methodology

本文构建了一个新的对象检测实时模型系列,名为 RTMDet。 RTMDet 的宏观架构是典型的单级目标检测器。通过探索主干和颈部基本构建块中的大核卷积来提高模型效率,并相应地平衡模型深度、宽度和分辨率。进一步探索动态标签分配策略中的软标签以及数据增强和优化策略的更好组合以提高模型准确性。 RTMDet 是一个多功能的对象识别框架,只需少量修改即可扩展到实例分割和旋转对象检测任务。
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络

宏观架构

本文将一级目标检测器的宏观架构分解为骨干、颈部和头部,如上图所示。YOLO 系列 [yolov4, yolox] 的最新进展通常采用 CSPDarkNet 作为主干架构,这包含四个阶段,每个阶段都由几个基本构建块堆叠而成(图 a)。颈部从主干中获取多尺度特征金字塔,并使用与主干相同的基本构建块,通过自下而上和自上而下的特征传播来增强金字塔特征图。最后,检测头根据每个尺度的特征图预测对象边界框及其类别。这种架构通常适用于一般和旋转的对象,并且可以扩展。
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
为了充分发挥宏架构的潜力,本文首先研究更强大的基本构建模块。然后将研究架构中的计算瓶颈,并平衡主干和颈部的深度、宽度和分辨率。

模型架构

Basic building block. 骨干中的大有效感受野有利于密集预测任务,如对象检测和分割,因为它有助于更​​全面地捕获和建模图像上下文。然而,之前的尝试(例如扩张卷积[Dilated residual networks]和非局部块[Non-local neural networks])的计算成本很高,限制了它们在实时目标检测中的实际应用。最近的研究 [Scaling up your kernels to 31x31, A convnet for the 2020s] 重新审视了大核卷积的使用,表明可以通过深度可分离卷积以合理的计算成本扩大感受野 [Mobilenets]。受这些发现的启发,本文在 CSPDarkNet 的基本构建块中引入了 5×5 深度可分离卷积,以增加有效感受野(图 b)。这种方法允许更全面的上下文建模并显着提高准确性。
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
值得注意的是,最近的一些实时目标检测器 [yolov6, yolov7, PP-YOLOE] 在基本构建块中探索了重新参数化的 3×3 卷积 [RepVGG](图 c&d)。虽然重新参数化的 3×3 卷积被认为是提高推理准确性,但它也带来了副作用,例如训练速度变慢和训练内存增加等。它还会增加模型量化到较低位后的误差间隙,需要通过重新参数化优化器和量化感知训练进行补偿。与重新参数化的 3×3 卷积相比,大内核深度卷积对于基本构建块来说是更简单、更有效的选择,因为它们需要更少的训练成本,并且在模型量化后导致的误差间隙更小。
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
Balance of model width and depth.:由于大核深度卷积之后的额外逐点卷积,基本块中的层数也增加了(图 b)。这阻碍了每一层的并行计算,从而降低了推理速度。为了解决这个问题,本文减少了每个主干阶段的块数量,并适当增大块的宽度,以提高并行度并保持模型容量,最终在不牺牲准确性的情况下提高推理速度。
Balance of backbone and neck.: 多尺度特征金字塔对于目标检测至关重要,可以检测各种尺度的目标。为了增强多尺度特征,以前的方法要么使用具有更多参数的更大骨干,要么使用更重的颈部,在特征金字塔之间有更多的连接和融合。然而,这些尝试也增加了计算和内存占用。因此,本文采用另一种策略,通过增加颈部基本块的扩展比例,使它们具有相似的容量,从而将更多的参数和计算从骨干转移到颈部,从而获得更好的计算精度权衡。
Shared detection head.: 实时物体检测器通常针对不同的特征尺度使用单独的检测头 ,以增强模型容量以获得更高的性能,而不是跨多个尺度共享检测头 。本文中比较了不同的设计选择,并选择跨尺度共享头部参数,但合并不同的批量归一化(BN)层以减少头部的参数量,同时保持准确性。 BN 也比其他归一化层(例如 Group Normalization )更高效,因为在推理中它直接使用训练中计算的统计数据。

Training Strategy

Label assignment and losses.: 为了训练单阶段目标检测器,每个尺度的密集预测将通过不同的标签分配策略与地面真实边界框进行匹配。最近的进展通常采用动态标签分配策略,该策略使用与训练损失一致的成本函数作为匹配标准。然而,本文发现他们的成本计算有一些局限性。因此,本文提出了一种基于SimOTA的动态软标签分配策略,其损失函数表示为
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
其中Ccls、Ccenter和Creg分别对应分类损失、区域先验损失和回归损失,默认情况下λ1 = 1、λ2 = 3和λ3 = 1是这三个成本的权重。
以前的方法通常利用二进制标签来计算分类成本 Ccls,这允许使用高分类分数但不正确的边界框进行预测,以实现低分类成本,反之亦然。为了解决这个问题,本文在 Ccls 中引入软标签:
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
该修改受到 GFL 的启发,它使用预测和真实框之间的 IoU 作为软标签 Ysoft 来训练分类分支。分配中的软分类成本不仅重新加权了不同回归质量的匹配成本,而且避免了二元标签引起的噪声和不稳定匹配。
当使用广义IoU作为回归成本时,最佳匹配和最差匹配之间的最大差异小于1。这使得很难区分高质量匹配和低质量匹配。为了使不同 GT 预测对的匹配质量更具辨别力,使用 IoU 的对数作为回归成本,而不是损失函数中使用的 GIoU,这会放大具有较低 IoU 值的匹配的成本。回归成本 Creg 计算如下
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
对于区域成本 Ccenter,本文使用软中心区域成本代替固定中心先验来稳定动态成本的匹配,如下所示
[论文阅读]RTMDet——实时目标检测,目标检测,目标检测,人工智能,计算机视觉,深度学习,论文阅读,神经网络
其中α和β是软中心区域的超参数。默认设置α = 10,β = 3。
Cached Mosaic and MixUp.:MixUp 和CutMix 等跨样本增强在最近的目标检测器中被广泛采用。这些增强功能很强大,但会带来两个副作用。首先,在每次迭代中,他们需要加载多个图像来生成训练样本,这会引入更多的数据加载成本并减慢训练速度。其次,生成的训练样本是“有噪声的”,可能不属于数据集的真实分布,这会影响模型的学习。
本文通过缓存机制改进了 MixUp 和 Mosaic,减少了数据加载的需求。通过利用缓存,在训练pipeline中混合图像的时间成本可以显着降低到处理单个图像的水平。缓存操作由缓存长度和出栈方法控制。大的缓存长度和随机出栈的方式可以认为相当于原来的无缓存的MixUp和Mosaic操作。同时,较小的缓存长度和先进先出(FIFO)弹出方法可以被视为类似于重复增强,允许在相同或连续批次中混合相同图像与不同数据增强操作。
Two-stage training.: 为了通过强数据增强来减少“噪声”样本的副作用,YOLOX 探索了一种两阶段训练策略,其中第一阶段使用强数据增强,包括 Mosaic、MixUp 以及随机旋转和剪切,第二阶段使用弱数据增强,例如随机调整大小和翻转。由于初始训练阶段的强增强包括随机旋转和剪切,导致输入和变换后的框注释之间未对准,YOLOX 添加了 L1 损失来微调第二阶段的回归分支。为了解耦数据增强和损失函数的使用,本文排除了这些数据增强,并在 280 个 epoch 的第一个训练阶段将每个训练样本中的混合图像数量增加到 8 个,以补偿数据增强的强度。在过去 20 个时期中,切换到大规模抖动(LSJ),允许在与真实数据分布更紧密一致的领域中对模型进行微调。为了进一步稳定训练,采用 AdamW 作为优化器。

结论

在本文中,我们根据经验全面研究了实时目标检测器中的每个关键组件,包括模型架构、标签分配、数据增强和优化。我们进一步探索高精度实时对象检测器对实时实例分割和旋转对象检测的最小适应性。研究结果催生了一个新的目标检测实时模型系列,名为 RTMDet,及其针对不同目标识别任务的衍生模型。 RTMDet 展示了工业级应用中准确性和速度之间的卓越权衡,针对不同的对象识别任务具有不同的模型大小。我们希望RTMDet的实验结果能够为实时物体识别任务的未来研究和产业发展铺平道路。文章来源地址https://www.toymoban.com/news/detail-717505.html

到了这里,关于[论文阅读]RTMDet——实时目标检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(36)
  • AI一叶知秋:从目标检测部署浅谈人工智能发展

    笔者写这篇文章也有讨巧之嫌,仅以个人视角分享一些看法,主要从实践部署来谈谈近两年来计算机视觉模型的变化,不过AI是一个宏大的话题,每个人定义的人工智能就不一样,我们先来探讨一下何为人工智能。百度百科中是这样定义的: 人工智能是研究、开发用于模拟、

    2024年02月02日
    浏览(79)
  • 从零开始的目标检测和关键点检测(二):训练一个Glue的RTMDet模型

    从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型 在 [1]用labelme标注自己的数据集 中已经标注好数据集(关键点和检测框),通过labelme2coco脚本将所有的labelme json文件集成为两个coco格式的json文件,

    2024年02月06日
    浏览(30)
  • 小样本图像目标检测研究综述——张振伟论文阅读

    目前,小样本图像目标检测方法多基于经典的俩阶段目标检测算法Faster R-CNN作为主干网络,当然也有将YOLO,SSD一阶段目标检测算法作为主干网络的。 检测过程中不仅需要提取分类任务所关注的高层语义信息,还要获取低层级像素级信息实现目标的定位。 1.2.1 基于度量学习方

    2024年02月13日
    浏览(31)
  • 人工智能学习与实训笔记(三):神经网络之目标检测问题

    人工智能专栏文章汇总:人工智能学习专栏文章汇总-CSDN博客 目录 三、目标检测问题 3.1 目标检测基础概念 3.1.1 边界框(bounding box) 3.1.2 锚框(Anchor box) 3.1.3 交并比 3.2 单阶段目标检测模型YOLOv3 3.2.1 YOLOv3模型设计思想 3.2.2 YOLOv3模型训练过程 3.2.3 如何建立输出特征图与预

    2024年02月20日
    浏览(36)
  • YOLO目标检测——真实和人工智能生成的合成图像数据集下载分享

    YOLO真实和人工智能生成的合成图像数据集,真实场景的高质量图片数据,图片格式为jpg,数据场景丰富。可用于检测图像是真实的还是由人工智能生成。 数据集点击下载 :YOLO真实和人工智能生成的合成图像数据集+120000图片+数据说明.rar

    2024年02月10日
    浏览(34)
  • 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

    ●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直接检测其他79类目标,可以直接修改、快速

    2024年02月12日
    浏览(43)
  • 论文阅读笔记 | 三维目标检测——PV-RCNN++算法

    如有错误,恳请指出。 paper:《PV-RCNN++: Point-Voxel Feature Set Abstraction With Local Vector Representation for 3D Object Detection》(2022 IJCV) 做点云检测的肯定知道了,这又是Shaoshuai Shi大佬的另外一篇文章,Shaoshuai Shi大佬的主页介绍:https://shishaoshuai

    2023年04月08日
    浏览(74)
  • 人工智能学习07--pytorch15(前接pytorch10)--目标检测:FPN结构详解

    backbone:骨干网络,例如cnn的一系列。(特征提取) (a)特征图像金字塔 检测不同尺寸目标。 首先将图片缩放到不同尺度,针对每个尺度图片都一次通过算法进行预测。 但是这样一来,生成多少个尺度就要预测多少次,训练效率很低。 (b)单一特征图 faster rcnn所采用的一种方式

    2023年04月12日
    浏览(36)
  • 人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用

    如:天空 coco包含pascal voc 的所有类别,并且对每个类别的标注目标个数也比pascal voc的多。 一般使用coco数据集预训练好的权重来迁移学习。 如果仅仅针对目标检测object80类而言,有些图片并没有标注信息,或者有错误标注信息。所以在实际的训练过程中,需要对这些数据进行

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包