人脸深度特征的提取和应用

深度学习近两年在人脸识别方向上取得了突破性的成果。香港中文大学的团队和google团队使用卷积神经网络学习特征,将之用于人脸识别的子领域人脸验证方面,在lfw上的验证准确率均达到了99%以上。


根据项目需要,我实现了人脸深度特征提取系统,并在人脸识别,五官索引和人脸漂亮程度评估方面取得的不错的效果,这里称为NetFace系统。相比于DeepID200个网络而言,NetFace只使用10个网络,训练更加轻量,并且使用的图片子块是选取有实际意义的区域,使深度特征可以应用于基于五官的索引,评估。最终在lfw上达到了97.6%的结果


模型训练和特征抽取

NetFace使用的外部数据集是CASIA-WebFace,先把数据集进行了切分,切分成了FacesA10258个人)和FacesB1317个人)。使用FacesA训练特征提取网络;然后在FacesB数据集上训练联合贝叶斯模型,然后将13个联合贝叶斯模型使用SVM进行融合


训练网络之前先对图片进行正向恢复,正向的人脸会在一定程度上增加识别的准确率,通过实验验证约为0.3%。正向化处理效果如下图所示。

   图1.图片正向化

图片块选用原人脸和正向化人脸的实际意义区域,包括全头部,全脸,眼睛,鼻子,嘴巴等共10个。所以需要训练的网络也只需要10个。相比于DeepID的200个网络而言,要取得比较好的识别效果,需要采用深度来弥补数量的不足,所以NetFace使用更深的网络结构,即包含5个卷积层和三个全连接层。这样处理的优点,一是使用有意义的区域可以实现通过这些区域进行图片检索和聚类(比如基于大眼睛的检索,高鼻梁的检索等),另外仅仅10个网络的训练对时间和硬件的需求更小。

图2. 使用的图片块,第一行为原始图片块,第二行为正向化之后截取的图片块

提取的特征具有相当的稀疏性,通过PCA进行降维去噪,可以改善SVM进行特征融合时的验证效果。所以除了上面的10个部位的特征(每个256维),还加入了3个使用PCA降维后的特征。


特征的应用

应用的说明主要通过几个简单的测试案例说明。

人脸识别

深度特征对表情,侧脸以及发型,胡须部分遮挡具有一定的鲁棒性。

相似人脸索引

测试图片来自于花田。

    检索相似的五官

以图搜图,根据图片中指定的五官搜索与其相似的五官。

  颜值评估

根据分数分成两组,组1为得分小于零,组2为得分大于零。

可见深度特征对颜值有一定的区分性。


本文来自网易实践者社区,经作者祁斌川授权发布。