论文理解:多任务学习及卷积神经网络在人脸识别中的应用

来源:互联网 发布:竹笛教学的软件 编辑:程序博客网 时间:2024/05/29 16:14

在已有的基于深度学习的人脸识别框架中,每个任务(人脸鉴别、认证和属性分类等)是相互独立设计的。本文提出一种基于多任务框架的深度卷积网络,通过将人脸鉴别、认证和属性分类同时作为网络的目标函数,端到端地训练整个深度卷积网络。此网络可以同时完成上述三种任务,不需要额外的步骤,实验结果显示,即使在有限的数据支持下,该方法依然能够取得不错的性能。在LFW数据集上获得了97.3%的精度。

在人脸识别领域,Facebook提出了DeepFace,利用CNN网络进行人脸识别,性能与人工识别相媲美。香港中文大学提出了DeepID将其精度提升到99%以上。相比前者,DeepID采用更深的网络拓扑,利用识别和认证两种监督信息进行训练。

现有的识别方法的缺点第一是出于商业利益和隐私保护所采用的数据集并未公开,第二是模型训练的功能单一,无法同时完成不同的识别任务。

本文利用多任务学习机制,提出新的训练策略。将人脸鉴别、认证和属性分类结合训练深度神经网络,在只使用较少的数据的前提下,就达到了上述各大公司接近的性能(0.7M vs260M),因此本文提出的方法具有非常好的实际应用价值。

识别主要包含三大任务:认证、鉴别和属性分类。
人脸认证是判定给定的两张人脸是否属于同一个人;人脸鉴别是得到给定人脸所对应的身份(ID);属性分类是获取人脸的一些属性特征,如:性别、是否秃顶、是否佩戴眼镜等。

多任务人脸识别:
利用多任务学习训练卷积网络和利用该网络完成不同的人脸识别任务。
本文通过以下三个阶段训练网络:第一阶段,利用鉴别任务所产生的交叉熵损失对网络进行训练,使网络拥有一个良好的初值;
第二阶段,加入认证任务所产生的三元组损失对先前的网络进行进一步训练,提高网络的识别精度;第三阶段,在之前的训练基础上,加入属性分类任务对网络进行训练,使网络可以同时完成认证、鉴别和属性分类三类任务。

对于人脸验证任务,分别提取两张标准脸的CNN特征,之后对其进行相似度测量,常用的度量方法有欧式距离、余弦距离以及联合贝叶斯(Joint Bayes)方法。比较距离和阈值的关系即可确定是否通过验证。实验表明余弦距离相较欧式距离在人脸验证任务上具有更强的区分能力,而联合贝叶斯方法需要额外训练,时间复杂度较大。
对于人脸鉴别任务,提取待鉴别的标准脸的CNN特征后,与人脸库中已注册的人脸CNN特征进行比较,选取K近邻来获得人脸鉴别结果,返回相应特征所对应的名字。对于海量注册人脸识别,还可以利用哈希等技术加快检索速度。
对于人脸属性分类任务,将经过预处理的标准脸送入到已经训练好的卷积神经网络中,获取对应的人脸属性分类结果。

人脸鉴别任务是根据标准脸获取其对应的身份(ID)。根据该任务的特点,可以将人脸鉴别任务理解为一种多分类任务。假设数据集中采集自不同身份的N个人,那么本文 的网络需要对给定的人脸进行N类分类。在学习的过程中,网络一方面要对同一个人的表情和姿态的变化以及光照情况具有鲁棒性,分到同一类中;另一方面要区分相似人脸,分到不同类中。

对于给定的人脸图片,经过4次卷积池化和1次全连接后获得人脸所对应的特征,一般将全连接1称为深度嵌入(deep embedding),之后经过丢弃再进行N类分类。
在实验中,采用CASIA WebFaces的数据集进行训练,数据集中拥有10575个不同的人,因此这里就是10575类的分类问题。
为了提高网络的识别精度,在训练中进行了数据扩充,随机截取输入图片中固定输入区域的大小,这样可以有效克服因标注习惯的不同所产生的差异,抓住人脸各个部分的细节差异,有效防止网络过拟合。实际输入图片大小为144*144,随机截取大小为128*128.另外考虑到人脸的对称性,还对人脸进行水平方向的翻折。

认证鉴别网络训练
人脸认证是判定给定的两张人脸是否属于同一个人。2014年常采用的方法是siamese网的方法,采用对照损失函数(contrastive loss)来进行监督。对于同一个人的不同人脸图片在特征空间的距离尽可能小,不同的人脸图片距离不小于某个阈值。2015年Google的facenet采用三元组损失函数(triplet loss)取,该损失每次选取3张人脸,2张属于同一个人记做基准A和正例P,1张输入另一个人的记做反例N。对于同一个人的2张人脸在特征空间中的距离小于不同人脸的距离,其对应的损失函数为:这里写图片描述

相比对照损失,三元损失更简单直接,并且在效果上优于对照损失,因此文中采用三元组损失作为认证任务损失函数。
但不同于FaceNet训练时仅采用三元组损失的做法,本位将训练而得到的鉴别网络作为网络初值,之后加入三元组损失作为监督信息。
这么做的好处:网络训练速度更快;同时考虑人脸识别中的鉴别和认证两大任务,有效提升了识别精度。
网络2是认证网络拓扑。在训练中,由于交叉熵损失和三元组的量纲不同,根据经验超参数λ = 0.001。
通过鉴别和认证两大任务训练后的网络,不但兼顾了特征空间中样本的概率分布,使网络更具泛化能力,而且还考虑了特征空间中样本的类内类间的距离关系,能对难例有更好的区分度。

认证鉴别属性分类网络训练
2015年CUHK发布了CelebA数据集,该数据集有40个人脸二元属性,例如戴眼镜与否、性别等。结合CASIA WebFaces数据集就可以训练多任务网络。认证鉴别网络的基础上,加入属性分类的监督信息,使网络可以同时进行人脸验证、鉴别和属性分类任务。为了消除人脸数据集中的姿态、位置、尺度的差异,CelebA中的人脸也需要进行预处理操作获取标准脸。网络3是认证鉴别网络。
这里写图片描述

0 0