今天看的是《Object Detection with Deep Learning: A Review》
目录
一、摘要
1.1 原文
1.2 翻译
二、介绍
2.1 信息区域选择
2.2 特征提取
2.3 分类
三、深度学习的简要回顾
3.1 历史、诞生、衰落和繁荣
3.2 CNN架构和优势
一、摘要
1.1 原文
Due to object detection’s close relationship with video analysis and image understanding, it has attracted much research attention in recent years. Traditional object detection methods are built on handcrafted features and shallow trainable architectures. Their performance easily stagnates by constructing complex ensembles which combine multiple low-level image features with high-level context from object detectors and scene classifiers. With the rapid development in deep learning, more powerful tools, which are able to learn semantic, high-level, deeper features, are introduced to address the problems existing in traditional architectures. These models behave differently in network architecture, training strategy and optimization function, etc. In this paper, we provide a review on deep learning based object detection frameworks. Our review begins with a brief introduction on the history of deep learning and its representative tool, namely Convolutional Neural Network (CNN). Then we focus on typical generic object detection architectures along with some modifications and useful tricks to improve detection performance further. As distinct specific detection tasks exhibit different characteristics, we also briefly survey several specific tasks, including salient object detection, face detection and pedestrian detection. Experimental analyses are also provided to compare various methods and draw some meaningful conclusions. Finally, several promising directions and tasks are provided to serve as guidelines for future work in both object detection and relevant neural network based learning systems.
1.2 翻译
由于目标检测与视频分析和图像理解的密切关系,近年来引起了人们的广泛关注。传统的目标检测方法是建立在手工特征和浅层可训练架构上的。通过构建复杂的集成,将多个低级图像特征与来自目标检测器和场景分类器的高级上下文相结合,它们的性能很容易停滞不前。随着深度学习的快速发展,越来越多功能强大的工具被引入,这些工具能够学习语义的、高层次的、更深层次的特征,以解决传统架构中存在的问题。这些模型在网络架构、训练策略和优化功能等方面表现不同。本文回顾了基于深度学习的目标检测框架。我们的回顾首先简要介绍了深度学习的历史及其代表工具,即卷积神经网络(CNN)。然后,我们重点讨论了典型的通用目标检测体系结构以及一些改进和有用的技巧,以进一步提高检测性能。由于不同的特定检测任务具有不同的特征,我们还简要介绍了几种特定的检测任务,包括显著目标检测、人脸检测和行人检测。实验分析比较了各种方法,得出了一些有意义的结论。最后,提出了几个有前途的方向和任务,为未来目标检测和相关的基于神经网络的学习系统的工作提供指导。
二、介绍
为了理解图像,我们要对图像进行分类和精确定位其中目标的概念和位置,这就是“目标检测”。其中包含许多子任务:人脸检测、行人检测、骨架检测等等。
目标检测作为计算机视觉的基础问题之一,能够为图像和视频的语义理解提供有价值的信息,涉及到图像分类,人类行为分析,人脸识别,自动驾驶等诸多应用。
然而,由于视角、姿态、遮挡和光照条件的巨大变化,通过额外的物体定位任务很难完美地完成目标检测。近年来,这一领域受到了广泛的关注。目标检测的问题定义是确定物体在给定图像中的位置(物体定位)和每个物体属于哪个类别(物体分类)。因此传统目标检测模型的流水线主要分为三个阶段:信息区域选择、特征提取和分类。
2.1 信息区域选择
由于不同的物体可能出现在图像的任何位置,并且具有不同的长宽比或大小,因此使用多尺度滑动窗口扫描整个图像是一种自然的选择。由于候选窗口数量多,计算成本高,产生过多冗余窗口。然而,如果只应用固定数量的滑动窗口模板,可能会产生不满意的区域。
2.2 特征提取
为了识别不同的对象,我们需要提取能够提供语义和鲁棒的表示的视觉特征。然而,由于外观、光照条件和背景的多样性,很难手动设计一个鲁棒的的特征描述符来完美地描述所有类型的物体。
2.3 分类
目标检测中,需要使用分类器将目标与其他类进行区分,并表示的更具有层次性、语义性和信息量,以便于视觉的识别。常见分类器有支持向量机(Support Vector Mechine,SVM)、AdBoost和可变形零件模型(Deformable Part-based Model,DPM)。其中DPM比较灵活,可以结合物体的部分与变形的代价处理严重变形的情况。它还借助了图形模型,将低级特征和各部件分解相结合。
本篇文章系统介绍通用目标检测、显著性目标检测、人脸检测和行人检测几个应用领域代表模型和不同特点。这几类模型关系如下:
通常而言,基于基础的CNN架构,采用边界框回归实现通用目标检测,局部对比度增强和像素级分割实现显著性目标检测。人脸检测和行人检测通过多尺度自适应和多特征融合/增强森林实现。上图中虚线表示相应的域在一定条件下相互转换。行人和人脸具有相同规则结构,一般物体和场景图像变化更为复杂。不同图像需要不同的深度模型。
三、深度学习的简要回顾
3.1 历史、诞生、衰落和繁荣
深度学习即为具有深层结构的神经网络。神经网络最初用于模拟人类大脑系统,之后由于训练过拟合,数据缺乏和计算能力的限制,神经网络与21世纪初就过时了。深度学习与2006年流行,最初在语音识别方面得到突破,其繁荣归因于以下因素:
- 大规模带注释的训练数据出现,如ImageNet,展示了强大的学习能力
- 快速开发高性能并行计算系统,如GPU集群
- 网络结构设计和训练策略方面的重大进展。dropout和数据增强的出现缓解了数据过拟合问题,采用批处理归一化(BatchNormalization,BN)神经网络训练变得高效。各种网络结构也被提出以提高性能。
3.2 CNN架构和优势
CNN是最有代表性的深度学习模型,典型的CNN架构被称为VGG16。它的每一层被称为一个特征图,输入特征映射是不同颜色的通道(如RGB三通道)像素强度3D矩阵。任意一个内层的特征图都是一个多通道图像。“像素”就可以称为一个特定的特征。每个神经元与前一层(感受野)的小部分相邻神经元相连。在特征映射时进行不同的转换,如过滤、池化等。滤波(卷积)操作将滤波矩阵(学习权值)与神经元感受野的值进行卷积,并采用非线性函数(如sigmoid,ReLU)获得最终响应。池化操作如max池化、平均池化、l2池化和局部对比度归一化,将感受野响应总结为一个值,以产生更具有鲁棒性的特征描述。
卷积和池化之间的交错,可以构造一个初始的特征层次结构,再添加几个完全连接层(Full Connection,FC)以监督方式进行微调,适应不同视觉任务。经典VGG16具有13个卷积层(Conv),3个全连接层,3个最大池化层和一个softmax分类层。卷积特征图分辨率通过3*3的滤波窗口生成的。特征图分辨率通过两步最大池化层降低。训练后网络可以处理任意与训练样本大小相同的测试图像。若大小不同,则需重新缩放和裁剪。
CNN相比于传统方法的优势总结如下:
- 层次化特征表示,通过层次化多阶段结构学习到的像素到高级语义特征多层次表示,自动从数据中学习,并通过多层次非线性映射解除输入数据的隐藏因素
- 深层架构提高指数级增长的表达能力
- CNN架构提供联合优化多个相关任务的机会(Fast RCNN将分类和边界框回归结合成多任务学习方式)
- CNN使得一些经典计算机视觉挑战可以被重塑为高维数据转换问题,并从不同角度解决
因此CNN也被用于许多领域,如图像超分辨率重建、图像分类、图像检索、人脸识别和视频分析等。