目标检测:Object Detection with Deep Learning: A Review

本文全面回顾了基于深度学习的目标检测方法,从区域提案框架(如R-CNN、FastR-CNN、FasterR-CNN、R-FCN、FPN和Mask R-CNN)到回归/分类框架(如YOLO和SSD)。这些模型通过学习语义特征和上下文信息,显著提高了检测性能。然而,小目标检测、实时处理和多模态信息融合仍是未来的研究重点。文章还探讨了显著目标检测、人脸检测和行人检测的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要


由于目标检测与视频分析和图像理解有着密切的关系,近年来引起了人们的广泛关注。传统的目标检测方法建立在手工制作的特征和浅层可训练的体系结构之上。通过构建复杂的集合,将多个低层图像特征与来自对象检测器和场景分类器的高层上下文相结合,它们的性能很容易停滞。随着深度学习的快速发展,越来越多的功能强大的工具被引入到解决传统体系结构中存在的问题中,这些工具能够学习语义、高层次、更深层次的特性。这些模型在网络结构、训练策略和优化功能等方面表现不同。在本文中,我们回顾了基于深度学习的目标检测框架。我们的回顾首先简要介绍了深度学习的历史及其代表性工具,即卷积神经网络(CNN)。然后,我们重点介绍了典型的通用对象检测体系结构以及一些修改和有用的技巧,以进一步提高检测性能。由于不同的特定检测任务表现出不同的特点,我们还简要介绍了几个特定任务,包括显著目标检测、人脸检测和行人检测。通过实验分析,对各种方法进行了比较,得出了一些有意义的结论。最后,本文提出了几个有希望的方向和任务,为目标检测和相关的基于神经网络的学习系统的未来工作提供了指导。

1. INTRODUCTION

为了获得一个完整的图像理解,我们不仅应该集中精力对不同的图像进行分类,还应该尝试精确地估计每个图像中包含的对象的概念和位置。此任务称为目标检测[1][S1],通常由不同的子任务组成,如人脸检测[2][S2]、行人检测[3][S2]和骨架检测[4][S3]。作为基本的计算机视觉问题之一,目标检测能够为图像和视频的语义理解提供有价值的信息,并且涉及到许多应用,包括图像分类[5]、[6]、人类行为分析[7][S4]、人脸识别[8][S5]和自动驾驶[9]、[10]。同时,这些领域的进展继承了神经网络和相关的学习系统,将发展神经网络算法,也将对可视为学习系统的目标检测技术产生重大影响。[11]-[14][S6]。然而,由于视点、姿态、遮挡和光照条件的巨大变化,使用额外的目标定位任务很难完美地完成目标检测。 近年来,这一领域引起了广泛的关注。

目标检测的问题定义是确定目标在给定图像中的位置(目标定位)以及每个目标所属的类别(目标分类)。因此,传统的目标检测模型主要分为三个阶段:信息区域选择、特征提取和分类

信息区域选择:由于不同的对象可能出现在图像的任何位置,并且具有不同的纵横比或大小,因此使用多尺度滑动窗口扫描整个图像是一种自然选择。虽然这种穷举策略可以找出对象的所有可能位置,但其缺点也是显而易见的。由于候选窗口的数量很大,因此计算成本很高,并且会产生太多冗余窗口。但是,如果仅应用固定数量的滑动窗口模板,则可能会产生不符合要求的区域。

特征提取:为了识别不同的物体,我们需要提取能够提供语义和鲁棒性表示的视觉特征。SIFT[19]、HOG[20]和Haar-like[21]特征是典型特征。这是因为这些特征可以产生与人脑复杂细胞相关的表征[19]。然而,由于外观、光照条件和背景的多样性,很难手动设计一个健壮的特征描述符来完美地描述所有类型的对象。

分类:此外,还需要一个分类器来区分目标对象与所有其他类别,并使表示更具有层次性、语义性和信息性,便于视觉识别。通常,支持向量机(SVM)[22]、AdaBoost[23]和基于变形零件的模型(DPM)[24]是不错的选择。在这些分类器中,DPM是一种灵活的模型,通过将对象部分与变形代价相结合来处理严重变形。在DPM中,借助图形模型,精心设计的底层特征和受运动学启发的零件分解被结合起来。图形模型的区别性学习允许为各种对象类构建基于零件的高精度模型。

基于这些判别式局部特征描述符和浅层可学习体系结构,在PASCAL VOC目标检测竞赛[25]上取得了最新成果,并以较低的硬件负担获得了实时嵌入式系统。然而,在2010-2012年期间,仅通过构建集成系统和采用成功方法的微小变化,就获得了较小的收益[15]。这一事实是由于以下原因:1)使用滑动窗口策略生成候选边界框是冗余、低效和不准确的。2)人工设计的低级描述符和经过区别训练的浅层模型不能弥补语义鸿沟。

由于深度神经网络(DNN)[6][S7]的出现,通过引入Regions with CNN features (R-CNN)[15],获得了更显著的增益。DNN或最具代表性的CNN的行为方式与传统方法截然不同。他们有更深层次的体系结构,能够比浅层次的体系结构学习更复杂的功能。此外,表达能力和稳健的训练算法允许学习信息对象表示,而无需手动设计特征[26]。

自R-CNN提出以来,已经提出了许多改进模型,包括联合优化分类和包围盒回归任务的Fast R-CNN[16],需要额外子网络生成区域建议的 Faster R-CNN[18],以及通过固定网格回归实现目标检测的YOLO[17]。所有这些都在不同程度上提高了R-CNN的检测性能,使目标检测的实时性和准确性变得更容易实现。

本文对几个应用领域的代表性模型及其不同特征进行了系统综述,包括通用目标检测[15]、[16]、[18]、显著目标检测[27]、[28]、人脸检测[29]–[31]和行人检测[32]、[33]。它们之间的关系如图1所示。基于CNN的基本架构,通过边界盒回归实现通用目标检测,通过局部对比度增强和像素级分割实现显著目标检测。人脸检测和行人检测与一般目标检测密切相关,主要分别通过多尺度自适应和多特征融合/增强森林来实现。虚线表示在某些条件下,相应的域相互关联。应该注意的是,覆盖的领域是多样化的。行人和人脸图像具有规则的结构,而一般对象和场景图像在几何结构和布局上具有更复杂的变化。因此,不同的图像需要不同的深度模型。

有一个相关的工作[34],主要集中于相关软件工具来实现图像分类和目标检测的深度学习技术,但很少关注具体算法的细节。 与之不同的是,本文对基于深度学习的目标检测模型和算法进行了详细的综述,并给出了相应的实验比较和有意义的分析。

本文的其余部分组织如下。
第2节简要介绍了深度学习的历史和CNN的基本架构。
第3节介绍了通用的目标检测体系结构。
第4-6节分别介绍了CNN在几个具体任务中的应用,包括显著目标检测、人脸检测和行人检测。
第7节提出了几个有希望的未来方向。
最后,第8节给出了一些结论。

2. A BRIEFOVERVIEW OFDEEPLEARNING

在概述基于深度学习的目标检测方法之前,我们回顾了深度学习的历史,并介绍了CNN的基本架构和优势。

A. 历史:诞生、衰落和繁荣

Deep models 可以称为具有深层结构的神经网络。神经网络的历史可以追溯到20世纪40年代[35],其初衷是模拟人脑系统,以有原则的方式解决一般的学习问题。Hinton等人[36]提出的反向传播算法在20世纪80年代和90年代非常流行。然而,由于训练的过度拟合、缺乏大规模训练数据、计算能力有限以及与其他机器学习工具相比性能不显著,神经网络(neural networks)在21世纪初已经过时。

自2006年以来,随着语音识别领域的突破,深度学习(Deep learning)已经变得非常流行[37][S7]。深度学习的恢复可归因于以下因素。

  • 出现了大规模带注释的训练数据,如ImageNet[39],以充分展示其巨大的学习能力;
  • 高性能并行计算系统的快速发展,如GPU集群;
  • 在网络结构设计和训练战略方面取得重大进展。通过自动编码器(AE)[40]或Restricted Boltzmann Machine (RBM)[41]引导的无监督分层预训练,可以提供良好的初始化。随着dropout和 data augmentation,训练中的过度拟合问题得到了缓解[6],[42]。通过batch normalization(BN),非常深入的神经网络的训练变得非常有效[43]。同时,各种网络结构,如AlexNet[6]、Overfeat[44]、GoogLeNet[45]、VGG[46]和ResNet[47]已被广泛研究以提高性能。

是什么促使深度学习对整个学术界产生巨大影响?这可能要归功于Hinton小组的贡献,他们的持续努力表明,深度学习将带来重大挑战方面的革命性突破,而不仅仅是小型数据集的明显改进。他们的成功来自于对120万张有标记的图像进行训练,并使用一些技术[6](例如,ReLU操作[48]和‘dropout’ 正则化)。

B. CNN的架构和优势
CNN是最具代表性的深度学习模式[26]。一种典型的CNN架构,称为VGG16,可以在图S1中找到。CNN的每一层称为特征图。输入层的特征图是不同颜色通道(如RGB)像素强度的3D矩阵。任何内部层的特征图都是一个诱导的多通道图像,其“像素”可以被视为一个特定的特征。每个神经元都与前一层(感受野)的一小部分相邻神经元相连。可以在特征图上执行不同类型的转换[6]、[49]、[50],如过滤和池化。 滤波(卷积)运算是将一个滤波矩阵(学习权值)与神经元接受域的值进行卷积,并取一个非线性函数(如sigmoid [51], ReLU)来得到最终的响应。 池化操作,如最大池化、平均池化、L2-池化和局部对比度归一化[52],将接受域的响应总结为一个值,以产生更稳健的特征描述。

通过卷积和池之间的交织,构造初始特征层次结构,通过添加几个完全连接(FC)层以适应不同的视觉任务,可以以有监督的方式对初始特征层次结构进行微调。根据所涉及的任务,添加具有不同激活函数的最后一层[6],以获得每个输出神经元的特定条件概率。通过随机梯度下降(SGD)方法,可以在目标函数(如均方误差或交叉熵损失)上对整个网络进行优化。典型的VGG16共有13个卷积(conv)层、3个完全连接层、3个最大池层和一个softmax分类层。conv要素图是通过卷积3*3个过滤窗口生成的,要素图分辨率通过2个最大跨步池层降低。训练后的网络可以处理与训练样本大小相同的任意测试图像。如果提供不同的尺寸,则可能需要重新缩放或裁剪操作[6]。

CNN相对于传统方法的优势可以总结如下:

  • 分层特征表示,即通过分层多级结构学习的从像素到高级语义特征的多级表示[15],[53],可以从数据中自动学习,并且可以通过多级非线性映射分离输入数据的隐藏因素。
  • 与传统的浅层模型相比,更深层次的体系结构提供了成倍增长的表达能力
  • CNN的体系结构提供了一个共同优化几个相关任务的机会(例如,Fast RCNN将分类和包围盒回归结合到多任务学习方式中
  • 得益于深层CNN的强大学习能力,一些经典的计算机视觉挑战可以被重新描述为高维数据转换问题,并从不同的角度解决。

基于这些优势,CNN已被广泛应用于许多研究领域,如图像超分辨率重建[54]、[55]、图像分类[5]、[56]、图像检索[57]、[58]、人脸识别[8][S5]、行人检测[59]-[61]和视频分析[62]、[63]。

3. 通用目标检测

通用目标检测的目的是定位和分类任何一幅图像中的现有目标,并用矩形边界框标记它们,以显示存在的可信度。通用对象检测方法的框架主要可以分为两种类型(见图2)。一种方法遵循传统的目标检测流程,首先生成区域建议,然后将每个建议分类为不同的目标类别。另一种是将目标检测视为一个回归或分类问题,采用统一的框架直接获得最终结果(类别和位置)。基于区域建议的方法主要包括R-CNN[15]、SPP-net[64]、Fast R-CNN[16]、Faster R-CNN[18]、R-FCN[65]、FPN[66]和Mask R-CNN[67],其中一些方法相互关联(例如,SPP-net使用SPP层修改RCNN)。基于回归/分类的方法主要包括MultiBox[68]、AttentionNet[69]、G-CNN[70]、YOLO[17]、SSD[71]、YOLOv2[72]、DSSD[73]和DSOD[74]。这两条管道之间的相关性通过快速R-CNN中引入的锚anchors来桥接。这些方法的详情如下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值