二维人脸识别受光照、遮挡和姿态的影响较大. 为了克服二维人脸识别的缺点, 本文提出了一种基于深度学习的多模态融合三维人脸识别算法. 该方法首先使用卷积自编码器将彩色图像和深度图进行融合, 将融合后的图像作为网络的输入进行预训练, 并且设计了一种新的损失函数cluster loss, 结合Softmax损失, 预训练了一个精度非常高的模型. 之后使用迁移学习将预训练的模型进行微调, 得到了一个轻量级神经网络模型. 将原始数据集进行一系列处理, 使用处理之后的数据集作为测试集, 测试的识别准确率为96.37%. 实验证明, 该方法弥补了二维人脸识别的一些缺点, 受光照和遮挡的影响非常小, 并且相对于使用高精度三维人脸图像的三维人脸识别, 本文提出的算法速度快, 并且鲁棒性高.
Two-dimensional (2D) face recognition is greatly affected by illumination, occlusion, and attitude. To overcome these shortcomings, this study proposes a 3D face recognition algorithm with multi-modal fusion based on deep learning. Firstly, the convolutional autoencoder fuses the color image and the depth map, and the fused image is input to the network for pre-training. In addition, a new loss function cluster loss is designed for pre-training in combination with the Softmax loss, so as to obtain a highly accurate model. Then, transfer learning is employed to fine-tune the pre-trained model, and thus a lightweight neural network model is obtained. The processed original dataset is used as the test set, and the identification accuracy of the test reaches 96.37%. Experimental results verify that the proposed method makes up for some shortcomings of 2D face recognition, and it is less affected by illumination and occlusion. Compared with 3D face recognition using high-precision 3D face images, the proposed algorithm is faster and more robust.
近年来, 得益于数据集的日益庞大和硬件设备日新月异的发展, 深度学习应用越来越广泛, 带动了人脸识别的快速发展. 目前二维人脸识别已趋于饱和, 在光照统一、表情一致的实验室条件下, 识别准确率已经非常高. 但是二维人脸识别受光照、遮挡和姿态等的影响较大, 在光线昏暗、面部遮挡的情况下, 不能正确地识别出人脸.
三维人脸除了包含彩色图的纹理信息之外, 也包含了深度信息. 相对于二维人脸识别, 三维人脸识别应对遮挡、光照和姿态的变化更具有优势. 因此, 三维人脸识别适合更多的场景. 三维人脸识别根据数据来源的不同可分为3类: 基于RGB图像的三维人脸识别、基于高质量三维扫描图像的三维人脸识别、基于低质量RGB-D图像的三维人脸识别. 基于RGB图像的三维人脸识别通过RGB彩色图像重建三维人脸模型, 但是重建模型较为复杂, 且参数极多速度较慢. 基于高质量图像的三维人脸识别使用高质量三维人脸数据进行识别, 但是获取高质量的三维人脸数据代价高昂, 需要特定的高精度扫描仪进行采集, 并且采集的数据非常大, 会导致模型过于复杂. 目前高精度三维人脸数据集有Bosphorus[
本节介绍基于高质量图像的三维人脸识别方案, 基于低质量RGB-D图像的三维人脸识别方案和人脸识别损失函数.
基于高质量图像的三维人脸识别. 随着技术的进步, 学者逐步转向三维人脸识别, 但是高质量三维人脸数据库数量依然比较少. Gilani等人[
基于低质量RGB-D图像的三维人脸识别. RGB-D图像包括彩色图和深度图. 单独使用深度图进行识别任务不能得到较好的效果, 因此将彩色图和深度图进行融合会得到更好的识别结果. 融合的方式分为3种: 信号层融合、特征层融合、决策层融合[
人脸识别损失函数. 通常来说, 识别或分类任务使用Softmax损失函数, 但是Softmax损失函数只能保证目标具有可分性, 对人脸识别这种类间相似性较大的任务来说, 具有非常大的局限性. 因此, 损失函数是人脸识别方向的研究热点. 人脸识别损失函数主要有两种思路: 减少类内差异, 增大类间可分离性. 基于第1种思路, Wen等人[
本文的主要贡献如下:
(1)设计自动编码器将彩色图和深度图在特征层面进行融合. 得到融合图像作为识别任务的输入.
(2)基于巴氏距离的思想, 提出一种新的损失函数cluster loss. 结合Softmax损失进行识别任务, 不仅能够减少类内的变化, 而且能够扩大类间的差异.
(3)使用迁移学习, 将融合图像训练得到的模型使用彩色图像进行微调. 得到的新模型使用彩色图像作为输入, 依旧可以克服光照和面部遮挡这一缺点. 将人脸彩色图像模拟戴口罩和变暗, 识别率依然较高.
多模态融合指融合不同形式的数据. 本文需要融合的数据是人脸的彩色图和深度图. 使用卷积自动编码器对两种不同形式的图像进行融合. 卷积自动编码器是将传统的自编码器的无监督学习方式, 结合了卷积层、池化层、上采样层或者转置卷积层等操作. 图像经过解码层得到特征向量, 特征向量经过编码层得到重构图像. 自编码器自动从样本中学习相关特征而不是通过人工进行提取.
卷积自编码器网络结构如
卷积自编码器网络结构
以图像
其中,
在使用卷积自编码器进行多模态数据融合时, 有以下几点说明:
(1)不能将全连接层去掉或者使用卷积层代替, 否则编码器不能学习到有用的特征, 图像无法正常生成. 全连接层的作用是打乱空间结构. 全连接层可用1×1的卷积网络去代替, 1×1的卷积网络也可打乱空间结构, 并且参数比全连接层少, 速度更快, 缺点是重构图像效果没有使用全连接层的效果好.
(2)解码层的卷积+上采样层可用转置卷积(transposed-convolution)[
人脸识别或者表情识别存在着较高的类间相似性, 导致识别性能显著下降. 传统的卷积神经网络进行人脸识别任务时, 使用Softmax loss作为损失函数, 惩罚分类错误的样本, 能够分离出不同类别的特征, 但是特征向量是分散的, 并且会出现不同类别的特征重叠的情况, 如
3种损失函数示意图
Center loss为特征向量与类中心的距离的平方和, 公式表示为式(3):
其中,
如
其中, 第1项为center loss, 用来惩罚样本与对应类中心之间的距离, 第2项表达式用来减少不同的类中心的相似性, 以扩大类间距离.
式(6)为Softmax loss与cluster loss的加权和,
反向传播过程中, cluster loss对输入样本
计算第
其中, 第1项是中心损失计算的特征中心的差值, 第2项是对
算法1. 使用cluster loss进行识别任务的算法伪代码
输入: 已经标记的训练数据{
1. 初始化批次大小为
2. for
3. 计算整个网络的损失函数
4. 计算反向传播的误差
5. 更新cluster loss参数
6. 更新网络权重
7. end for
输出: 网络权重
迁移学习, 即让模型具有举一反三的能力. 让网络在任务A中学习到的知识应用到任务B的学习中, 使得网络不仅有任务A的知识也有任务B的知识, 任务A和任务B需有一定的相关性. 文献[
迁移学习过程
本文实验使用RGB-D人脸数据集Texas3DFRDatabase, 共118个人的1 149个样本. 使用TensorFlow 2.0深度学习框架来搭建网络. 实验室GPU型号为GTX1080Ti. 首先使用第2.1节中提到的自动编码器进行RGB数据和深度数据的融合,
RGB图像、深度图像、融合图像
(1)用dlib库自带的frontal_face_detector特征提取器进行人脸检测, 并提取出人脸图像.
(2)将提取出来的人脸图像大小重新设置为112像素×112像素.
(3)数据增强. 随机对图像进行水平翻转、亮度调整, 裁剪、添加噪声, 以防止过拟合问题.
(4)将增强后的图像进行归一化. 将每一像素的数据类型转换为float32, 再把每一个像素值除以255, 使得每一个像素的值在0–1之间.
本文实验在使用融合图像预训练模型时, 批量为64, 共训练60轮.
为了评估有效的评估cluster loss, 本文在其他因素不变的情况下, 根据不同的损失函数先后训练了3个模型: 1)基于Softmax loss; 2)基于Softmax loss + center loss; 3) Softmax loss + cluster loss.
3种算法训练结果(%)
算法 | 准确率 |
Softmax loss | 92.06 |
Softmax loss + center loss | 94.35 |
训练过程对比
超参数
本文论述的是三维人脸识别, 前期使用未遮挡、没有光照变化的人脸图像作为训练集, 因此后期我们需要使用有遮挡、有光照变化的RGB人脸图像进行测试来验证本文提出的三维人脸识别算法的有效性. 我们对原始数据集进行了处理, 给人脸加口罩和墨镜模拟了人脸图像在真实条件下的遮挡, 人脸图像调暗模拟光线昏暗的情景, 具体算法本文不详细论述. 处理后的条件如
不同
加入遮挡、光线处理后的图像
3种算法在不同条件下的识别准确率比
算法 | 口罩 | 墨镜 | 光线 | 平均 |
S | 0.899 3 | 0.9201 | 0.9009 | 0.9097 |
S+center | 0.9263 | 0.9428 | 0.9390 | 0.9360 |
本实验中, 仍然存在着过拟合现象, 即训练误差与测试误差相差较大, 其原因在于数据量过小. 在算法中采用了dropout和图像增强(水平翻转、亮度调整, 裁剪、添加噪声)的方法在一定程度上降低了过拟合现象.
Dropout和图像增强方法对过拟合的抑制程度
为了验证多模态融合特征在三维人脸识别任务中的有效性, 设计了3组实验, 分别将融合后的图像、深度图和RGB图像作为输入, 进行训练, 3个模型除输入数据不一样之外, 其余均一致. 训练完成之后, 分别用正常人脸图片、带遮挡人脸图片和暗光线环境下的人脸图片进行测试.
多模态有效性实验结果
模态数据 | 口罩 | 墨镜 | 光线 | 正常 |
RGB | 0.5374 | 0.5751 | 0.7361 | 0.9881 |
Depth | 0.5012 | 0.5316 | 0.5289 | 0.8619 |
实验结果表明, 使用多模态融合数据训练出的模型比单独使用RGB数据进行训练出的模型, 在正常环境下测试的准确率稍低, 但是在遮挡条件下和光线暗淡条件下, 测试准确率提升非常明显. 由于灰度图质量比较低, 所含信息较少, 因此单独使用灰度图训练出的模型识别精度相对较低. 此实验结果可以证明多模态特征融合的有效性.
二维人脸识别受光照、遮挡和姿态的影响较大, 而基于高质量三维扫描数据的人脸识别计算量大, 非常复杂. 针对这一系列问题, 本文基于RGB图像和深度图像, 提出了一种多模态融合的三维人脸识别算法. 并且针对人脸数据类间相似性较大的问题, 基于巴氏距离的思想, 提出了一种新的损失函数cluster loss, 用来惩罚类特征中心的相似性, 使得不同类的特征中心尽可能地分离. 之后使用Softmax loss、Softmax loss+center loss、Softmax loss+cluster loss三种算法分别训练了模型进行比较, 用来验证我们提出的损失函数的优越性. 我们使用处理过的RGB图像(模拟真实情况下口罩和墨镜对人脸的遮挡和光线较暗的情景)对预训练的模型进行微调, 使得模型仅使用RGB图像作为输入即可, 并且不受光照和遮挡的影响. 测试表明, 我们的算法受光照和遮挡的影响非常小, 并且我们提出的损失函数在测试中较其他两种取得了最优的效果, 识别准确率达到了96.37%. 但是本文提出的方法具有一定的局限性, cluster loss需要和Softmax loss联合使用, 超参数
et al. Bosphorus database for 3D face analysis. The 1st European Workshop on Biometrics and Identity Management. Roskilde: Springer, 2008. 47–56.]]>
et al. A 3D facial expression database for facial behavior research. 7th International Conference on Automatic Face & Gesture Recognition. Southampton: IEEE, 2006. 211–216.]]>
et al. Led3D: A lightweight and efficient deep approach to recognizing low-quality 3D faces. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach: IEEE, 2019. 5766–5775.]]>
et al. Lock3DFace: A large-scale database of low-cost Kinect 3D faces. 2016 International Conference on Biometrics (ICB). Halmstad: IEEE, 2016. 1–8.]]>
Min R, Kose N, Dugelay JL. KinectFaceDB: A kinect database for face recognition. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2014, 44(11): 1534–1548.
et al. Texas 3D face recognition database. 2010 IEEE Southwest Symposium on Image Analysis & Interpretation. Austin: IEEE, 2010. 97–100.]]>
Cai Y, Lei YJ, Yang ML,
et al. Deep 3D face identification. 2017 IEEE International Joint Conference on Biometrics (IJCB). Denver: IEEE, 2017. 133–142.]]>
Kusuma GP, Chua CS. PCA-based image recombination for multimodal 2D + 3D face recognition. Image and Vision Computing, 2011, 29(5): 306–316.
Jiang L, Zhang JY, Deng BL. Robust RGB-D face recognition using attribute-aware loss. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(10): 2552–2566.
et al. Accurate and robust face recognition from RGB-D images with a deep learning approach. Proceedings of the British Machine Vision Conference 2016. York: BMVA Press, 2016. 1–14.]]>
Li BYL, Xue ML, Mian AS,
Chang KI, Bowyer KW, Flynn PJ. An evaluation of multimodal 2D+3D face biometrics. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(4): 619–624, doi: 10.1109/TPAMI.2005.70.
et al. RGB-D face recognition: A comparative study of representative fusion schemes. 13th Chinese Conference on Biometric Recognition. Urumqi: Springer, 2018. 358–366.]]>
et al. A discriminative feature learning approach for deep face recognition. 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 499–515.]]>
et al. ArcFace: Additive angular margin loss for deep face recognition. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 4685–4694.]]>
et al. Island loss for learning discriminative features in facial expression recognition. 2018 13th IEEE International Conference on Automatic Face & Gesture Recognition. Xi’an: IEEE, 2018. 302–309.]]>
]]>
et al. Is the deconvolution layer the same as a convolutional layer? arXiv: 1609.07009, 2016.]]>
et al. How transferable are features in deep neural networks? Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 3320–3328.]]>
Pan SJ, Yang Q. A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345–1359.