物体识别_深度学习在物体识别中的应用探讨:以ImageNet和人脸识别为例

ImageNet图像分类

深度学习在物体识别中最重要的进展体现在ImageNet ILSVRC挑战中的图像分类任务。传统计算机视觉方法在此测试集上最低的错误率是26.172%。2012年,欣顿的研究小组利用卷积网络把错误率降到了15.315%。此网络结构被称为 Alex Net与传统的卷积网络相比,它有三点与众不同之处:首先,Alex Net采用了dropout的训练策略在训练过程中将输入层和中间层的一些神经元随机置零。这模拟了噪音对输入数据的各种干扰使一些神经元对一些视觉模式产生漏检的情况。Dropout使训练过程收敛得更慢,但得到的网络模型更加鲁棒。其次,Alex Net采用整流线性单元作为非线性的激发函数。这不仅大大降低了计算的复杂度,而且使神经元的输出具有稀疏的特征,对各种干扰更加鲁棒。第三,Alex Net通过对训练样本镜像映射和加入随机平移扰动,产生了更多的训练样本减少了过拟合。

在ImageNet ILSVRC 2013比赛中,排名前20的小组使用的都是深度学习技术。获胜者是纽约大学罗伯·费格斯(Rob Fergus)的研究小组,所采用的深度模型是卷积网络,并对网络结构作了进一步优化,错误率为11.197%,其模型称作Clarifai。在ILSVRC 2014比赛中,获胜者GooLeNet将错误率降到了6.656%。GooLeNet突出的特点是大大增加了卷积网络的深度,超过了20层,这在此之前是不可想象的。很深的网络结构给预测误差的反向传播带了困难,这是因为预测误差是从最顶层传到底层的,传到底层的误差很小,难以驱动底层参数的更新。GooLeNet采取的策略是将监督信号直接加到多个中间层,这意味着中间层和底层的特征表示也要能够对训练数据进行准确分类。如何有效地训练很深的网络模型仍是未来研究的一个重要课题。

虽然深度学习在ImageNet上取得了巨大成功,但是很多应用的训练集是较小的,在这种情况下,如何应用深度学习呢?有三种方法可供参考:(1)可以将ImageNet上训练得到的模型作为起点,利用目标训练集和反向传播对其进行继续训练,将模型适应到特定的应用。此时ImageNet起到预训练的作用。(2)如果目标训练集不够大,可以将底层的网络参数固定,沿用ImageNet上的训练集结果,只对上层进行更新。这是因为底层的网络参数是最难更新的,而从ImageNet学习得到的底层滤波器往往描述了各种不同的局部边缘和纹理信息,而这些滤波器对一般的图像有较好的普适性。(3)直接采用Image Net上训练得到的模型,把最高的隐含层的输出作为特征表达,代替常用的手工设计的特征。

474dd3ac7abc479917819e9269d4f8d8.png

人脸识别

深度学习在物体识别上的另一个重要突破是人脸识别。人脸识别的最大挑战是如何区分由于光线、姿态和表情等因素引起的类内变化和由于身份不同产生的类间变化。这两种变化的分布是非线性的,且极为复杂,传统的线性模型无法将它们有效区分开。深度学习的目的是通过多层的非线性变换得到新的特征表示。这些新特征须尽可能多地去掉类内变化,而保留类间变化。

人脸识别包括人脸确认和人脸辨识两种任务。人脸确认是判断两张人脸照片是否属于同一个人,属于二分类问题,随机猜的正确率是50%。人脸辨识是将一张人脸图像分为N个类别之一,类别是由人脸的身份定义的。这是个多分类问题,更具挑战性,其难度随着类别数的增多而增大,随机猜的正确率是1/N。两种任务都可以通过深度模型学习人脸的特征表达。

2013年,有人采用人脸确认任务作为监督信号,利用卷积网络学习人脸特征,在LFW上取得了92.52%的识别率。这一结果虽然与后续的深度学习方法相比较低,但也超过了大多数非深度学习算法。由于人脸确认是一个二分类问题,用它学习人脸特征的效率比较低,容易在训练集上发生过拟合。而人脸辨识是一个更具挑战性的多分类问题,不容易发生过拟合,更适合通过深度模型学习人脸特征。另一方面,在人脸确认中,每一对训练样本被人工标注成两类中的一类,所含信息量较少。而在人脸辨识中,每个训练样本都被人工标注成N类之一,信息量大。

在2014年的IEEE国际计算机视觉与模式识别会议(IEEE Conference on Computer Vision and Pattern Recognition, CVPR)上, DeepID和DeepFace都采用人脸辨识作为监督信号,在LFW上分别取得了97.45%和97.35%的识别率。他们利用卷积网络预测N维标注向量,将最高的隐含层作为人验特征。这一层在训练过程中要区分大量的人脸类别(例如在DeepID中区分1000个类别的人脸),因此包含了丰富的类间变化的信息,有很强的泛化能力。虽然训练中采用的是人脸辨识任务,但得到的特征可以应用到人脸确认任务中,以及识别训练集中是否有新人。例如,LFW上用于测试的任务是人脸确认任务,不同于训练中的人脸辨识任务;DeepID和DeepFace的训练集与LFW测试集的人物身份是不重合的。

通过人脸辨识任务学习得到的人脸特征包含较多的类内变化。DeepID2联合使用人脸确认和人脸辨识作为监督信号,得到的人脸特征在保持类间变化的同时使类内变化最小化,从而将LFW上的人脸识别率提高到99.15%。DeepID2利用TitanGPU提取一幅人脸图像的特征只需要35毫秒,而且可以离线进行。经过主元分析(Principal Component Analysis,PCA)压缩最终得到80维的特征向量,可以用于快速人脸在线比对。在后续工作中,DeepID2通过扩展网络结构,增加训练数据,以及在每一层都加入监督信息,在LFW达到了99.47%的识别率。

一些人认为深度学习的成功是由于用具有大量参数的复杂模型去拟合数据集,其实远非如此简单。例如DeepID2+的成功还在于其所具有的很多重要有趣的特征:它最上层的神经元响应是中度稀疏的,对人脸身份和各种人脸属性具有很强的选择性,对局部遮挡有很强的鲁棒性。在以往的研究中,为了得到这些属性,我们往往需要对模型加入各种显示的约束。而DeepID2+通过大规模学习自动拥有了这些属性,其背后的理论分析值得未来进一步研究。

深度学习在物体检测中的应用:物体检测是比物体识别更难的任务。一幅图像中可能包属于不同类别的多个物体,物体检测需要确定每个物体的位置和类别。2013年,ImageNet ILSⅤRC比赛的组织者增加了物体检测的任务,要求在4万张互联网图片中检测200类物体。比赛获胜者使用的是手动设计的特征,平均物体检测率(mean Averaged Precision,mAP)只有22.581%。在ILSVRC 2014中,深度学习将平均物体检测率提高到了43.933%。较有影响力的工作包括RCNN、Overeat、GoogLeNet、DeepID-Net、network in network、VGG和spatial pyramid pooling in deep CNN。RCNN首次提出了被广泛采用的基于深度学习的物体检测流程,并首先采用非深度学习方法(例如selective search)提出候选区域,利用深度卷积网络从候选区域提取特征,然后利用支持向量机等线性分类器基于特征将区域分为物体和背景。DeepID-Net进一步完善了这一流程,使得检测率有了大幅提升,并且对每一个环节的贡献做了详细的实验分析。深度卷积网络结构的设计也至关重要,如果一个网络结构能够提高图像分类任务的准确性,通常也能显著提升物体检测器的性能。

深度学习的成功还体现在行人检测上。在最大的行人检测测试集(Caltech)上,广泛采用的方向梯度直方图(Histogram of Oriented Gradient,HOG)特征和可变形部件模型的平均误检率是68%。目前基于深度学习检测的最好结果是20.86%。在最新的研究进展中,很多被证明行之有效的物体检测都用到了深度学习。例如,联合深度学习提出了形变层,对物体部件间的几何形变进行建模;多阶段深度学习国可以模拟物体检测中常用的级联分类器;可切换深度网络可以表达物体各个部件的混合模型;有人通过迁移学习将一个深度模型行人检测器自适应到一个目标场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值