1. 引言
近年来,随着社会的发展与科学技术的不断进步,人脸识别因其识别方式友好等优点,广受学术界和工业界的关注。当前成熟的人脸识别技术已广泛应用于多个领域。然而,在刑侦等特殊领域的场景中,有时难以直接获取人的面部照片,而通过目击者或相关知情者的回忆,绘制一幅人脸的手绘素描草图,并通过这张草图寻找嫌疑人,缩小寻找范围以进一步确定人物身份。在该场景下,通过人脸草图准确识别人物身份至关重要。
深度学习的迅速发展使得深度卷积神经网络在理论上和应用上取得突破,人脸识别问题也得到了更好的解决和发展。对于人脸草图识别问题,由于人脸草图的异质性和特征不准确、不均衡的特点,应用普通人脸识别算法时难以取得较理想的效果。本文拟解决的人脸草图问题,存在以下几个挑战:
· 由于记忆不均匀或一些有意识、无意识的加工,人脸草图的特征准确性不均衡;
· 由于草图与人脸的异质性,普通的人脸识别算法在该问题上的应用效果不稳定;
· 人脸草图问题常常存在带有遮挡或有特征偏重的情况,传统算法难以处理。
因此,针对人脸草图识别的问题和上述挑战,本文提出一种基于深度学习的人脸草图分析与识别方法,将深度卷积神经网络与传统图像处理算法结合,提高算法鲁棒性。并将卷积神经网络应用于计算机视觉中的注意力机制,对于人脸草图进行特征检测和区域检测处理,自动调整在遮挡情况下的特征权重,以更好地解决人脸草图的识别匹配问题。
2. 相关研究
香港中文大学的汤晓鸥教授及其多媒体实验室是最早研究该问题的团队之一,该团队在2002年即发表了相关的工作 [1],其采用传统的特征脸 [2] 方法对草图和人脸进行匹配,并且公开了草图人脸的数据集 [4]。后来该团队尝试了多种方法 [3] 对该问题进行研究,例如采用非线性方法 [5] 对人脸而调整进行变换,采用贝叶斯张量生成人脸印象 [6] 等。
西安电子科技大学的高新波教授及其团队也在该问题上进行了拓展,其研究工作采用了许多合成方法 [7],生成人脸草图 [8],同时在此基础上尝试了许多草图的识别方法 [9] [10],还尝试了采用较新的表示学习对人脸特征进行变换表示并进行识别 [11]。
英国的Queen Mary University of London的SketchX实验室在草图问题上做了诸多研究,他们采用了跨模态的面对面素描匹配 [12],以及考虑了人的记忆对素描的影响 [13] [14],北京邮电大学的欧阳书馨博士与其合作做了许多相关的研究工作 [15]。
在深度神经网络和计算机视觉领域,传统的图像特征提取算法具有悠久的研究历史,当前先进的卷积神经网络算法也已在大量数据集上获得了成功应用。最新的视觉算法已在图像注意力机制问题上做出了一定的贡献。
上述研究工作对该问题打下了良好的研究基础,但是,当前的研究工作仍然存在一些问题,其研究工作未注重模型的稳定性和准确性的结合,亦未考虑到人脸特征的注意力和权重调整等。在此基础上,本文将综合考虑草图人脸分析与识别方法的诸多细节问题,综合全局特征与局部特征,结合传统方法与深度学习方法,设计人脸草图分析识别方法。本文方法具有以下优点:
· 结合传统算法与深度学习算法,准确性较好;
· 算法的稳定性较好,可处理异质跨模态问题;
· 通过特征权重算法实现注意力机制,可以处理带有特征偏重的人脸草图图像。
3. 算法设计
3.1. 问题定义
首先将算法的相关参数定义如表1算法的相关参数定义。
本文的算法接受输入的人脸草图,通过训练好的网络模型对其进行特征提取和映射变换表示,然后将得到的结果与数据库中的人脸照片预处理好的特征表示进行匹配,计算目标草图与数据库中人物的距离,然后将距离较近的人物照片和相应身份信息返回。算法总体描述如算法1所示:
以上是人脸草图分析识别系统的总体算法描述。其中,本文要解决的核心问题就是计算人脸草图与人脸照片的相似度:
()
即算法对输入的人脸草图
和照片
进行一定的特征提取和变换后,计算特征表示相应的距离。在计算该距离时,本文还考虑到人脸草图识别过程中的特征偏重问题,结合传统特征描述算子,对相应的特征进行权重分配,实现匹配过程中的注意力机制。最终实现解决人脸草图分析与识别问题的目的。
3.2. 基于卷积神经网络的人脸草图分析识别算法
在本文中,如何对人脸草图和照片进行特征提取和变换表示是本文最重要的问题之一。如前文所述,传统的人脸特征提取表示算法在大量数据面前暴露了短板,而以深度神经网络为代表的复杂模型的深度学习方法依靠大数据的驱动和算力的巨大进步,在人脸分析识别问题上取得了更好的成绩。
本文基于卷积神经网络算法,构建卷积神经网络模型。卷积神经网络的输入图像尺寸为(100 * 100),采取深度卷积网络结构,在网络前端设计多个卷积核和卷积池化层结构,并连接全连接层进行参数共享和参数处理。在各层进行参数正则化和归一化处理,使网络各层参数保持在相同的数量级内,并且能够使目标参数空间更加规整,加速网络训练优化。
通过迁移学习(TransferLearning)的方式,利用大规模数据集上预训练的人脸识别算法模型,结合传统的人脸描述算子,在人脸草图问题上进行迁移学习,从而使模型具有人脸草图分析识别能力。
3.3. 人脸草图特征分析与提取方法的注意力机制
如上文所述,本文采用深度卷积神经网络结合孪生网络架构进行人脸草图和照片的分析与识别,其中,深度卷积神经网络进行特征的提取、转换和映射表示,采用孪生网络架构对网络进行训练,并将得到的特征映射表示进行距离计算。
在进行人脸草图与照片分析的过程中,卷积神经网络所得到的特征提取结果依据为训练得到的前端的卷积核参数。而在本文中,要实现带有注意力机制的人脸草图分析与识别,不仅要靠卷积神经网络前端的卷积核,还要结合孪生网络后端的如公式(8)所示的距离比较算法。而在该式中,sigmoid函数的参数W即各维度特征的权重,该参数决定了各特征在计算向量距离即识别匹配过程中所占的权重。
3.4. 人脸特征描述
传统人脸检测和识别算法的重要一步就是提取人脸各部分的特征,按照SIFT算法的流程对图片进行处理,提取得到多项特征描述点。
如本文所述,SIFT特征提取分为四个步骤:尺度空间极值检测,特征点定位,方位定向,计算特征点描述子。
最后得到SIFT特征描述符(特征向量)为一定维度的向量,通常研究人员会对此向量做降维运算以节省运算资源加速计算,以常用的128维向量为例,用相应的空间距离描述SIFT特征点之间的距离,即表示特征之间的距离。
通过设置合理的距离阈值,即可通过SIFT特征进行相应的特征匹配。
本文通过基于SIFT算法的开源主动形状模型(ActiveShapemodels)对人脸草图进行建模,将人脸关键点特征分为以下几个描述子图1人脸关键特征区域示意:
1) 人脸轮廓
2) 左眼区域
3) 右眼区域
4) 鼻子
5) 嘴巴
算法对人脸草图与照片做相同的处理,得到维度为78维的特征向量landmark,每个维度代表特征点的位置,其中各维度与特征关系如表2特征向量描述相应特征:
计算得出相应特征描述向量后,可依据该向量结合卷积神经网络的输出结果,对人脸特征进行比对:
(1)
其中,
为神经网络对图片的处理输出,landmark为特征点描述向量。
为实现注意力机制,算法需要调整相应的特征权重即
。
是一个参数向量,长度为
,表示相应的特征向量元素的距离在整体距离计算中所占的比重。本文以带有遮挡条件和人工注意力特征为例,计算带有注意力机制的特征距离。
当算法检测到图像有一定遮挡时,即检测不到某些特征区域图2带有遮挡人脸草图示例:
如图2所示,人物面部草图的嘴部被遮挡,导致特征提取算法对嘴部区域的关键点检测失败,特征描述子缺失,因此,
将会令相应的特征权重降低或置为0,提高其它部分的特征权重,并且,在神经网络对图像的处理输出中进行调整,结合特征权重进行处理,由此实现对于特征的选择。
当目击者对与目标人物某些特征记忆较深时,也需要用到注意力机制,如图3局部注意力示例所示:
图3中,目击者对人物的双眼部分的特征记忆较为深刻,因此,在输入图像时用户即指定眼部(含眉毛)的注意力较强,算法接受这一指令后,将调整眼部的特征权重
,以实现最大化找到眼部距离较近的目标人物。
4. 基于孪生网络的人脸跨模态识别匹配算法
传统的图像处理与人脸识别问题中,涉及到大量的图像与人脸的特征比对,其中的特征数量与隐含的特征数量较多,人工涉及的特征工程模型难以进行很好的捕捉和描述。
为了计算人脸草图与照片的相似性,本文以深度学习和图像处理领域的孪生神经网络(Siamese Network)为基础,训练人脸草图和照片分析与识别的模型。
4.1. 孪生网络
孪生网络的作用是将输入映射到一个目标空间,然后使用空间中的距离(如欧式距离等)来对比输入的相似度。网络的结构大致如图4:
其中,
表示各自的神经网络对输入的前向传播(Forward Propagation)的输出结果。在本文中表示为:
(2)
孪生网络定义的输入相似性度量如下:
(3)
为了使网络得到更好的判别效果,设置一个正整数的阈值m,当输入的
与
来自同一类别,且
与
来自不同类别时:
(4)
由此,即可表示网络中遇到来自相同类别(同一人物)的人脸草图与照片时,网络输出的距离小于来自不同类别(不同人物)的人脸草图与照片的距离。从而可以通过该方法,设置相应的损失函数和目标函数,对网络进行优化训练。
4.2. 模型输出的距离度量
在比对
时,将卷积神经网络的输出定义为人脸草图或照片的特征组成的向量,以欧氏距离平方公式为例:
(5)
可以直接计算向量之间的距离作为照片或草图是否属于同一人物的概率:
(6)
此外,还可以采用其它的距离计算公式,如欧氏距离(2-范数距离)、曼哈顿距离(1-范数距离)等其它表示距离的函数。
相对于以上这些分类函数,在本文中,由于在该场景下本文需要对某些特征有偏重计算,因此,本文对特征向量的距离设置一定的权重w,w为一向量,维度和
相同。可采用线性回归的思路,以1-范数距离为例,以下式计算距离:
(7)
其中,b为偏移量bias,辅助向量计算做一些常量上的偏移。
在训练过程中,此方法可以结合注意力机制,在图像存在遮挡情况时,自动降低被遮挡部分特征的权重,增加未遮挡部分,动态调整最终的输出向量,从而获得更好的鲁棒性和准确性。
在系统推断过程中,当目击者或绘图者没有记录下目标任务的全貌,而仅记住一些特点比较突出的特征时,如嘴巴、鼻子等器官的突出特征,可以在推断时适当增加这些特征的权重。从而实现对部分特征更具针对性的识别。
在本文中,对于网络最外层的输出,可以采用二分类问题的sigmoid函数,以带有权重的特征距离为例:
(8)
其中,
表示网络对两个输入的距离的判别结果,由sigmoid函数的表达式和图像可以得知,
是
区间内的实数,通过设置一个超参数阈值
可以转化为0或1的分类结果:
(9)
由此,便得到了针对两个输入情况下的结果判定。
4.3. 损失函数与目标优化函数
由上面的距离函数,定义孪生网络的损失函数:
(10)
当采用上文中的距离公式时:
(11)
这个损失函数的作用是,对于每一个三元组
,如果网络输出的距离能够满足式子的条件,即两个组合距离的间距达到m,那么损失函数为0。否则,如果不能满足条件,即取:
(12)
在训练过程中,不断优化网络目标函数,惩罚该项损失函数,最终使该损失函数能够满足设定的要求。
对于整个训练集来说,设置孪生网络的损失函数如下:
(13)
其中M是训练集中三元组的个数,
表示训练集中的第i个三元组。
5. 总结
本文提出了带有注意力机制的人脸草图分析与识别方法,首先通过大规模数据集训练下的卷积神经网络为基础,得到初步的对人脸草图和照片的分析判别能力。并且模型结合传统的SIFT图像特征描述子将人脸特征用两种方式进行提取和变换产生联合表示。模型结合传统的算法实现了注意力机制下的特征分析与提取,即当用户对某些特征具有强烈偏向性或图像遮挡时,可根据相应的算子设置特征向量以调整权重,使该特征在距离计算时占较大的比重。最后,算法总体上使用了孪生网络模型,通过从数据集中产生三元组,得到相应的训练集,并设置合理的距离计算公式,计算相应的特征之间的距离。
本文针对人脸草图识别中的特征不均衡问题进行了注意力机制方向上的尝试,在一定程度上解决了重点特征与遮挡状态下的人脸草图识别问题。然而本文也存在数据量较小,且对卷积神经网络模型未进行基础改进等问题。在机器计算人脸特征与人类对人脸的更好理解方面仍有较多工作值得开展。