Faster RCNN超快版本来啦 | TinyDet用小于1GFLOPS实现30+AP,小目标炸裂(一)

简介: Faster RCNN超快版本来啦 | TinyDet用小于1GFLOPS实现30+AP,小目标炸裂(一)

小目标检测需要检测头扫描图像特征图上的大量位置,这对于计算和节能的轻量化通用检测器来说是非常困难的。

为了在有限的计算量下准确检测小目标,本文提出了一种计算复杂度极低的两阶段轻量级检测框架,称为TinyDet。它能够实现用于密集Anchor的高分辨率特征图,以更好地覆盖小目标,作者提出了用于减少计算的稀疏连接卷积,增强了主干中的早期特征,并解决了用于精确小目标检测的特征错位问题。

在COCO基准上,TinyDet-M实现了30.3AP,并且只有991MFLOP,这是第1个AP超过30,FLOP小于1GFLOP的检测器;此外,TinyDet-S和TinyDet-L在不同的计算限制下都取得了很好的性能。

Github:https://github.com/hustvl/TinyDet


1、简介


目标检测在计算机视觉中发挥着重要作用,并逐渐成为自动驾驶、遥感和视频监控等许多应用的技术基础。然而,高级检测模型的推理过程需要花费大量的计算资源,这使得它们很难应用于资源受限的移动或边缘设备。

为了广泛应用人工智能,计算高效、节能的“微小人工智能”模型越来越受欢迎。本文中设计了一个轻量级的通用目标检测框架,称为TinyDet,用于高效准确的目标检测,尤其是小目标,计算成本低。

近年来,为了在计算成本和精度之间更好地进行权衡,已经提出了许多创新的、具有代表性的轻量级检测模型。为了降低计算成本,通常以较大的比例缩小输入图像,并在小的特征图上执行目标检测。

例如,Pelee采用304×304输入,并且Pelee中用于检测的最大特征图是19×19。ThunderNet采用320×320输入,仅使用分辨率为20×20的单个特征图进行检测。相比之下,像具有特征金字塔网络(FPN)的Faster R-CNN这样的大型模型需要800×1333的输入,最大的特征图大到200×333。

利用小的输入图像和小的特征图进行目标检测有助于降低计算成本。然而,小的特征图没有详细的信息,位置分辨率也很差。以前的轻量化检测器检测小目标的能力非常有限。它们牺牲了对小目标的检测性能以获得高效率。

检测小目标的能力对于基于目标检测的应用非常重要,并且是评估目标检测模型的关键因素。如COCO数据集所示,大约41%的目标较小(面积<322)。

本文的目标是提高轻量级通用检测网络中的小目标检测性能。基于设计轻量级网络的良好实践,作者提出了TinyDet,这是一种具有高分辨率(HR)特征图的两阶段检测器,用于密集Anchor。HR特征图显著提高了小目标的检测能力,但也带来了更多的计算成本。

为了解决分辨率和计算之间的矛盾,作者通过引入稀疏连接卷积(SCConv)提出了TinyFPN和TinyRPN,该卷积既保持了高分辨率又保持了低计算量。作者还改进了骨干网络,以获得更好的小目标检测性能。小目标检测更多地依赖于浅层特征中的详细信息。通过为早期阶段分配更多的计算来保留更详细的信息。

此外,作者观察到在轻量化检测器中存在严重的特征错位。特征错位逐层累积并传递到检测部分,影响RPN和RCNN Head的回归精度。小目标对这种位置错位更加敏感。通过消除错位,可以显著提高小目标的检测性能。

image.png

本文的贡献可以概括为:

  1. 在轻量级检测网络中,首次启用高分辨率检测特征图(即80×80)进行密集Anchor,这对于检测小目标至关重要;
  2. 提出了具有稀疏连接卷积的TinyFPN和TinyRPN,以使用高分辨率检测特征图执行高效的目标检测;
  3. 通过增强Backbone的早期阶段并解决TinyDet中的错位问题,进一步提高了小目标的检测结果;
  4. TinyDet模型在COCO test-dev2017集合上具有强大的性能和很少的计算预算,如图1所示。TinyDet-M仅用991 MFLOP就实现了30.3 mAP,这是轻量级检测器中最先进的结果。值得注意的是,小目标检测性能出众,TinyDet-S和TinyDet-M的AP是ThunderNets的两倍。

2、相关工作


2.1、Lightweight Object Detector

近年来,用于通用目标检测的轻量级模型得到了快速发展。首先,轻量级分类网络设计方法的进步直接推动了轻量级目标检测的发展。轻量级分类网络通常被直接用作检测器的主干来提取特征,例如,手工设计的MobileNetV2被用于SSLite,搜索到的神经架构EfficientNet被用于EfficientDet。但检测和分类需要不同的主干。

为了更好地匹配检测任务的特征,在许多轻量级检测器中,基于现有的分类网络,提出了专门的骨干。其次,开发良好的目标检测管道也为轻量化检测器的研究奠定了坚实的基础。

大多数轻量化检测器采用紧凑的单阶段结构。PeleeNet只使用传统卷积构建,而不使用流行的移动卷积。RefineDetLite专门为CPU设备设计。EfficientDet提出了一种加权双向特征金字塔网络,用于快速的特征融合,并在广泛的资源约束下构建了一种可扩展的检测架构。

具有更复杂Pipeline的两阶段检测器通常被认为在推理阶段更耗时。然而,一些人证明,如果第二阶段足够轻,两阶段检测器也可以像单阶段检测器一样高效。两阶段范式在检测小目标方面往往表现得更好。因此,本文遵循两阶段范式,通过考虑效率和准确性来设计检测器。

2.2、Small Object Detection

从视频和图像中检测小目标在计算机视觉、遥感、自动驾驶等领域备受关注。Liu等人通过缩小大目标的尺寸,创建了更多的小目标训练示例。D-SSD、C-SSD、F-SSD和ION专注于为小目标检测构建适当的上下文特征。Hu等人使用粗略的图像金字塔,并使用两次上采样的输入图像来检测小人脸。

也有一些研究使用生成对抗性网络(GAN)生成用于小目标检测的超分辨特征。更大的输入分辨率和超分辨率方法带来了更多的计算成本,并且不适合于轻量级检测器的设计。

本文的工作与高分辨率网络(HRNet)略有关联,它在整个网络中为位置敏感的视觉识别任务保持高分辨率表示。作者发现,没有论文专注于在轻量级通用检测器中检测小目标。在本文中以精确的小目标检测为目标,同时保持较低的计算预算。

2.3、稀疏卷积

在设计轻量级检测网络时,减少深度卷积神经网络中的冗余是一个重要的探索方向。许多先前的工作致力于通过使卷积中的连接更稀疏来减少冗余。Liu等人采用稀疏分解得到稀疏卷积网络,降低了计算复杂度。

深度可分离卷积是一种因子分解卷积,被广泛用于减少计算和模型大小。并且在ShufflfleNet中使用了组卷积来进行有效的模型设计。本文的工作以一种新颖的形式将深度卷积和组卷积相结合,以构建极其轻量级的FPN和RPN。


3、本文方法


在本节中将详细介绍TinyDet的设计,并说明一个具有低FLOPs的通用检测器如何执行精确的小目标检测。作者遵循两阶段检测范式,它对小目标检测更友好。

该检测器包含4个部分:增强的Backbone、TinyFPN、TinyRPN和R-CNN Head。为清晰起见,在本节中只提供了TinyDet-M的细节,并在附录中留下了TinyDet-S和TinyDet-L的细节。

3.1、Backbone

1、详细的信息增强

Backbone中具有高分辨率的早期特征图包含丰富的详细信息,这对于识别和定位小目标至关重要。现有的轻量级Backbone网络通常会快速下采样特征图,从而在高分辨率阶段保留较少的层和通道。此方法可以很好的最小化计算复杂度,但也牺牲了许多特征信息。

image.png

为了提高检测小目标的性能,作者提出了一种基于高性能网络的详细信息增强Backbone MobileNetV3。表1显示了详细的网络配置。与其他广泛使用的轻量级Backbone网络相比,在早期阶段分配了更多的计算,分辨率更高。通过这种设计,可以提取并保存更详细的信息,用于检测小目标。

2、解决特征对齐问题

stride为2的卷积被广泛用于降低特征图的分辨率。在检测中,甚至输入分辨率也是一种常见的做法。由于奇数输入像素破坏了不同金字塔级别之间的比例关系,使得输入和输出之间的坐标映射变得复杂。然而,即使在输入分辨率上的stride卷积也可能导致特征错位。

如图2(a)所示,考虑到步长为2且输入分辨率为偶数的卷积层,在卷积计算过程中,忽略一个填充像素,导致空间不对称和0.5个像素的特征错位。由几个stride卷积引起的特征失准在整个网络中逐层累积,并在更高级别变得更加显著。

对于具有高输入分辨率的大型模型,错位可以忽略不计,但对于具有低分辨率的轻量化检测器,错位是显著的。它严重降低了性能。RoI Pooling/Align 操作将为每个目标Proposal提取未对齐的特征。小目标检测需要更精确的定位,并且受到的影响更大。

为了缓解TinyDet中的特征错位,作者在每个Stride卷积之前采用平均池化层。如图2(b)所示,平均池化操作将偶数像素转换为奇数像素,避免了Stride卷积中的不对称性,并校正了未对准的问题。在优化网络时,可以将相邻的卷积层和平均池化层融合为一个层,以提高推理效率。

特征偏差的理论计算

作者提供了由Stride卷积引起的特征错位的理论计算。对于Stride为2的卷积,假设kernel大小为k,padding大小为,并且与输入图像相比,输入特征图的Stride为s。如图2(a)所示,一个填充像素被丢弃,特征中心被移动0.5个像素。当映射到输入图像时,未对准为s/2像素。特征错位会影响后续层,并逐层累积。

在TinyDet中,Backbone网络中存在6个Stride卷积层,分别导致0.5、1、2、4、8、16个像素的错位。在FPN和RPN中,累积的未对准多达31.5个像素。对于输入尺寸较小的轻量化检测器来说,错位是非常显著的。考虑到320×320的输入分辨率,错位比例高达31.5/320≈9.8%,这导致了特征与其空间位置之间的严重失配。

有效感受野的可视化

为了更好地证明特征错位的影响,作者采用有效感受野(ERF)图来可视化特征图的错位。

image.png

如图3(a)所示,可以观察到ERF明显偏离了相应Anchor的几何中心。RPN中的像素级预测和R-CNN中的基于区域的特征提取将基于未对准的特征。通过应用平均池化层,消除了错位(图3(b))。

相关文章
|
3月前
|
机器学习/深度学习 算法 安全
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
FRCNN来袭 | Faster RCNN与FCN永不遗忘,联邦学习+边缘数据既保护隐私也提升性能
140 0
|
11月前
|
机器学习/深度学习 算法 数据挖掘
m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
m基于Faster R-CNN网络的烟雾检测系统matlab仿真,带GUI操作界面
109 0
|
3月前
|
机器学习/深度学习 数据可视化 定位技术
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
PrObeD方法开源 | 主动方法助力YOLOv5/Faster RCNN/DETR在COCO/GOD涨点
57 0
|
3月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
55 0
|
3月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
300 0
|
机器学习/深度学习 算法 数据挖掘
二阶段目标检测网络-Faster RCNN 详解
二阶段目标检测网络-Faster RCNN 详解
354 0
|
10月前
|
机器学习/深度学习 算法 计算机视觉
m基于Faster R-CNN网络的火灾识别系统matlab仿真,带GUI界面
m基于Faster R-CNN网络的火灾识别系统matlab仿真,带GUI界面
76 0
|
机器学习/深度学习 人工智能 算法
目标检测:RPN — Faster R-CNN 的主干
目标检测:RPN — Faster R-CNN 的主干
200 0
|
编解码 开发工具 计算机视觉
Faster RCNN超快版本来啦 | TinyDet用小于1GFLOPS实现30+AP,小目标炸裂(二)
Faster RCNN超快版本来啦 | TinyDet用小于1GFLOPS实现30+AP,小目标炸裂(二)
500 0
|
编解码 计算机视觉
3D检测新SOTA | PointPillar与Faster RCNN结合会碰撞出怎样的火花(二)
3D检测新SOTA | PointPillar与Faster RCNN结合会碰撞出怎样的火花(二)
213 0

热门文章

最新文章