基于深度卷积自编码器的单样本人脸识别
2020-09-06张彦郑任儿
张彦 郑任儿
摘要:单样本人脸识别问题是人脸识别问题中的难点问题,由于样本数少,现有的人脸识别算法在处理单样本人脸识别问题时,识别效果会显著降低。本文提出一种基于深度卷积自编码器的单样本人脸识别算法。算法采用深度卷积自编码器将多样本个体的类内变化迁移至单样本个体,重构出单样本个体包含类内变化的新图像,从而提高识别率。算法在公共测试库上进行了测试,实验结果表明,该算法能够重构出单样本个体包含其他类内变化的人脸图像,同时,识别率优于原图的识别率。
单样本人脸识别是人脸识别问题中的难点问题。在单样本人脸识别问题中,每个测试个体仅有一张已知样本图像,测试图像通过与已知样本图像的对比,得到测试结果。由于人脸图像在不同的环境、时间等情况下,会包含光照、表情、遮挡、姿态等变化,因此,当测试图像与已知样本图像拍摄的时间、环境等不同时,同一个体的人脸图像间会存在由于表情、环境、遮挡等带来的类内变化,有时类内变化会远远大于个体身份变化带来的类间变化。因此,诸多人脸识别算法在处理单样本人脸识别问题时,识别率会下降。
2012年Alex Krizhevsky等将卷积深度神经网络应用于Imagenet图像识别大赛,并取得了最好成绩,使得卷积深度神经网络得到广泛推广,并在诸如文字识别、语音识别等领域取得了成功。
深度神经网络要求有大量的样本进行训练,当样本数较少时,识别结果会迅速下降。2014年Bengio等研究了深度学习中特征的可迁移性问题,迁移学习的目标是利用已有的数据,将学习到的模式应用于相关的问题中,解决样本数较少时的识别问题。人脸图像的变化是具有相似性的,那么,是否可以利用已有个体的多个图像,学习人脸图像光照、表情、遮挡等类内变化,将其迁移至单样本个体,重构出该个体的图像,提高单样本人脸识别的识别率?
本文提出了一种基于深度卷积自编码器的单样本人脸识别算法。算法试图通过深度卷积神经网络,经过迁移学习,将多样本人脸图像的类内变化,推广至单样本人脸图像,重构出单样本个体不同类内变化图像,增加单样本个体的样本数,从而提高识别率。
本文算法分为以下三个步骤:
(1)采用所有已知样本训练通用深度卷积自编码器
(2)采用单样本个体的单个样本训练特定深度卷积自编码器
(3)采用softmax回归进行分类
深度卷积自编码器通过神经网络的卷积与反卷积重构出输入图像,输入图像与重构图像间的误差作为损失函数,训练深度卷积自编码器,得到训练结果。
设训练图像为,则第K层的特征映射为:
hk=σ(X*Wk+bk)
其中为激活函数(文中采用双曲正切函数),为2维卷积,b为偏移量。
在重构时,重构图像通过如下函数进行重构:
其中Y为重构图像,H为特征的集合,c为偏移量。在重构图像时,根据上式进行反卷积操作,重构出新的图像。
通过最小化输入图像与输出图像间的最小均方误差函数,对深度卷积自编码器进行训练,误差函数如下所示:
通用深度卷积自编码器包含人脸图像的类内及类间信息,在训练时,我们将所有的已知图像输入深度卷积自编码器,对所有输入图像进行重构,训练结束后,深度卷积自编码器应包含人脸图像的类内类间变化特征。
在通用深度卷积自编码器的基础上,我们采用每个单样本个体的标准图像,对通用深度卷积自编码器进行微调(finetune),修改通用深度卷积自编码器的权值,将多样本个体的类内变化进行迁移,得到针对每个单样本个体的特定深度卷积自编码器。
Softmax回归模型可用于多目标分类问题,通过训练数据得到训练样本属于某个类别的后验概率模型,当测试时,将测试数据输入概率模型,得到测试数据属于每个类别的概率,最大概率给出分类结果。
本文将特定深度卷积自编码器生成的重构图像及其编码器编号作为训练样本,生成类别概率模型,再将测试图像输入分类器,得到分类结果。
本节在AR Database上进行测试实验。AR Database 包含100个人,每人13张包含不同表情、光照及遮挡的人脸图像,其中50人性別为男,50人性别为女。AR Database中的图像如下图所示。
图1中(a)为个体的标准图像,该图像没有遮挡、表情及光照的变化,图1中(b)为包含表情、光照及遮挡的人脸照片。
本文选择50个人(25人男性,25人女性)的所有照片及另外50人的标准图像(共700幅图像)作为通用深度卷积自编码器的训练样本,所有图像转换为灰度图像,抽取为30*30的图像,输入深度卷积自编码器进行训练,生成通用深度卷积自编码器。
生成通用深度卷积自编码器后,选取剩余50人的标准图像,经过灰度化及抽取,转换为单通道30*30的图像,图像复制,生成500个样本,输入通用深度卷积自编码器进行微调,生成50个特定深度卷积自编码器。
测试时,选取人脸库中除训练图像外的所有图像(共600幅)作为测试图像,将测试图像输入50个特定深度卷积自编码器,得到测试图像的重构图像,重构图像的类别为特定深度卷积自编码器的类别。识别时,将测试图像与重构图像输入softmax分类器,给出识别结果。
特定深度卷积自编码器的输入图像及重构图像如图2所示。
本文分别测试了卷积核为7、15、23、29时的识别结果,识别率结果如图3所示。表1 给出了相同训练样本及相同测试样本情况下,采用softmax回归的分类结果,以及本文算法的识别结果(卷积核为29)。通过对比,表明本文算法可以提高单样本识别问题的识别率。
本文提出了一种基于深度卷积自编码器的单样本人脸识别算法,算法将多样本个体的类内变化迁移至单样本个体,重构出单样本个体的新图像,采用重构图像进行识别,提高识别率。实验表明,本文算法能够重构出单样本个体在不同环境下包含类内变化的图像,识别率优于原图采用相同分类算法的识别率。
[1]Krizhevsky, Alex , I. Sutskever , and G. Hinton . "ImageNet Classification with Deep Convolutional Neural Networks." NIPS Curran Associates Inc. 2012.
[2]Yosinski, Jason , et al. "How transferable are features in deep neural networks?." International Conference on Neural Information Processing Systems MIT Press, 2014.
[3]Jonathan Masci, Ueli Meier, Dan Cire?an, Jürgen Schmidhuber, Stacked Convolutional Auto-Encoders for Hierarchical Feature Extraction,Artificial Neural Networks and Machine Learning (ICANN), 2011, pp: 52-59.