2020年国内最新最优目标检测(完结篇)

2020-04-14 11:33:21 浏览数 (1)

今天我们的目标检测综述最后一章,也是这个系列的完结,希望有兴趣的同学可以从中获取一些思路!

Pedestrian Detection

行人检测作为一种重要的目标检测应用,在自动驾驶、视频监控、刑事侦查等领域得到了广泛的关注。早期的行人检测方法,如HOG检测器,ICF检测器,在特征表示,分类器的设计,检测加速度方面,为一般的目标检测奠定了坚实的基础。近年来,一些通用的目标检测算法,如Faster RCNN,已经被引用到行人检测中,极大地推动了该领域的研究进展。

Difficulties and Challenges

行人检测的挑战和困难可以总结如下。

Small pedestrian:上图(a)显示了一些远离摄像机拍摄的小行人的例子。在 Caltech 数据集中,15%的行人高度小于30像素。

Hard negatives:街景图像中的一些背景与行人的视觉外观非常相似,如上图(b)所示。

Dense and occluded pedestrian:上图(c)显示了密集和遮挡行人的一些例子。在 Caltech 数据集中,未被遮挡的行人仅占行人总数的29%。

Real-time detection:从高清视频中实时检测行人对自动驾驶和视频监控等应用至关重要。

Literature Review

行人检测研究历史悠久。其发展可分为两个技术阶段:1) 传统的行人检测;2) 基于深度学习的行人检测。我们请读者参考下面的调查以获得关于这个话题的更多细节。

Traditional pedestrian detection methods

由于计算资源的限制,Haar小波特征在早期行人检测中得到了广泛的应用。为了提高对被遮挡行人的检测,当时流行的一个想法是 “ 组件检测(detection by components) ” ,即,把检测看作一个多部分检测器的集合,这些检测器分别在不同的人体部位训练,如头部、腿部和手臂上。随着计算能力的提高,人们开始设计更加复杂的检测模型,并从2005年起,基于梯度的表示和 DPM已经成为行人检测的主流。在2009年,通过使用积分图像加速,一个有效的轻量级特征表示被提出:积分信道特征 ( Integral Channel Features,ICF ) 。ICF成为当时行人检测的新标杆。除了特征表示,还考虑了一些领域知识,如外观恒常性、形状对称性以及立体信息。

Deep learning based pedestrian detection methods

行人检测是最早应用深度学习的计算机视觉任务之一。

To improve small pedestrian detection:虽然Fast/Faster R-CNN等深度学习目标检测器在一般目标检测方面表现出了最先进的性能,但由于卷积特征的分辨率较低,对于小行人的检测效果有限。最近解决这一问题的一些方法包括特征融合,引入额外的高分辨率手工特征,以及基于多个分辨率的集成检测结果。

To improve hard negative detection:最近的一些改进包括增强决策树的集成,语义分割 ( 作为行人的上下文 )。此外,还引入了 “ 交叉模态学习(cross-modal learning)” 的思想,利用 RGB 图像和红外图像来丰富困难负样本的特征。

To improve dense and occluded pedestrian detection:正如我们之前分享所提到的,CNN较深层的特征具有更丰富的语义,但对于检测密集的对象并不有效。为此,一些研究人员考虑到目标的吸引力和周围物体的排斥力,设计了新的损失函数。目标遮挡是密集行人经常遇到的另一个问题。局部检测器的集成和注意机制是改善遮挡行人检测最常见的方法。

Face Detection

人脸检测是最古老的计算机视觉应用之一。早期的人脸检测,如VJ检测器在很大程度上促进了目标检测,它的许多出色的思想甚至在今天的目标检测中仍然发挥着重要的作用。人脸检测已经应用于各行各业,如数码相机中的 “ 微笑 ” 检测、电子商务中的 “ 刷脸 ”、移动应用中的人脸化妆等。

Difficulties and Challenges

人脸检测的难点和挑战可以总结如下。

Intra-class variation:人脸可以呈现出多种表情、肤色、姿势和动作,如下图(a)所示。

Occlusion:人脸可能被其他物体遮挡部分,如下图(b)所示。

Multi-scale detection:检测多种尺度下的人脸,特别是一些微小的人脸,如下图(c)所示。

Real-time detection:移动设备上的人脸检测通常需要CPU的实时检测速度。

Literature review

人脸检测的研究可以追溯到20世纪90年代初。然后经历了多个历史时期:早期人脸检测(2001年以前)、传统人脸检测(2001-2015)、基于深度学习的人脸检测(2015-至今)。我们请读者参考以下调查以了解更多详情。

(1)Early time’s face detection (before 2001)

早期的人脸检测算法可以分为三组:1) 基于规则的方法。这组方法将人类对构成一张典型面孔的知识进行编码,并捕捉面部元素之间的关系。2) 基于子空间分析的方法。这组方法分析了人脸在底层线性子空间中的分布。特征面(Eigenfaces)是这组方法的代表。3) 基于学习的方法:将人脸检测框架为滑动窗口 二进制分类 ( 目标 vs 背景 ) 的过程。这一组常用的模型包括神经网络和SVM。

(2)Traditional face detection (2000-2015)

这一时期有两组人脸检测器。第一组方法是基于增强决策树构建的。这些方法计算简单,但在复杂场景下检测精度较低。第二组基于早期的卷积神经网络,利用特征的共享计算加快检测速度。

(3)Deep learning based face detection (after 2015)

在深度学习时代,大多数人脸检测算法都遵循一般的目标检测思想,如 Faster RCNN 和 SSD。

To speed up face detection:级联检测(详见章节3分享)是深度学习时代加速人脸检测最常用的方法。另一种加速方法是预测图像中人脸的尺度分布,然后在一些选定的尺度上进行检测。

To improve multi-pose and occluded face detection:“ 人脸定标(face calibration) ” 的思想通过估计定标参数或通过多个检测阶段的渐进定标来改进多姿态人脸检测。为了提高对遮挡人脸的检测,最近提出了两种方法。第一个是融入 “ 注意机制(attention mechanism)”,突出潜在人脸目标的特征。第二种是 “ 基于部分的检测(detection based on parts)” ,它继承了 DPM 的思想。

To improve multi-scale face detection:近年来多尺度人脸检测的研究采用了与一般目标检测相似的检测策略,包括多尺度特征融合和多分辨率检测。

Text Detection

几千年来,文字一直是人类的主要信息载体。文本检测的基本目标是确定给定图像中是否有文本,如果有,则定位并识别它。文本检测有着非常广泛的应用。它帮助视障人士 “ 阅读 ” 街道标志和货币。在地理信息系统中,对门牌号和街道标识的检测和识别使得构建数字地图更加容易。

Difficulties and Challenges

文本检测的难点和挑战可以总结如下。

Different fonts and languages:文本可能有不同的字体、颜色和语言,如下图(a)所示。

Text rotation and perspective distortion:文本可能有不同的方向,甚至可能有透视失真,如下图(b)所示。

Densely arranged text localization:长径比大、布局密集的文本行很难精确定位,如下图(c)所示。

Broken and blurred characters:破碎和模糊的字符在街景图像中很常见。

Literature Review

文本检测包括两个相关但相对独立的任务:1) 文本定位;2) 文本识别。现有的文本检测方法可分为 “ 步进检测 ” 和 “ 综合检测 ” 两大类。我们请读者参考下面的调查以了解更多细节。

(1)Step-wise detection vs integrated detection

步进检测方法由字符分割、候选区域验证、字符分组、单词识别等一系列处理步骤组成。这组方法的优点是大部分的背景都可以在粗分割步骤中进行滤波,大大降低了后续处理的计算成本。缺点是需要仔细设置所有步骤的参数,这些错误将在每个步骤中发生和积累。相比之下,综合检测将文本检测定义为联合概率推理问题,在统一的框架下处理字符定位、分组和识别的步骤。这些方法的优点是避免了累积误差,易于集成语言模型。缺点是,当考虑到大量字符类和候选窗口时,推理的计算开销会很大。

(2)Traditional methods vs deep learning methods

传统的文本检测方法大多是在无监督的情况下生成候选文本,其中常用的技术包括最大稳定极值区域(Maximally Stable Extremal Regions,MSER)分割和形态滤波(morphological filtering)。这些方法还考虑了文本的对称性和笔画结构等领域知识。

近年来,学者们更多地关注文本的定位问题,而不是识别问题。最近提出了两组方法。第一组方法将文本检测作为一般目标检测的特例。这些方法都有统一的检测框架,但对于方向性或长宽比较大的文本检测效果较差。第二组方法将文本检测框架为图像分割问题。这些方法的优点是对文本的形状和方向没有特殊的限制,缺点是根据分割结果很难区分排列密集的文本行。针对上述问题,近年来基于深度学习的文本检测方法提出了一些解决方案。

For text rotation and perspective changes:这个问题最常见的解决方案是在锚框和RoI池化层中引入额外的参数,这些参数与旋转和视角变化相关。

To improve densely arranged text detection:基于分段的方法在检测密集排列的文本时显示出更大的优势。为了区分相邻的文本行,最近提出了两组解决方案。第一个是 “ 线段与链接(segment and linking)”,其中 “ segment ” 是指字符热图,“ linking ” 是指两个相邻 segment 之间的连接,表示它们属于同一单词或文本行。第二组是引入额外的角/边界检测任务,以帮助分离密集排列的文本,其中一组角或封闭的边界对应于单个文本行。

To improve broken and blurred text detection:最近一种处理破碎和模糊文本的方法是使用单词级识别和句子级识别。处理不同字体的文本,最有效的方法是使用合成样本进行训练。

Traffic Sign and Traffic Light Detection

随着自动驾驶技术的发展,交通标志和交通灯的自动检测近年来引起了人们的极大关注。在过去的几十年里,虽然计算机视觉社区在很大程度上推动了对一般目标的检测,而不是像交通灯和交通标志这样的固定模式,但认为它们的识别没有挑战性仍然是一个错误。

Difficulties and Challenges

交通标志/信号灯检测的挑战和困难可以总结如下。

Illumination changes:如上图(a)所示,当车辆行驶在强光下或夜间时,检测尤为困难。

Motion blur:由于汽车的运动,车载摄像头拍摄到的图像会变得模糊,如上图(b)所示。

Bad weather:在恶劣天气下,如雨雪天气,图像质量会受到影响,如上图所示(c)。

Real-time detection:这对自动驾驶特别重要。

Literature Review

现有的交通标志/灯光检测方法可以分为两大类:传统的检测方法和基于深度学习的检测方法。关于这个话题的更多细节,我们请读者参考下面的调查。

(1)Traditional detection methods

基于视觉的交通标志/灯光检测的研究最早可以追溯到20年前。由于交通标志/信号灯具有特殊的形状和颜色,传统的检测方法通常基于颜色阈值,视觉显著性检测,形态滤波,边缘/轮廓分析。由于上述方法只是基于低水平视觉进行设计,在复杂的环境下往往会失败 ( 如上图所示 ),因此一些研究者开始寻找除了基于视觉的方法之外的其他解决方案,例如将 GPS 与数字地图相结合用于交通灯检测。虽然 “ 特征金字塔 滑动窗 ” 已经成为当时通用目标检测和行人检测的标准框架,但除了极少数的工作,主流的交通标志/灯光检测方法直到2010年才遵循这一范式。

(2)Deep learning based detection methods

在深度学习时代,一些著名的检测器如Faster RCNN和SSD被应用到交通标志/灯光检测任务中。在这些检测器的基础上,一些新的技术,如注意机制和对抗性训练被用来改善复杂交通环境下的检测。

Remote Sensing Target Detection

遥感成像技术为人们更好地了解地球打开了一扇门。近年来,随着遥感图像分辨率的提高,遥感目标检测 ( 如飞机、船舶、油罐等的检测 ) 成为研究热点。遥感目标检测在军事侦察、灾害救援、城市交通管理等方面有着广泛的应用。

Difficulties and Challenges

遥感目标检测面临的挑战和困难总结如下。

Detection in “big data”:由于遥感图像数据量巨大,如何快速准确地检测遥感目标仍然是一个问题。下图(a)比较遥感图像和自然图像的数据量。

Occluded targets:地球表面每天有50%以上被云覆盖。下图(b)给出了一些被遮挡目标的例子。

Domain adaptation:不同传感器 ( 例如,不同的调制和分辨率 ) 拍摄的遥感图像存在很大的差异。

Literature Review

关于这个主题的更多细节,我们请读者参考以下调查。

(1)Traditional detection methods

传统的遥感目标检测方法大多采用两阶段检测范式:1) 候选提取;2) 目标验证。在候选提取阶段,常用的方法有基于灰度值滤波的方法,基于视觉显著性的方法,基于小波变换的方法、基于异常检测的方法等。上述方法的一个相似之处是它们都是非监督方法,因此在复杂的环境中通常会失败。在目标验证阶段,常用的特征包括HOG,LBP, SIFT等。此外,还有一些其他方法遵循滑动窗口检测范式。

为了检测具有特定结构和形状的目标,如油罐和近岸船舶,需要使用一些领域知识。例如,油罐检测可以看作是圆/弧检测问题。近岸船舶检测可视为前甲板和船尾的检测。为了改进遮挡目标检测,常用的一种方法是“局部检测”。为了检测不同方向的目标,“混合模型”是针对不同方向的目标训练不同的检测器。

(2)Deep learning based detection methods

RCNN在2014年取得巨大成功后,深度 CNN 很快被应用到遥感目标检测中。一般目标检测框架像Faster RCNN和SSD已经引起了遥感界越来越多的关注。

由于遥感图像与日常图像的巨大差异,人们对遥感图像的深度CNN特征的有效性进行了一些研究。人们发现,尽管深度CNN取得了巨大的成功,但它并不比传统的光谱数据处理方法好。为了检测不同方向的目标,一些研究人员改进了ROI池化层,以获得更好的旋转不变性。为了提高区域自适应能力,一些研究者从贝叶斯的角度提出了检测方法,在检测阶段,根据测试图像的分布自适应更新模型。此外,注意机制和特征融合策略也被用来改进小目标检测。

感谢

Zhengxia Zou等人的无私贡献,本系列综述引用于《Object Detection in 20 Years: A Survey》!

0 人点赞