Print

发布时间: 2018-10-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180004
2018 | Volume 23 | Number 10




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





结合深度度量学习的血缘关系识别
expand article info 瞿道庆1, 马琳1, 邵珠宏1,2
1. 首都师范大学信息工程学院, 北京 100048;
2. 首都师范大学成像技术北京市高精尖创新中心, 北京 100048

摘要

目的 人脸图像分析是计算机视觉和模式识别领域的重要研究方向之一,基于人脸图像的血缘关系识别是对给定的一对或一组人脸图像,判断其是否存在某种血缘关系。人脸血缘关系识别不仅在生物特征识别领域有着重要研究价值,而且在社交媒体挖掘、失散家庭成员寻找等社会生活领域中有重要的应用价值。针对当前大多数算法都是基于传统机器学习方法,提出一种采用深度度量学习进行人脸图像血缘关系研究的新方法。方法 目前深度学习算法能很好地理解单张人脸图像,但是多个主体间的关系探究仍然是计算机视觉领域富有挑战性的问题之一。为此,提出一种基于深度度量学习的父母与子女的血缘关系识别方法。首先使用超过5 000 000张人脸图像的样本集训练一个深度卷积神经网络FaceCNN并提取父母与子女的人脸图像深度特征,之后引入判别性度量学习方法,使得具有血缘关系的特征尽可能地靠近,反之则尽可能地远离。然后对特征进行分层非线性变换使其具有更强判别特性。最后根据余弦相似度分别计算父亲、母亲和孩子的相似度并利用相似概率值得到双亲和孩子的综合相似度得分。结果 算法在TSKinFace数据集上验证了FaceCNN提取特征与深度度量学习结合进行血缘关系识别的有效性,最终在该数据集上父母与儿子和女儿的血缘关系识别准确率分别达到87.71%和89.18%,同时算法在进行血缘度量学习和双亲相似度计算仅需要3.616 s。结论 提出的血缘关系识别方法,充分利用深度学习网络良好的表征和学习能力,不仅耗时少,而且有效地提高了识别准确率。

关键词

血缘关系识别; 卷积神经网络; 深度特征; 深度学习; 度量学习

Kinship verification combined with deep metric learning
expand article info Qu Daoqing1, Ma Lin1, Shao Zhuhong1,2
1. College of Information Engineering, Capital Normal University, Beijing 100048, China;
2. Beijing Advanced Innovation Center for Imaging Technology, Capital Normal University, Beijing 100048, China
Supported by: National Natural Science Foundation of China(61601311, 61603022)

Abstract

Objective Facial image analysis has been an important and active subfield of computer vision and pattern recognition.Kinship verification refers to the tasks of training a machine based on features extracted from facial images to determine the existence, type, and degree of kinship of two or more people.Moreover, kinship verification has extensive and promising applications in many technical and social fields, such as family history research and photo management in social network services.In addition, the study on kinship verification is of great theoretical significance to related fields.Several commonalities can be observed among kinship verification algorithms, which are based on traditional machine learning.This paper proposes a new method for studying kinship verification based on face images through deep metric learning. Method Currently, deep learning algorithm can effectively understand a single face image, but the relationship between multiple subjects is still one of the challenging problems in the field of computer vision.This paper presents an approach to kinship verification between parents and children.First, a deep convolution neural network called "FaceCNN" is trained by using a dataset that contains more than 5 000 000 face images from which deep features are extracted.The training set of the deep convolutional neural network contains Internet-sourced datasets of thousands of people, including public kinship datasets, Microsoft face datasets, some films and television dramas, and public figures.Each dataset contains several face images.These face images have complex backgrounds, large differences in image quality, and various face postures, expressions, ages, and genders.Before training the deep network, the face images in the dataset must be preprocessed, including face filtering, face detection, and key point alignment.Then, all images are cut into 144×144 pixels.Then, we divide the father-mother-son and father-mother-daughter samples into father-son, mother-son, father-daughter, and mother-daughter samples.However, we cannot use the Mahalanobis distance to perform metric learning for kinship verification because the traditional Mahalanobis distance measurement learning method only seeks a linear transformation and cannot easily capture the non-linear manifold of the face image.A discriminative metric learning algorithm called DDML is adopted to render the kinship features as near as possible and vice versa.Hierarchical non-linear transformation is employed to achieve a more discriminative learning.Finally, we propose a kinship verification method for parents and children where the cosine similarity is calculated between parents and children.The children may be more similar to one of the parents, and thus we must calculate the similarity probability of the children with their father and mother.The final kinship score is the weighted average of the similarity between children and parents. Result A nine-layer deep model is trained to determine whether the given images have a relationship.The effectiveness of features extraction by using FaceCNN combined with the deep metric learning for kinship verification is validated in the experiment in which the recognition accuracy between parents and son performed on the TSKinFace dataset is 87.71%, and that between parents and daughter is 89.18%, which indicates that the recognition rate of the model increased by 1.31% and 4.87%, respectively.Meanwhile, the proposed approach only requires 3.616 s for metric learning and parental similarity calculation, reducing the time consumed greatly compared with other algorithms. Conclusion The proposed kinship verification takes full advantage of the characterization and learning ability of the deep neural network, and it does not only consume less time but also improves the recognition accuracy.

Key words

kinship verification; convolution neural network; deep feature; deep learning; metric learning

0 引言

对人脸图像进行血缘关系识别研究是计算机视觉领域一个新兴且富有挑战的问题,血缘关系识别是指借助计算机技术判断出两人或者多人是否存在某种血缘关系,或能够给出多个主体间血缘关系类型和程度。心理学、生物学等领域中关于个人通过人脸图像识别血缘关系的能力和家庭中个体之间存在的生物学相似性[1-4]等研究工作为血缘关系识别提供了理论基础。

已有的研究结果表明,相关的机器学习算法在单张人脸图像识别性能上已经达到了比人还高的99.15%[5]准确率,但在处理血缘关系识别问题等多个主体间的图像理解任务时却面临许多问题,主要原因是多个主体间有着不同的性别和年龄,并且采集的图像在视角、光照和背景信息等方面差异较大。血缘关系识别领域的研究人员所面对的任务正是要识别多个复杂主体间是否具有某种血缘关系。

1 相关工作

近年来,围绕血缘关系识别问题,研究的一般流程主要是特征提取、模型构建和分类器学习,研究人员不断尝试从这3个方面寻求新的突破。2010年,Fang等人[1]首次提出利用计算机方法识别血缘关系,奠定了此领域研究的基础,他们首先定位到人脸的关键部位,然后提取出图像灰度值、皮肤颜色和梯度直方图等特征,最后使用最近邻分类器进行人脸血缘关系识别,但由于当时血缘样本数量太少,方法较简单,实验结果并不是太理想。此后,研究人员又尝试了不同的方法提取出人脸图像特征,并采用不同的算法来解决血缘关系识别问题。Somanath等人[6]采用度量学习方式进行血缘关系识别研究,Ghahramani等人[7]引入了侧脸和表情信息,提高了准确率。Dibeklioglu等人[8]利用人脸视频而非静态图像开展研究工作,提出了动态特征算法。Vieira等人[9]采用多特征SVM,发现纹理特征比几何特征效果好。之后他们研究了兄妹血缘关系识别问题[10],综合运用了几何信息和纹理信息。Fang等人[11]采用稀疏组lasso算法研究大家庭的血缘关系识别,但由于采用了亲属人脸块重构人脸的方法,实验中容易受到图像噪声的影响。Lu等人[12]提出邻域排斥度量学习方法,该方法学习获得一个距离度量,在此度量下不具有血缘关系的图像尽可能远离,而具有血缘关系的图像则被拉近。之后,Zhang等人[13]尝试使用深度学习方法进行血缘关系研究,他们利用深度卷积网络提取了人脸图像的高层特征并取得了较好的实验结果。

针对父母和孩子之间的血缘关系识别问题,本文采用深度学习方法代替传统人工特征提取方法。充分挖掘人脸图像的深度特征,让深度网络模型自己学习和选择具有更强血缘关系表征能力的特征,并利用提出的血缘相似度算法判断出样本有无血缘关系。

2 深度度量学习算法

提出一种基于深度学习的双亲血缘关系识别方法——深度卷积度量学习(DCNML)算法。算法运用一种较深的、表达能力足够好的深度卷积网络FaceCNN提取人脸特征信息,通过度量学习将父母和孩子脸部图像的特征映射到具有血缘判别性的新的特征空间中,在新特征空间中计算出孩子与父母的血缘关系相似度得分,由此判断出这个孩子与父母是否存在血缘关系,算法的流程如图 1所示。该算法由3部分组成,即特征向量获得、血缘度量学习和双亲相似度计算。在第1部分是利用训练获得的深度神经网络FaceCNN来提取人脸图像的深度特征,再通过血缘度量学习方法计算出在新的特征空间中可以更好地表征血缘关系的新的特征向量三元组$\left( {{{x'}_{\rm{f}}}, {{x'}_{\rm{m}}}, {{x'}_{\rm{c}}}} \right)$,然后在此条件下分别计算父母一方和孩子的相似度概率值,最终加权平均两者的相似度得分进而得到双亲和子女的相似度计算结果。

图 1 DCNML血缘关系识别算法流程图
Fig. 1 Flow chart of DCNML kinship verification algorithm

2.1 深度提取网络FaceCNN

现有公开血缘数据集上的样本数量很少,如果仅使用公开血缘数据集训练一个深度特征提取模型,那么得到的模型性能将会有很大的局限性。因此DCNML算法采用一个大量人脸图像库训练得到的深度卷积网络FaceCNN来提取人脸的特征信息,训练样本集来源于网络公开数据集、微软人脸数据集、部分影视剧、公众人物照片等,数据库样本丰富且有完整的标记信息。FaceCNN网络结构如图 2所示,每一层的参数设置如表 1所示,关于该网络的详细情况接下来将会逐一介绍。

图 2 FaceCNN结构图
Fig. 2 Structure diagram of FaceCNN

表 1 FaceCNN参数设置
Table 1 Parameter settings of FaceCNN

下载CSV
FaceCNN Configuration
input(144×144 RGB image)
5×5 conv,64
2×2,max-pooling & mean-pooling
3×3 conv,64,128
2×2,max-pooling & mean-pooling
3×3 conv,196,256,320
2×2,max-pooling & mean-pooling
3×3 conv,512,512
2×2,max-pooling & mean-pooling
5×5 conv,640
Dropout
fc-4 096,1 000
Center Loss & Softmax

2.1.1 Maxout层

FaceCNN每一个卷积层后都紧跟一个Maxout层。Maxout本质是一种前向传播网络,它是一个将线性输入转化成非线性输出的小网络结构,可以把它看成是深度卷积网络的激活函数层。一般的激活函数,比如Sigmoid,其隐含层输出表达式

$ {h_i}\left( x \right) = {\rm{sigmoid}}\left( {{\mathit{\boldsymbol{x}}^{\rm{T}}}{\mathit{\boldsymbol{W}}_{ \cdots i}} + {\mathit{\boldsymbol{b}}_i}} \right) $ (1)

而在Maxout结构中,隐含层节点的输出表达式为

$ {h_i}\left( x \right) = \mathop {\max }\limits_{j \in \left[ {1,k} \right]} {\mathit{\boldsymbol{x}}^{\rm{T}}}{\mathit{\boldsymbol{W}}_{ \cdots ij}} + {b_{ij}},{\mathit{\boldsymbol{W}}_{ \cdots ij}} \in {{\bf{R}}^{d \times m \times k}} $ (2)

式中,…表示第i列的所有行,d是输入层单元数量,m为隐含层单元数量,每个隐含层单元对应了k个“隐隐含层”单元,将这k个“隐隐含层“节点输出值中最大的一个作为Maxout的输出。从数学上可以证明,只需要2个Maxout节点就可以拟合任意的凸函数[14]。为了减少学习的参数量,FaceCNN只采用2个Maxout节点,经过每个卷积层后,原通道数减半。

2.1.2 混合池化层

特征提取造成的误差主要来自两方面:一方面是由于邻域的大小受到限制造成估计值的方差变大,另一方面是卷积层参数的误差导致估计均值的改变。平均池化是取邻域内特征值的均值作为邻域的新特征值输出,能够在一定程度上解决邻域大小受限造成的估计值方差偏大问题,更多地保留图像的背景信息。最大池化是取邻域内最大特征值作为邻域的新特征值输出,能够在一定程度上减小卷积参数误差造成的均值偏移,更多地保留图像的纹理信息。因此,FaceCNN采用最大池化与平均池化相结合的方式最大程度地保留图像的背景信息和纹理信息,具体的方法是图像经过卷积操作和Maxout激活后分别进行最大池化和平均池化,将得到的2个池化结果级联作为新特征输出。

2.1.3 Dropout防止过拟合

FaceCNN在Softmax层前进行Dropout操作,训练深度网络时随机将一定比例的神经元舍弃,而测试时这些神经元仍保留,利用这种方式防止模型过拟合,提高模型泛化能力。

2.1.4 CenterLoss代价函数

为了得到对人脸特征表达能力足够好的网络模型来进行人脸特征提取,FaceCNN模型引入了Center Loss代价函数[15]。假设训练数据集包含足够多的人脸数据,理论上就可以训练出一个表达能力较好的模型,同样也能够训练一个强大的映射空间。在这个映射空间中,同一个人的人脸数据被紧致聚类,聚类半径就是这个人若干张照片的标准差,反之,不同人脸数据就能够被很好地分开。但在现实中,收集到足够多人的样本数据成本巨大,只能拥有这个大集合中的一个小的子集。所以,仅用普通的训练方法训练模型,类内间距不足够小,类间间距也不足够大,会导致错误接受或者错误拒绝。因此希望利用有限的数据样本训练得到的映射空间中,类内间距尽可能小,而类间间距尽可能大。而Center Loss代价函数可以满足这样的要求,并且在和Softmax结合使用时增加了聚类约束,使同类数据尽可能聚集而不同类数据尽可能远离。Softmax与Center Loss结合定义为

$ \begin{array}{*{20}{c}} {L = {L_s} + \lambda {L_c} = }\\ { - \sum\limits_{i = 1}^m {\log \frac{{{{\rm{e}}^{W_{{y_i}}^{\rm{T}}{x_i} + {b_{{y_i}}}}}}}{{\sum\limits_{j = 1}^n {{{\rm{e}}^{W_J^{\rm{T}}{x_i} + {b_j}}}} }}} + \frac{\lambda }{2}\sum\limits_{i = 1}^m {\left\| {{x_i} - {c_{{y_i}}}} \right\|_2^2} } \end{array} $ (3)

式中,第1项是传统的Softmax函数,第2项则可以看作类内“压缩”项,可以调节类内“压缩”程度[15],FaceCNN采用了Softmax与Center Loss相结合的方式,得到具有内聚性的人脸特征分布。

2.2 网络模型训练与特征分析

用超过5 000 000张的人脸图像训练FaceCNN深度网络模型,将网络第1个全连接层的输出作为人脸图像的特征向量,如果对特征向量进行T-SNE[16]流形学习,通过降维实现特征向量分布的可视化,可以看到FaceCNN提取到的人脸特征在特征空间的分布情况,所有图像较好地聚成了5类,类内紧凑,类间差异明显,如图 3所示。

图 3 T-SNE特征分布
Fig. 3 T-SNE feature distribution

利用FaceCNN提取父亲、母亲、儿子(或女儿)的人脸图像特征,10组家庭的人脸特征向量分布情况如图 4所示。图上用3种几何图形标出了其中的3组家庭,同组家庭成员以同种几何图形表示。从图 4中可以看出,同组家庭成员在空间上的分布并没有聚集在一起,有的家庭成员相隔较远,原因在于FaceCNN在提取样本图像特征时虽然加入了必要的身份信息,但未经处理的深度特征并不具有相应的血缘关系表征能力。为了解决这一问题,引入度量学习方法,使特征在新的映射空间上的分布满足血缘度量关系。

图 4 TSKinFace FMD数据集上部分样本的特征分布
Fig. 4 Feature distribution of some samples on TSKinFace FMD dataset

2.3 血缘度量学习

父亲、母亲、孩子的三元组特征样本对$\left( {{x_{\rm{f}}}, {x_{\rm{m}}}, {x_{\rm{c}}}} \right)$,其中${x_{\rm{f}}} \in {{\bf{R}}^{\rm{d}}}$${x_{\rm{m}}} \in {{\bf{R}}^{\rm{d}}}$${x_{\rm{c}}} \in {{\bf{R}}^{\rm{d}}}$分别表示父亲、母亲和孩子的人脸特征向量。血缘度量学习的目标是寻找一个映射函数$f$,使得$f\left( {{x_{\rm{f}}}} \right)$$f\left( {{x_{\rm{c}}}} \right)$$f\left( {{x_{\rm{m}}}} \right)$三者在新的特征空间中满足下面的关系:当孩子与这对夫妻有血缘关系时,$f\left( {{x_{\rm{f}}}} \right)$$f\left( {{x_{\rm{c}}}} \right)$$f\left( {{x_{\rm{f}}}} \right)$$f\left( {{x_{\rm{c}}}} \right)$之间的距离尽可能小;当孩子与这对夫妻没有血缘关系时,$f\left( {{x_{\rm{f}}}} \right)$$f\left( {{x_{\rm{c}}}} \right)$$f\left( {{x_{\rm{m}}}} \right)$$f\left( {{x_{\rm{c}}}} \right)$的距离尽可能大。

为了将问题简化,将三元组样本对$\left( {{x_{\rm{f}}}, {x_{\rm{c}}}, {x_{\rm{m}}}} \right)$拆分成2个二元组样本对$\left( {{x_{\rm{f}}}, {x_{\rm{c}}}} \right)$$\left( {{x_{\rm{m}}}, {x_{\rm{c}}}} \right)$,讨论父母一方与孩子的血缘度量学习。传统的马氏距离度量学习方法只寻求一个线性变换,并没有很好地捕捉到人脸图像的非线性流形,所以不能仅借助马氏距离进行血缘关系识别的度量学习。DCNML算法引入判别性深度度量学习[17]算法(DDML),该方法训练一个深度神经网络,通过学习一组分层非线性变换将人脸图像对投影到新的特征空间中,在该空间中正样本对大于预设的阈值,负样本对小于该阈值,这样在深度网络中就可以正确地做出判断。受此方法启发,DCNML算法利用几层全连接层和激活函数构建神经网络,将特征向量经过多层非线性变换得到新的特征表示,如图 5所示,深度血缘度量学习的全连接神经网络设为3层,每层神经元数量分别为256、256、150。血缘距离阈值$\tau $= 100,随机梯度下降学习率$\mu $= 0.001,正则项权值参数$\lambda $= 0.001,在进行训练时会针对参数进行微调。

图 5 深度血缘度量学习网络结构
Fig. 5 Structure diagram of deep kinship metric learning network

假设神经网络有$M$层,第$m$层有${p^{\left( m \right)}}$个神经元,其中$m = 1, 2, 3, \cdots, M$,对给定的特征向量的第$m$层输出为

$ {h^m} = s\left( {{W^{\left( m \right)}}{h^{\left( {m - 1} \right)}} + {b^{\left( m \right)}}} \right),{h^{\left( m \right)}} \in {{\bf{R}}^{{p^{\left( m \right)}}}} $ (4)

式中,$s\left( z \right) = \tanh \left( z \right) = \frac{{{{\rm{e}}^z}-{{\rm{e}}^{-z}}}}{{{{\rm{e}}^z} + {{\rm{e}}^{-z}}}}$${x_{\rm{f}}}$${x_{\rm{m}}}$${x_{\rm{c}}}$经过上述$M$层非线性变换得到$F\left( {{x_{\rm{f}}}} \right) = h_{\rm{f}}^{\left( M \right)}$$F\left( {{x_{\rm{c}}}} \right) = h_{\rm{c}}^{\left( M \right)}$$F\left( {{x_{\rm{m}}}} \right) = h_{\rm{m}}^{\left( M \right)}$,父亲与孩子在新特征空间中的距离为

$ d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}},{x_{\rm{c}}}} \right) = \left\| {F\left( {{x_{\rm{f}}}} \right) - F\left( {{x_{\rm{c}}}} \right)_2^2} \right\| $ (5)

同理可以得到$d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}}, {x_{\rm{c}}}} \right)$。那么孩子与父亲、母亲的血缘关系度量则应满足

$ \left\{ \begin{array}{l} d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}},{x_{\rm{c}}}} \right) < \tau - 1,{x_{\rm{f}}}\;和\;{x_{\rm{c}}}\;有血缘关系\left( {{l_{{\rm{fc}}}} = 1} \right)\\ d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}},{x_{\rm{c}}}} \right) < \tau - 1,{x_{\rm{m}}}\;和\;{x_{\rm{c}}}\;有血缘关系\left( {{l_{{\rm{mc}}}} = 1} \right)\\ d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}},{x_{\rm{c}}}} \right) > \tau + 1,{x_{\rm{f}}}\;和\;{x_{\rm{c}}}\;无血缘关系\left( {{l_{{\rm{fc}}}} = - 1} \right)\\ d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}},{x_{\rm{c}}}} \right) > \tau + 1,{x_{\rm{m}}}\;和\;{x_{\rm{c}}}\;无血缘关系\left( {{l_{{\rm{mc}}}} = - 1} \right) \end{array} \right. $ (6)

通过添加约束式(7)(8)使得$d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}}, {x_{\rm{c}}}} \right)$$\tau $之间的距离大于1,$d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}}, {x_{\rm{c}}}} \right)$$\tau $之间的距离也大于1,式中$\tau $表示设定的血缘距离阈值,这样正负样本对在新的特征空间上被很好地分隔开。

$ {l_{{\rm{fc}}}}\left( {\tau - d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}},{x_{\rm{c}}}} \right)} \right) > 1 $ (7)

$ {l_{{\rm{mc}}}}\left( {\tau - d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}},{x_{\rm{c}}}} \right)} \right) > 1 $ (8)

训练集上每一对正负样本对都要满足式(7)(8)那么优化目标函数为

$ \begin{array}{*{20}{c}} {\arg \mathop {\max }\limits_f J = {J_1} + {J_2} = }\\ {\frac{1}{2}\sum\limits_{{\rm{f}},{\rm{c}}} {g\left( {1 - {l_{{\rm{fc}}}}\left( {\tau - d_{{\rm{fc}}}^2\left( {{x_{\rm{f}}},{x_{\rm{c}}}} \right)} \right)} \right)} + }\\ {\frac{1}{2}\sum\limits_{{\rm{m}},{\rm{c}}} {g\left( {1 - {l_{{\rm{mc}}}}\left( {\tau - d_{{\rm{mc}}}^2\left( {{x_{\rm{m}}},{x_{\rm{c}}}} \right)} \right)} \right)} + }\\ {\frac{\lambda }{2}\sum\limits_{m = 1}^M {\left( {{W^{\left( m \right)}}_F^2 + {b^{\left( m \right)}}_2^2} \right)} } \end{array} $ (9)

$ g\left( z \right) = \frac{1}{\beta }\log \left( {1 + \exp \left( {\beta z} \right)} \right) $ (10)

采用随机梯度下降算法得到权值参数$W$、偏置参数$b$

2.4 双亲血缘相似度计算

设父亲、母亲和孩子三元组特征样本对$\left( {{x_{\rm{f}}}, {x_{\rm{m}}}, {x_{\rm{c}}}} \right)$,经过深度血缘度量学习得到新的特征表示三元组$\left( {{{x'}_{\rm{f}}}, {{x'}_{\rm{m}}}, {{x'}_{\rm{c}}}} \right)$,利用余弦相似可以分别得到父亲与孩子的相似度${S_{{\rm{fc}}}}\left( {{{x'}_{\rm{f}}}, {{x'}_{\rm{c}}}} \right)$和母亲与孩子的相似度为${S_{{\rm{mc}}}}\left( {{{x'}_{\rm{m}}}, {{x'}_{\rm{c}}}} \right)$

$ {S_{{\rm{fc}}}}\left( {{{x'}_{\rm{f}}},{{x'}_{\rm{c}}}} \right) = \frac{{\sum\limits_i^d {\left( {{{x'}_{fi}} \times {{x'}_{{\rm{c}}i}}} \right)} }}{{\sqrt {\sum\limits_i^d {{{\left( {{{x'}_{fi}}} \right)}^2}} } \times \sqrt {\sum\limits_i^d {{{\left( {{{x'}_{{\rm{c}}i}}} \right)}^2}} } }} $ (11)

$ {S_{{\rm{mc}}}}\left( {{{x'}_{\rm{m}}},{{x'}_{\rm{c}}}} \right) = \frac{{\sum\limits_i^d {\left( {{{x'}_{{\rm{m}}i}} \times {{x'}_{{\rm{c}}i}}} \right)} }}{{\sqrt {\sum\limits_i^d {{{\left( {{{x'}_{{\rm{m}}i}}} \right)}^2}} } \times \sqrt {\sum\limits_i^d {{{\left( {{{x'}_{{\rm{c}}i}}} \right)}^2}} } }} $ (12)

考虑到现实生活中,孩子可能与父母中的一方更像,设孩子与父亲更像的概率为${P_{{\rm{fc}}}}$,和母亲更像的概率为${P_{{\rm{mc}}}}$,那么有

$ {P_{{\rm{fc}}}} = \frac{{\exp \left( {{S_{{\rm{f}}c}}\left( {{{x'}_{\rm{f}}},{{x'}_{\rm{c}}}} \right)} \right)}}{{\exp \left( {{S_{{\rm{fc}}}}\left( {{{x'}_{\rm{f}}},{{x'}_{\rm{c}}}} \right)} \right) + \exp \left( {{S_{{\rm{mc}}}}\left( {{{x'}_{\rm{m}}},{{x'}_{\rm{c}}}} \right)} \right)}} $ (13)

$ {P_{{\rm{mc}}}} = \frac{{\exp \left( {{S_{{\rm{mc}}}}\left( {{{x'}_{\rm{m}}},{{x'}_{\rm{c}}}} \right)} \right)}}{{\exp \left( {{S_{{\rm{fc}}}}\left( {{{x'}_{\rm{f}}},{{x'}_{\rm{c}}}} \right)} \right) + \exp \left( {{S_{{\rm{mc}}}}\left( {{{x'}_{\rm{m}}},{{x'}_{\rm{c}}}} \right)} \right)}} $ (14)

孩子与双亲的血缘相似度是孩子与父亲和母亲相似度的加权平均值,权值是式(13)和式(14)计算所得的概率值,最终的血缘相似度得分的计算公式如下

$ S = {P_{{\rm{fc}}}}{S_{{\rm{fc}}}} + {P_{{\rm{mc}}}}{S_{{\rm{mc}}}} $ (15)

3 实验设置与结果

3.1 数据集

3.1.1 卷积神经网络训练数据集

深度卷积网络FaceCNN的训练样本集来源于网络公开数据集、微软人脸数据集、部分影视剧、公众人物照片等。训练集包含数万人的脸部图像,每人又包含数十张不同场景下的照片,样本总量超过5 000 000张。这些人脸图像背景复杂,图像质量差异大,人脸姿态、表情、年龄、性别变化多样,利用这样一个庞大的数据集训练得到的网络有更好的表达能力的同时又可以有效地避免网络过拟合。在处理这些图像时,首先将数据集中的人脸图像进行筛选、人脸检测和关键点对齐等操作[13],之后将图像剪裁成144×144像素,用来训练深度特征提取网络FaceCNN。

3.1.2 双亲血缘数据集TSKinFace

本文在TSKinFace[18]家庭血缘数据集上验证DCNML算法对双亲血缘关系识别的有效性,TSKinFace血缘数据集的图像来自于社交媒体网络共享的家庭合影,合影没有光照、表情、姿态、背景、图像质量等方面的限制,较为接近自然场景。经统计,数据集图像分为3类:父、母、儿子(FMS)合影274张,父、母、女儿(FMD)合影285张,父、母、儿子、女儿(FMSD)合影228张。可以组成父母儿子关系513对,父母女儿关系502对,最终TSKinFace数据集上共有1 015组三元组数据样本。

3.2 数据处理

采用MTCNN[13]方法,对特征提取网络模型的训练集和家庭血缘数据集TSKinFace中的每张图像进行人脸检测和关键点定位,同时进行图像集清洗。每张人脸会得到1个检测框(左上角和右下角坐标)以及5个关键点(左眼中心、右眼中心、鼻尖、左嘴角、右嘴角)位置坐标,如图 6(a)所示。利用5个关键点位置坐标进行仿射变换,将检测到的人脸关键点与标准脸关键点对齐,这样可以使数据集上所有人脸图像的关键点都在统一的位置,将对齐后的人脸图像剪裁成144×144像素,如图 6(b)所示。TSKinFace数据集提供家庭合影照,在处理TSKinFace图像时要从数据集上的标注信息文件中获得人物在家庭中的角色信息,并利用标注点坐标与检测到鼻尖坐标之间的距离,确定检测到的人脸的角色。

图 6 人脸图像预处理
Fig. 6 Face image preprocessing((a) face detection and feature point location; (b) aligned images)

3.3 实验结果

DCNML算法在家庭血缘数据集TSKinFace上进行实验获得的ROC曲线如图 7所示。DCNML在双亲血缘关系识别问题上取得了较为理想的识别准确率(如表 2),儿子与父母的识别准确率可以达到87.71%,女儿与父母的识别准确率可以达到89.18%。同时,在均不考虑特征提取阶段耗时的情况下,DCNML耗时比现有的RSBM[18]方法少很多,如表 3所示。

图 7 双亲血缘关系识别
Fig. 7 Tri-subject kinship verification

表 2 识别准确率比较
Table 2 Comparison of recognition accuracy

下载CSV
/%
算法 父母—儿子 父母—女儿
NRML[12] 77.0 71.4
DDML[17] 82.1 79.8
ABM[18] 78.5 73.2
ABM-block[18] 83.4 81.9
SBM[18] 82.4 78.2
SBM-block[18] 85.2 83.5
RSBM-block[18] 86.4 84.4
DCNN[13] 76.6 71.4
HRMFS[19] 76.9 77.3
EHRMFS[19] 80.2 80.16
Gate Autoencoder[20] 81.9 79.6
本文 87.71 89.18
注:黑体为最优结果。

表 3 计算效率比较
Table 3 Comparison of computational efficiency

下载CSV
/s
算法 计算耗时 测试耗时
本文 3.616 0.314
RSBM[18] 17 385.610 0.404

4 结论

针对人脸图像的血缘关系识别问题,本文提出一种基于深度度量学习的识别算法,首先训练得到深度特征提取网络模型FaceCNN,提取的特征具有很好的类内聚合、类间分离的分布特点。之后引入深度血缘度量学习算法,在新的非线性特征空间中使得具有血缘关系的图像特征之间度量较小。最后以相似概率加权平均孩子分别和父亲以及母亲的相似度得到孩子与父母的血缘相似得分,从而判断孩子与父母是否存在血缘关系。

实验发现,如果采用代表性人脸块取代整体图像特征进行血缘关系识别往往能获得更好的血缘识别效果,这或许是因为人的血缘遗传特点更体现在脸的局部特征上。单纯采用人脸整体图像提取特征可能会过多利用冗余信息而忽视了关键特征,也没有考虑因样本差异而选择不同的关键信息。所以在日后的研究中应当考虑采用更新人脸特征信息的方式即根据不同样本迭代更新所选取的人脸特征块,采用不同的人脸块特征信息进行血缘关系识别。

此外,DCNML算法中用于特征提取的卷积网络与深度度量学习是分离开的两部分,度量学习只起到了更新特征向量的作用而没有影响到特征提取过程。日后的研究可以将特征提取与度量学习融为一体,从深度度量学习研究出发,寻求一种以血缘度量关系影响特征提取过程的算法。

参考文献

  • [1] Fang R G, Tang K D, Snavely N, et al.Towards computational models of kinship verification[C]//Proceedings of 2010 IEEE International Conference on Image Processing.Hong Kong, China: IEEE, 2010: 1577-1580.[DOI:DOI:10.1109/ICIP.2010.5652590]
  • [2] Xia S Y, Shao M, Luo J B, et al. Understanding kin relationships in a photo[J]. IEEE Transactions on Multimedia, 2012, 14(4): 1046–1056. [DOI:10.1109/TMM.2012.2187436]
  • [3] Qin X Q, Liu D K, Wang D. Heterogeneous similarity learning for more practical kinship verification[J]. Neural Processing Letters, 2018, 47(3): 1253–1269. [DOI:10.1007/s11063-017-9694-3]
  • [4] Zhao Y G, Song Z, Zheng F, et al. Learning a multiple kernel similarity metric for kinship verification[J]. Information Sciences, 2018, 430-431: 247–260. [DOI:10.1016/j.ins.2017.11.048]
  • [5] Sun Y, Chen Y H, Wang X G, et al.Deep learning face representation by joint identification-verification[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems.Montreal, Canada: MIT Press, 2014: 1988-1996.
  • [6] Somanath G, Kambhamettu C.Can faces verify blood-relations?[C]//Proceedings of the IEEE 5th International Conference on Biometrics: Theory, Applications and Systems.Arlington, VA, USA: IEEE Press, 2012: 105-112.[DOI:10.1109/BTAS.2012.6374564]
  • [7] Ghahramani M, Yau W Y, Teoh E K. Family verification based on similarity of individual family member's facial segments[J]. Machine Vision and Applications, 2014, 25(4): 919–930. [DOI:10.1007/s00138-013-0566-1]
  • [8] Dibeklioglu H, Salah A A, Gevers T.Like father, like son: facial expression dynamics for kinship verification[C]//Proceedings of 2013 IEEE International Conference on Computer Vision.Sydney, Australia: IEEE, 2013: 1497-1504.[DOI:10.1109/ICCV.2013.189]
  • [9] Vieira T F, Bottino A, Islam I U.Automatic verification of parent-child pairs from face images[C]//Proceedings of the 18th Iberoamerican Congress Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications.Havana, Cuba: Springer-Verlag, 2013: 326-333.[DOI:10.1007/978-3-642-41827-3_41]
  • [10] Vieira T F, Bottino A, Laurentini A, et al. Detecting siblings in image pairs[J]. The Visual Computer, 2014, 30(12): 1333–1345. [DOI:10.1007/s00371-013-0884-3]
  • [11] Fang R G, Gallagher A C, Chen T, et al.Kinship classification by modeling facial feature heredity[C]//Proceedings of 2013 IEEE International Conference on Image Processing.Melbourne, VIC, Australia: IEEE Press, 2014: 2983-2987.[DOI:10.1109/ICIP.2013.6738614]
  • [12] Lu J W, Zhou X Z, Tan Y P, et al. Neighborhood repulsed metric learning for kinship verification[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(2): 331–345. [DOI:10.1109/TPAMI.2013.134]
  • [13] Zhang K P, Zhang Z P, Li Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499–1503. [DOI:10.1109/LSP.2016.2603342]
  • [14] Goodfellow I, Warde-Farley D, Mirza M, et al. Maxout networks[C]//Proceddings of the 30th Ineternational Conference on Machine Learning. PMLR, 2013: 1319-1327..
  • [15] Wen Y D, Zhang K P, Li Z F, et al.A discriminative feature learning approach for deep face recognition[C]//Proceedings of the 14th European Conference on Computer Vision.Amsterdam, The Netherlands: Springer International Publishing, 2016: 499-515.[DOI:10.1007/978-3-319-46478-7_31]
  • [16] van der Maaten L, Hinton G. Visualizing data using t-SNE[J]. Journal of Machine Learning Research, 2008, 9: 2579–2605.
  • [17] Hu J L, Lu J W, Tan Y P.Discriminative deep metric learning for face verification in the wild[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus, OH, USA: IEEE, 2014: 1875-1882.[DOI:10.1109/CVPR.2014.242]
  • [18] Qin X Q, Tan X Y, Chen S C. Tri-subject kinship verification:understanding the core of a family[J]. IEEE Transactions on Multimedia, 2015, 17(10): 1855–1867. [DOI:10.1109/TMM.2015.2461462]
  • [19] Dehshibi M M, Shanbehzadeh J. Cubic norm and kernel-based bi-directional PCA:toward age-aware facial kinship verification[J]. The Visual Computer, 2017: 1–18. [DOI:10.1007/s00371-017-1442-1]
  • [20] Dehghan A, Ortiz E G, Villegas R, et al.Who do i look like? determining parent-offspring resemblance via gated autoencoders[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus, OH, USA: IEEE, 2014: 1757-1764.[DOI:10.1109/CVPR.2014.227]
  • [21] Kohli N, Vatsa M, Singh R, et al. Hierarchical representation learning for kinship verification[J]. IEEE Transactions on Image Processing, 2017, 26(1): 289–302. [DOI:10.1109/TIP.2016.2609811]