前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >王晓刚:图像识别中的深度学习

王晓刚:图像识别中的深度学习

作者头像
用户1737318
发布2018-06-05 14:59:04
1.3K0
发布2018-06-05 14:59:04
举报
文章被收录于专栏:人工智能头条

深度学习在物体识别中的应用

ImageNet图像分类

深度学习在物体识别中最重要的进展体现在ImageNet ILSVRC3挑战中的图像分类任务。传统计算机视觉方法在此测试集上最低的错误率是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[18]将错误率降到了6.656%。GooLeNet突出的特点是大大增加了卷积网络的深度,超过了20层,这在此之前是不可想象的。很深的网络结构给预测误差的反向传播带了困难,这是因为预测误差是从最顶层传到底层的,传到底层的误差很小,难以驱动底层参数的更新。GooLeNet采取的策略是将监督信号直接加到多个中间层,这意味着中间层和底层的特征表示也要能够对训练数据进行准确分类。如何有效地训练很深的网络模型仍是未来研究的一个重要课题。

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

人脸识别

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

人脸识别包括人脸确认和人脸辨识两种任务。人脸确认是判断两张人脸照片是否属于同一个人,属于二分类问题,随机猜的正确率是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%的识别率(见表2)。他们利用卷积网络预测N维标注向量,将最高的隐含层作为人脸特征。这一层在训练过程中要区分大量的人脸类别(例如在DeepID中区分1000个类别的人脸),因此包含了丰富的类间变化的信息,有很强的泛化能力。虽然训练中采用的是人脸辨识任务,但得到的特征可以应用到人脸确认任务中,以及识别训练集中是否有新人。例如,LFW上用于测试的任务是人脸确认任务,不同于训练中的人脸辨识任务;DeepID和DeepFace的训练集与LFW测试集的人物身份是不重合的。

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

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

深度学习在物体检测中的应用

物体检测是比物体识别更难的任务。一幅图像中可能包含属于不同类别的多个物体,物体检测需要确定每个物体的位置和类别。2013年,ImageNet ILSVRC比赛的组织者增加了物体检测的任务,要求在4万张互联网图片中检测200类物体。比赛获胜者使用的是手动设计的特征,平均物体检测率(mean Averaged Precision, mAP)只有22.581%。在ILSVRC 2014中,深度学习将平均物体检测率提高到了43.933%。较有影响力的工作包括 RCNN、Overfeat、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%。在最新的研究进展中,很多被证明行之有效的物体检测都用到了深度学习。例如,联合深度学习提出了形变层,对物体部件间的几何形变进行建模;多阶段深度学习可以模拟物体检测中常用的级联分类器;可切换深度网络可以表达物体各个部件的混合模型;通过迁移学习将一个深度模型行人检测器自适应到一个目标场景。

深度学习用于视频分析

深度学习在视频分类上的应用还处于起步阶段,未来还有很多工作要做。描述视频的静态图像特征可以采用从ImageNet上学习得到的深度模型,难点是如何描述动态特征。以往的视觉研究方法对动态特征的描述往往依赖于光流估计、对关键点的跟踪和动态纹理。如何将这些信息体现在深度模型中是个难点。最直接的做法是将视频视为三维图像,直接应用卷积网络在每一层学习三维滤波器。但是这一思路显然没有考虑到时间维和空间维的差异性。另外一种简单但更加有效的思路是,通过预处理计算光流场或其他动态特征的空间场分布,作为卷积网络的一个输入通道。也有研究工作利用深度编码器(deep autoencoder)以非线性的方式提取动态纹理。在最新的研究工作中,长短时记忆网络(Long Short-Term Memory, LSTM)受到广泛关注,它可以捕捉长期依赖性,对视频中复杂的动态建模。

未来发展的展望

深度学习在图像识别中的应用方兴未艾,未来有着巨大的发展空间。

在物体识别和物体检测研究的一个趋势是使用更大更深的网络结构。在ILSVRC 2012中,Alex Net只包含了5个卷积层和两个全连接层。而在ILSVRC2014中, GooLeNet和 VGG 使用的网络结构都超过了20层。更深的网络结构使得反向传播更加困难。与此同时,训练数据的规模也在迅速变大。这迫切需要研究新的算法和开发新的并行计算系统来更加有效地利用大数据训练更大更深的模型。

与图像识别相比,深度学习在视频分类中的应用还远未成熟。从ImageNet 训练得到的图像特征可以直接有效地应用到各种与图像相关的识别任务(例如图像分类、图像检索、物体检测和图像分割等)和其他不同的图像测试集中,具有良好的泛化性能。但是深度学习至今还没有得到类似的可用于视频分析的特征。要达到这个目的,不但要建立大规模的训练数据集(最新建立了包含100万个YouTube视频的数据库),还需要研究适用于视频分析的新的深度模型。训练用于视频分析的深度模型的计算量也会大大增加。

在与图像和视频相关的应用中,深度模型的输出预测(例如分割图或物体检测框)往往具有空间和时间上的相关性。因此研究具有结构性输出的深度模型也是一个重点。

虽然神经网络的目的在于解决一般意义上的机器学习问题,但领域知识对深度模型的设计也起着重要的作用。在与图像和视频相关的应用中,最成功的是深度卷积网络,其设计正是利用了图像的特殊结构。其中最重要的两个操作——卷积和池化都来自与图像相关的领域知识。如何通过研究领域知识,在深度模型中引入新的有效的操作和层,对于提高图像和视频识别的性能有着重要意义。例如,池化层带来了局部的平移不变性,提出的形变池化层在此基础上更好地描述了物体各个部分的几何形变。在未来研究中,可以将其进一步扩展,从而取得旋转不变性、尺度不变性和对遮挡的鲁棒性。

通过研究深度模型和传统计算机视觉系统之间的关系,不但可以帮助我们理解深度学习成功的原因,还可以启发新的模型和训练方法。联合深度学习和多阶段深度学习未来还有更多的工作要做。

虽然深度学习在实践中取得了巨大成功,而且通过大数据训练得到的深度模型体现出的特性(例如稀疏性、选择性和对遮挡的鲁棒性)引人注目,但其背后的理论分析还有许多工作需要完成。例如,何时收敛?如何取得较好的局部极小点?每一层变换取得了哪些对识别有益的不变性,又损失了哪些信息?最近马拉特(Mallat)利用小波对深层网络结构进行了量化分析,这是在此方向上的重要探索。

结语

深度模型并非黑盒子,它与传统的计算机视觉系统有着密切的联系,神经网络的各个层通过联合学习、整体优化,使得性能得到大幅提升。与图像识别相关的各种应用也在推动深度学习在网络结构、层的设计和训练方法各个方面的快速发展。可以预见在未来数年内,深度学习将会在理论、算法和应用各方面进入高速发展时期。


原文作者:

王晓刚

中国香港中文大学助理教授。主要研究方向为计算机视觉、深度学习、群体视频监控、物体检测和人脸识别等。


脚注:

1 池化操作是在特征分布图的一个局部区域内取最大值或平均值传到神经网络下一层的特征分布图。经过池化操作,输出的特征分布图对局部形变具有更好的鲁棒性。

2 预训练是对神经网络的各个层次逐一优化,从而使网络参数达到一个好的初始点。人们通常在预训练之后,利用反向传播对所有层次的网络参数进行联合优化,进一步提高网络的性能。

3 ILSVRC,大规模视觉识别挑战赛(Large Scale Visual Recognition Challenge)。

图:

表:


本文节选自:《中国计算机学会通讯》第8期《专题》

原文作者:王晓刚

原文链接:http://weibo.com/p/1001603874995456863307

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档