【最新基于图像的2D和3D目标检测综述】作者总结了近年来基于图像的2D和3D目标检测算法的发展历程、不同框架、贡献、优缺点和发展趋势,以帮助更多的研究人员更好地了解该领域。介绍了具有代表性的数据集、评价指标、相关技术和应用,并讨论了一些有价值的研究方向。

  • 题目: 2D and 3D object detection algorithms from images: A Survey
  • 作者单位:中国矿业大学等

目标检测是计算机视觉的一个重要分支,旨在定位和分类图像中的目标,使用深度卷积神经网络(CNNS)作为日标检测的主要框架可以有效地提取特征,这比手动提取特征的传统模型更接近实时性能。近年来,具有强大自注意机制的Transformer的兴起将性能进一步提升到了一个新的水平。然而,当涉及到现实世界中的特定视觉任务时,需要获得关于目标的空间坐标、方向和速度的3D信息,这使得3D场景中的目标检测研究更加活跃。尽管基于激光雷达的3D目标检测算法具有优异的性能,但由于价格高昂,难以在实际应用中推广。因此,作者总结了近年来基于图像的2D和3D目标检测算法的发展历程、不同框架、贡献、优缺点和发展趋势,以帮助更多的研究人员更好地了解该领域。此外,介绍了具有代表性的数据集、评价指标、相关技术和应用,并讨论了一些有价值的研究方向。

1.目标检测发展

  • 传统目标检测方法涉及到三个阶段:region proposal , feature extraction, classification and regression。region proposal 阶段通过滑动窗口提取region of interest(RoI),feature extraction阶段主要是靠手动设计的方法从RoI提取特征,最后来做分类和回归。但是这种方法很慢,直到深度学习的发展(CNN)。

  • 基于深度学习的目标检测框架如图:

  • 基于2D的目标检测不可以满足现实世界的需求,因此3D目标检测应运而生,它基于传感器数据旨在构建一个3D框来预测物体的3D大小,坐标,速度,朝向角度。3D目标检测面临深度估计,多模态数据融合,多维数据实时计算,模型评价系统等的挑战,因此在工业界和学术界越来越重要。

2.基于图像的2D目标检测

发展历史:

2.1 Anchor-based methods

RCNN 系列

  • RCNN:
    通过使用 selective search 方法生成候选框,输入他们到卷积网络中提取特征,然后通过SVM和线性回归来分类和定位微调。而且,数据不足的问题一定程度上是通过在大数据集上预训练,然后在特定小数据集上微调的思路解决的。该算法是第一次将CNN应用到特征提取模块,准确率和泛化性都有提升,但是也有很多方面需要改进。
    • SPPNet: 解决了RCNN为适应后续全连接网络而对候选框进行变化尺寸和扭曲(distortion)导致的识别精度下降问题,方法是在后续全连接层之前添加spatial pyramid pooling layer空间金字塔池化层
      参考1,参考2
    • Fast R-CNN: 加速。增加了 region of interest(RoI) pooling layer在全连接层之前。但仍然使用selective search 算法,较慢。
    • Faster R-CNN: 使用region proposal network(RPN)和检测网络分享权重,然后RoI pooling layer将前景映射到固定大小的特征图,然后输入到全连接层。真正实现了端到端一个网络。

基于Faster R-CNN的改进:

  • R-FCN:采用fully convolutional network(FCN)而不使用全连接层,但由于卷积网络的translation invariance(?),很难准确的识别物体的位置,所以通过添加位置敏感的score map来解决这个矛盾。R-FCN是通过损耗一部分准确率来获得速度的提升的。因为全连接层的计算非常耗时。

  • Mask R-CNN: 使用RoI alignment layer替换RoI pooling layer,在映射RoIs到固定形状的特征图时使用双线性插值(bilinear interpolation),这样做更好的保护了特征图上的空间特征。同时Mask R-CNN使用ResNet-FPN参考)作为backbone,在多尺度目标检测上获得了很好的性能。

  • Cascade R-CNN: 提出重采样机制来提升IoU,从而获得更好的proposals。参考

YOLO系列

如上图,带星号的是 anchor-free的方法。

  • YOLOv1
    将输入图片分割为$S \times S$的网格单元,输出网格单元的类别概率和框。由于特征提取,融合,分类回归都在同一个CNNs网络完成,所以他速度很快也容易优化,但是他只可以预测一个类别和两个框在一个网格单元内,这很难处理重叠和多尺度的目标检测。

  • YOLOv2,v3
    使用anchor的方法,并且将BN(Batch Normalizaiton)应用到网络每一层的输入上,来加快网络的收敛。在同一个位置YOLOv2设置基于不同比率的5个anchor with help of k-means聚类。并且在预测部分使用FCN而不是全连接层。2018年YOLOv3被提出,使用DarkNet-53发挥了resnet的深度模型优势,还使用sigmoid替换了softmax激活函数,还使用了同一个位置上9个anchor基于3个尺度的。速度非常快,相同准确率下的速度击败同类当时。

  • YOLOv4,v7
    在backbone使用CSP来减少特征图的冗余。使用CutMixand Mosaic的数据增强方法来提升泛化性能。YOLOv4使用了提升版本的PANet,SPP,CBAM在neck阶段来双向融合多尺度特征,从而增大了感受野,因此获得了更好的定位准确性。但是这样引入了相当大的参数量。2022年YOLOv7因此被提出来作为轻量级的算法,他可以减少参数量的40%

SSD系列

类似于YOLO系列,2016年,SSD是针对YOLOv1小目标检测困难而被提出,它使用不同尺度的卷积网络来提取多尺度特征,在预测阶段不使用全连接层,而是FCN。还采用数据增强和采样挖掘的技术来提升准确率,因此它具有比YOLOv1更高的召回率在小目标上。
SSD的缺点后续又发展了一系列算法来弥补。但这些技术似乎都借鉴了语义分割领域和R-CNN的技术,如空洞卷积,转置卷积来增大感受野,anchor box的微调等。RetinaNet采用了focal loss增加了对部分较难检测样本的损失权重。

2.2 Anchor-free methods

anchor-based方法的缺点:

  • anchor设计中的参数size 和 aspect ratio对检测模型有很大影响
  • 大多数生成的anchor是负的采样,也就是背景,这样导致了正负采样不均衡
  • 包含物体的矩形框仍然包含了部分背景(语义分割不就解决这个问题了)

Key-point-based

Anchor-point-based

YOLO 系列

2.3 Transformer-based methods

DETR 系列

ViT 系列

2D目标检测总结

3 3D目标检测

3D目标检测是自动驾驶和机器人感知系统的基础。作为感知系统的传感器最常见的有camera and LiDAR。通常情况下,LiDAR收集的点云数据包含丰富的空间信息和几何图形信息,但是他有如下缺点:

  • 价格昂贵
  • 对天气条件敏感
  • 有限的范围
  • 不包含物体的颜色和纹理细节
    由于camera收集的图像数据包含丰富的语义特征如颜色和纹理,能够胜任路况场景检测譬如交通线交通标志,并且价格低。以下主要讨论基于图像的3D目标检测,分为三类:monocular-based, stereo-based, pseudo-LiDAR-based。

3.1 Monocular-based

3.2 Stereo-based

3.3 Pseudo-LiDAR-based

3.4 Multi-view-based

3D目标检测总结

打赏作者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHA