基于域自适应均值网络的素描人脸识别方法
2023-05-08陈长武郭亚男杜康宁
陈长武 曹 林 郭亚男 杜康宁
(北京信息科技大学光电测试技术及仪器教育部重点实验室 北京 100101) (北京信息科技大学信息与通信工程学院 北京 100101)
0 引 言
随着社会科技和民众生活水平要求的不断提高,人们迫切希望自己的生活环境更加智能化、更加安全化。与此同时,生物特征识别技术、机器学习和深度学习得到快速的发展,高速度高性能的计算机出现,人脸识别技术得到了前所未有的重视,其在视频监控、门禁系统、网络应用等各个方面得到了广泛的实际应用。随着人们的需求和应用场景的增加以及现实生活中人脸图像具有多种表达形式,例如光学图像、近红外图像[1]、热红外图像、线条画图像[2]、素描图像等,使得异质人脸识别[3]成为了人脸识别领域中的研究热点。异质人脸识别旨在完成不同模态的两幅人脸图像之间的匹配,目前最困难的异质人脸识别情景之一是将光学图像与根据目标的目击者描述获得的素描图像相匹配,即素描人脸识别[4]。素描人脸识别最早提出于刑侦领域中,警方在处理刑侦案件时,通常很难获得犯罪嫌疑人的面部照片,唯一可用的信息是目击者对嫌疑人面部的口头描述,可供画家绘制犯罪嫌疑人的面部素描,进而搜索和匹配照片数据库中的个体,并与证人进行校验,从而确定犯罪嫌疑人的身份。
目前被设计用于素描人脸识别的算法可以分为两大类:模态内算法和模态间算法[3]。模态内算法通过将照片(素描)转换成素描(照片),然后使用在该模态下设计的面部识别器将合成素描(照片)与原始素描(照片)进行匹配,从而减少了模态差距。然而,仅当原始素描图像在外观上与原始照片非常相似时,这些方法才有较好的性能,此外,模态内算法所使用的面部识别器的性能还取决于生成图像的质量。模态间算法通过将两种不同模态的图像特征划分为公共空间,然后使用分类器进行识别,模态间方法旨在学习能够同时最大化类间差异和最小化类内差异的分类器,较模态内方法,降低了复杂度。由于素描图像和光学图像之间存在较大的模态差异,直接使用模态间方法取得的识别精度相对较低。并且,由于素描人脸图像难以获得,现有的素描人脸数据较少,上述两种方法在训练较少数据时,均存在易过拟合的问题。
为了解决上述问题,本文提出一种基于域自适应均值网络(Domain Adaptation Mean Networks,DAMN)的素描人脸识别方法。具体地,针对较少的训练数据易过拟合的问题,域自适应均值网络设计了一种针对素描人脸识别的元学习训练策略,将学习水平从数据提升到任务,在训练过程中,每个任务针对前一个任务,都存在新的类,极大地增强了模型的综合泛化能力;在每个任务中,为提取判别性特征来提升识别率,域自适应均值网络引入了适合素描人脸识别的均值损失,通过将光学图像和素描图像映射到同一个度量空间中,均值损失模拟图像样本之间的距离分布,使得同类的样本特征彼此靠近,异类的样本特征彼此远离。最后,为了减少在训练过程中光学图像和素描图像间存在的模态间差异,域自适应均值网络引入了一个域自适应模块,通过不断降低二者之间的最大平均差异来优化网络。
1 相关工作
元学习[5-7]又称为“学会学习(Learning to Learn)”,即利用以往的知识经验来进行新任务的学习,具有学会学习的能力。元学习将学习水平从数据提升到任务[8],通过从一组标记的任务中学习,而不是传统深度学习中的从一组标记的样本数据中学习,从而实现在一定量的训练数据的情况下快速学习新类的分类器。现有的元学习可分为三大类,第一类为基于优化的元学习方法,Ravi等[9]提出基于LSTM的元学习优化器,元学习器在考虑单个任务的短期记忆的同时,也考虑了全部任务的长期记忆,直接通过优化算法来提升泛化性能;第二类为基于模型的元学习方法,Finn等[10]提出了Model-Agnostic元学习方法,该方法旨在寻找给定神经网络的权重配置,使得在几个梯度下降更新步骤中有效地针对小样本问题进行微调;第三类是基于度量学习的元学习方法,通过模拟样本之间的距离分布,使同一类的样本彼此靠近,不同类的样本彼此远离。Vinyals等[11]提出了匹配网络(Matching Networks),该网络使用一种注意机制,通过学习嵌入已标记的样本集(支持集)来预测未标记点(查询集)的类。
国内外研究人员对基于度量学习的元学习方法进行了大量研究,并且提出了许多基于该方法的图像识别方法,广东大学的Wang等[12]提出了孪生网络(Siamese Networks),通过从数据中学习一个相似性度量,用学习到的度量去比较和匹配新的未知类别的样本;阿姆斯特丹大学的Garcia等[13]提出了图神经网络(Graph Neural Network),该方法定义了一个图神经网络,端到端地学习信息传递的关系型任务,将每个样本看做图的节点,该方法不仅学习节点的嵌入,也学习边的嵌入。虽然元学习在图像识别领域取得了重大进展,但仍未被应用到素描人脸识别领域当中。
2 本文方法
域自适应均值网络架构如图1所示,由一个元网络和域自适应模块组成。针对现公开的素描人脸图像数据较少,且传统的深度学习方法在少量训练数据情况下易过拟合,进而导致识别性能受到影响的问题,本文设计元网络,将学习水平提升至任务,避免了在现有数据量不多的情况下易过拟合的问题,并且实现了更好的识别性能。在元网络中,通过特征提取器,分别得到元任务中的光学图像和素描图像的特征向量后,利用二者在特征空间的度量关系计算得到均值损失。针对素描图像和光学图像间的模态差异的问题,引入了域自适应模块,通过最小化特征空间中素描图像和光学图像之间的最大平均差异,来降低模态差异对识别性能的影响。
2.1 元任务
传统的基于深度学习的素描人脸识别方法,在训练数据较少时,存在易过拟合而导致性能较差的问题,因此本文借鉴经典元学习方法原型网络(Prototypical Networks,PN)[14]的思想,设计如下的训练策略。
2.2 元网络
元网络结构如图1所示,其中特征提取器f(·)采用18层的残差网络ResNet-18[15],主要由四种不同通道大小设置的残差模块作为基本结构组合而成。残差模块结构如图2所示,每个残差模块堆叠了两层卷积,两层卷积的通道数相同,每个残差模块的输入首先与第一层3×3卷积层进行卷积,然后依次执行批量归一化(Batch Normalization,BN)和激活函数修正线性单元(Rectified Linear Unit,ReLU),然后输入到第二层3×3卷积层,再次通过BN层,最后与残差模块的输入相加,再通过ReLU激活层,作为残差模块的输出。ResNet-18网络结构如表1所示。
图2 残差模块示意图
表1 ResNet-18网络结构
(1)
(2)
(3)
与此同时,对Ss执行与Sp相同的操作,同样得到一个平均度量值:
(4)
(5)
对整个查询集Q的负对数概率进行最小化作为目标损失函数即均值损失:
(6)
2.3 域自适应模块
现有的基于元学习的图像识别方法均针对同域图像间的识别,即在训练过程中支持集和查询集为同种模态的图像。在本文设计的训练策略中,支持集由光学图像或者素描图像构成,查询集由光学图像和素描图像构成,而光学图像通过数码设备拍摄得到,而素描图像是通过画家绘制得到,二者之间存在着较大的模态差异,导致深度网络模型学习的二者之间的特征表示存在着较大的差异。为了减少模态差异对识别性能的影响,本文设计域自适应模块,将素描图像集和光学图像集作这两个分布,分别作为源任务和目标任务,在训练过程中,不断降低二者之间的最大平均差异来提高网络的性能。
最大平均差异[16]最早提出用于两个样本之间的检测问题,以判断两个分布是否相同。通过寻找在样本空间上的连续函数f,求两个分布的样本在f上的函数值的均值,通过把两个均值作差得到两个分布对应于f的平均差异(Mean Discrepancy,MD)。寻找一个f使得这个平均差异有最大值,便得到了最大平均差异,若这个值小于设定的阈值,则表示两个分布之间相同,否则,表示两个分布不相同。在本文中,最大平均差异损失实际上是用于评估具有特征映射函数f(·)和核函数k(·,·)的再生核希尔伯特空间H(Reproducing Kernel Hilbert Space,RKHS)中两个不同分布之间的相似性的距离度量:
(7)
式中:pp和ps分别对应每个“episode”中光学图像和素描图像的分布。将均值运算代入得:
(8)
式中:N为每个“episode”中的光学图像的数量和素描图像的数量。式(4)展开并将其中的点积进行核函数计算得:
(9)
其中:k(x,y)为高斯核函数:
(10)
在本文中,k(x,y)为五种不同的高斯核函数之和,即有五个不同的高斯核参数σi(i=1,2,…,5)。其中σ1计算公式为:
(11)
式中:m和n分别为源任务和目标任务中的样本数量。σi(i=2,3,…,5)分别为:
σi=σ1×2i-1i=2,3,…,5
(12)
即本文中的k(x,y)为:
(13)
为了平衡域自适应均值网络的分类性能和降低模态差异性能,本文将元嵌入模块中的均值损失和域自适应模块中的最大平均差异损失集成到一个统一的优化问题中:
minLtotal=Lmean+λLmmd
(14)
式中:λ为均值损失和最大平均差异损失间的权衡超参数。通过基于端到端梯度的反向传播算法来优化网络参数,达到目标学习的目的。算法1介绍了每个episode的损失计算流程。
算法1域自适应均值网络中每个episode损失计算流程
输入:具有K个类的训练集Dtrain,每个元任务中的类的数量N,平衡超参数λ。
输出:episode总损失Ltotal=Lmean+λLmmd。
1.{1,2,…,N}←随机采样({1,2,…,K}),从K个训练类中随机采样N个类。
5.计算均值损失如式(2)所示。
6.计算最大均值差异损失如式(5)所示。
3 实验与分析
3.1 数据集
本文采用UoM-SGFS数据库[17]中的素描图像和Color FERET数据库[18]中的相应照片来评估本文方法,UoM-SGFS数据库是目前最大的软件生成的素描数据库,也是唯一一个以全彩色表示所有素描的数据库。为了能够更好地训练和测试算法,该数据库被扩充到原来的两倍,因此包含600个人的1 200幅素描。UoM-SGFS数据库存在两组:set A包含600对素描-光学人脸图像,其中素描图像由EFIT-V生成;set B同样包含600对素描-光学人脸图像,其中素描图像为set A中的素描图像经过图像编辑程序微调后得到更加逼真的素描图像,图3展示了UoM-SGFS数据库的样本示例。
图3 UoM-SGFS数据集样本示例
为了进一步评估本文方法的性能,本文还在extend-PRIP(e-PRIP)数据库[19]上进行了实验,原始的e-PRIP数据库由不同研究人员创建的四组数据组成,两组由亚洲研究人员使用FACES和Identi-Kit工具绘制而成,一组由印度研究人员使用FACES软件绘制而成,还有一组由美国画家使用FACES绘图工具绘制。本文仅采用了由亚洲研究人员使用Identi-Kit工具绘制的素描图像,包含AR数据库中的123个人的光学图像和对应的合成素描。图4展示了本文采用的e-PRIP数据库的样本示例。
图4 e-PRIP数据集样本示例
本文基于上述两个数据库划分了三组数据集,在第一组数据集(S1)中,UoM-SGFS set A分为训练集和测试集两部分,训练集包含450对图像,测试集包含150对图像,在测试集中,素描图像构成probe集,照片构成gallery集;在第二组数据集(S2)中,UoM-SGFS set B分为训练集和测试集两部分,具体设置同S1一致,为了更好地模拟现实场景,S1和S2中的gallery集扩充了1 521个人的照片,包括来自MEDS-Ⅱ数据库的509幅照片、来自FEI数据库的199幅照片、来自LFW数据库中的813幅照片。在第三组数据集(S3)中,e-PRIP分为训练集和测试集两部分,训练集包含48对图像,测试集包含75对图像,在测试集中,素描图像构成probe集,照片构成gallery集,表2详细列出了数据集设置。为了保证算法的泛化能力,对三组数据集均进行了五重随机交叉验证。
表2 实验数据集
3.2 实验设置
1) 预处理:首先使用MTCNN[20]对UoM-SGFS数据集和e-PRIP数据集中的图像进行人脸检测并对齐,仅保留人脸关键点信息,获得同一尺度的人脸图像,图5展示了对UoM-SGFS数据集处理后的图像示例。在训练和测试时,在输入模型前需要对经过上述操作后的图像进行进一步处理,包括将图像统一调整为256×256大小,图像填充,图像随机裁剪,图像水平翻转,将图像数据转换成PyTorch可用的张量(Tensor)数据类型,以及对图像归一化处理。
图5 处理后的UoM-SGFS数据集样本示例
2) 参数设置:在训练过程中,总共训练60×100个元任务,每100个元任务保存一次模型,最终保存了60个训练模型。根据多次实验结果,针对S1和S2数据集,每个元任务“episode”从训练集中随机采样32对图像,即2.1节中的N设置为32;针对S3数据集,每个元任务“episode”从训练集中随机采样8对图像,即2.1节中的N设置为8。特征提取器resnet-18采用初始识别率为0.000 1、动量为0.1、步长为40的Adam优化器更新网络的参数。均值损失和最大平均差异损失间的权衡超参数λ设置为0.01。
3.3 消融实验
在本节中,我们在S1、S2和S3数据集上均进行了3组消融实验,以评估本文方法中每个部分的贡献。(1) DAMN without mmd:去掉了最大均值差异损失,采用元学习训练策略和均值损失训练网络。(2) DAMN without ML:去掉了元学习训练策略和均值损失,采用传统的深度学习方法和最大均值差异损失对模型进行训练,每个周期对所有训练数据进行训练,然后更新参数重新训练所有训练数据,分类损失采用交叉熵损失,仍保留了最大均值差异损失来降低光学图像和素描图像之间的模态差异。在训练过程中,总共训练了50个epoch,batchsize设置为4。(3) baseline:同时去掉了元学习和最大均值差异损失,仅采用传统的深度学习方法和交叉熵损失对模型进行训练。baseline在训练过程中,参数和DAMN without ML保持一致,总共训练了50个epoch,batchsize设置为4。三组消融实验在S1、S2数据集上的Rank-1、Rank-10、Rank-50结果如表3和表4所示,在S3数据集上的Rank-10结果如表5所示,图6、图7和图8分别为在S1、S2、S3数据集上的CMC曲线图。可知,我们完整的方法优于所有这些变化,表明每个部分都是必不可少的,并且彼此互补。
表3 在S1数据集上的消融实验结果(%)
表4 在S2数据集上的消融实验结果(%)
表5 在S3数据集上的消融实验结果(%)
图6 在S1数据集上的消融实验
图7 在S2数据集上的消融实验
图8 在S3数据集上的消融实验
通过上述3组消融实验的实验结果,我们发现将元学习和最大均值差异损失结合在一起来训练模型,可以达到最佳效果;消融实验1和实验2的准确性均略低于完整的方法,但仍高于baseline,说明元学习算法通过将学习水平从数据提升到了任务,在相同数据量的情况下,大大提高了网络模型的综合泛化能力,从而显著地提升了识别性能。最大均值差异损失通过降低素描图像和光学图像之间的分布差异,从而降低了二者之间的域转移,对识别性能有了一定的提升。
3.4 对比实验
在本节中,针对S1和S2数据集,我们将本文方法与目前最新的方法ET+PCA[21]、EP+PCA[22]、DEEPS[3]、D-RS+CBR[23]和LGMS[24]进行了比较,其中ET+PCA和EP+PCA为模态内方法,DEEPS、D-RS+CBR和LGMS为模态间方法。表6和表7分别展示了ET+PCA、EP+PCA、DEEPS、D-RS+CBR、LGMS和本文方法在S1和S2数据集上的实验结果,图9和图10分别展示了对应的识别率柱状图。显然,在更具有挑战性的S1数据集上,除了本文算法外的算法性能均较低;模态间方法无论是在较低的Rank还是较高的Rank上都优于模态内方法。CBR和DEEPS均为专门设计用于软件合成素描与光学图像之间的匹配方法,其在S1和S2数据集上的低识别性能表明UoM-SGFS数据集的挑战性。
表6 在S1数据集上的对比实验结果(%)
表7 在S2数据集上的对比实验结果(%)
图9 在S1数据集上的对比实验
图10 在S2数据集上的对比实验
在S1和S2数据集中,本文方法均优于其他方法。在S1数据集中,只有本文方法在Rank-10中正确检索了90%以上的对象,平均匹配率为91.2%,对比方法中性能最好的DEEPS模态间方法,即使在Rank-50上也无法达到此性能。与DEEPS相比,本文方法在S1数据集上的Rank-1上约高出了35百分点,并且在S2数据集上的Rank-1上约高出了22百分点,本文方法的优越性能表明元学习算法较传统深度学习算法的优势。
针对S3数据集,我们将本文方法与目前最新的方法SSD[25]、Attribute[26]、和Transfer Learning[19]进行了比较,其中:SSD和Attribute为传统方法;Transfer Learning为深度学习方法。表8展示了SSD、Attribute、Transfer Learning和本文方法在S3数据集上的实验结果,图11为对应的CMC曲线图。可以看出,本文方法在Rank-1上的识别性能略低于Attribute方法,但从Rank-2开始,本文方法性能一直优于其他三种方法,并且在Rank-10上,本文方法较Attribute方法高出了9百分点,这表明了本文方法的有效性。
表8 在S3数据集上的对比实验结果(%)
图11 在S3数据集上的对比实验
为了进一步体现本文方法的优越性,我们还将上述三个数据集S1、S2、S3在最新的域自适应方法DANN[27]、CDAN[28]和BSP+CDAN[29]上进行了实验,实验结果分别如图12、图13、图14和表9、表10、表11所示。可以看出,本文方法性能优于其他三种域自适应方法。
表9 在S1数据集上的域自适应方法对比实验结果(%)
表10 在S2数据集上的域自适应方法对比实验结果(%)
表11 在S3数据集上的域自适应方法对比实验结果(%)
图12 在S1数据集上的域自适应方法对比实验
图13 在S2数据集上的域自适应方法对比实验
图14 在S3数据集上的域自适应方法对比实验
4 结 语
针对现有的素描人脸数据量较少和素描图像与光学图像间模态差距大的问题,本文提出基于域自适应均值网络的素描人脸识别方法。该方法通过设计基于距离度量的元学习方法训练网络,将学习水平从数据提升至任务,从而提高了网络的泛化能力。对每个任务,通过在域自适应均值网络引入均值损失,提取了判别性特征。最后,通过降低素描图像特征向量和光学图像特征向量间的最大平均差异,缩小了二者间的分布差异,从而减少了特征之间的模态差距。在UoM-SGFS数据库和e-PRIP数据库的实验表明,本文方法可以有效改善素描人脸识别效果。