CN108734145B - 一种基于密度自适应人脸表征模型的人脸识别方法 - Google Patents
一种基于密度自适应人脸表征模型的人脸识别方法 Download PDFInfo
- Publication number
- CN108734145B CN108734145B CN201810524536.1A CN201810524536A CN108734145B CN 108734145 B CN108734145 B CN 108734145B CN 201810524536 A CN201810524536 A CN 201810524536A CN 108734145 B CN108734145 B CN 108734145B
- Authority
- CN
- China
- Prior art keywords
- face
- model
- density
- data
- adaptive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种基于密度自适应人脸表征模型的人脸识别方法,其包含两个方面,其一是人脸表征模型的训练阶段,由于注意到人脸数据在特征空间中存在的密度差异,通过学习出密度自适应的人脸表征模型学习出更有效的人脸特征表示,使之能适应人脸数据的不同密度带来的影响;其二是使用密度自适应的人脸表征模型进行人脸识别的使用阶段,在人脸表征模型使用的时候通过密度信息确定密度自适应的阈值来做人脸识别的判断。通过这些方法,可以使深度人脸表征模型自适应地挖掘不同场景、条件下数据的特性,抽取出更加有效地特征,同时判断过程也更加合理,有助于提升人脸识别的准确率。
Description
技术领域
本发明属于计算机多媒体技术领域,涉及人脸识别技术。
背景技术
人脸识别技术在诸多现实场景中有着广泛的需求,比如火车站、飞机场进站时需要进行人、证合一的判断(即“1:1人脸验证”),监控视频中的人脸与公安机关黑名单库进行比对以发现通缉犯(即“1:N人脸识别”)。如何构建准确、高效的人脸识别模型是人脸识别技术中心最重要的一步。通过对人脸图像进行特征抽取和向量化,任意两张人脸图像之间的距离或者相似度就可以得到度量,并做出两张人脸图像是否为同一人的判断。现实场景往往非常复杂,数据量也很大,人脸图像多样性高,需要运用强大的特征模型才能满足人脸识别技术在现实场景中的真正应用。
传统的人脸特征描述里较弱、鲁棒性较差,无法满足实际应用的需求。近年来,以深度卷积神经网络(Deep Convolutional Neural Network)为代表的深度学习(DeepLearning)技术得到的长足的发展,并且在计算机视觉领域的多项任务中取得了不俗的效果,包括图像分类、对象检测等。受益于深度卷积神经网络的发展,人脸识别的准确性也得到了显著提升,离实际应用的要求也越来越近。深度卷积神经网络通过卷积操作来抽取图像的局部特征,再通过多层级联的方式,使得特征能够得到逐步整合,在经过复杂的计算之后,可以得到极具描述力、鲁棒性很强的图像特征,为准确的人脸识别打下基础。利用深度卷积神经网络抽取的图像特征比传统的特征,比如梯度直方图(HOG)、局部二值模式(LBP)、尺度不变特征变化(SIFT),有非常明显的优势,它能更好地挖掘图像数据的细节信息。并且可以通过收集特定的数据集来训练深度卷积神经网络,这种特征抽取方式也更加灵活,能更好地拟合数据。
针对人脸数据,利用深度卷积神经网络来进行特征抽取也有了很多尝试,基本的思路是通过度量学习(metric learning)。一般来说,人脸验证或人脸识别的基本操作都是通过计算人脸特征向量之间的距离来实现的。比如人脸验证就是比较两张人脸的特征向量的距离是否小于一个给定的阈值:若小于,则两张人脸图像被判断为来自同一个人;反之,则认为是不同的人。人脸识别就是比较一张查询人脸与一个人脸库中所有人脸的特征向量的距离,选择距离最小者作为识别结果。为了满足这些需求,在训练深度卷积神经网络时,就希望它所抽取出来的特征向量能满足如下特性:同一个人的不同场景下的人脸特征之间的距离尽可能小;不同人的人脸特征之间的距离尽可能大。而这一需求在度量学习的框架下可以表示为一种二元组损失(pair-wise loss,同一个人的两张图像特征距离小,不同人的两张图像特征距离大),或三元组损失(triplet loss,一个人的一张图像与他的另一张图像之间的距离小于该图像与其他人的图像间的距离)。通过收集足量的有标注数据(即表明那些图像是属于某一个人),即可通过上述的损失函数来作为指导,训练深度卷积神经网络。深度卷积神经网络也会通过相应的优化算法来使得损失函数尽可能地小,从而抽取出更有区分力的人脸特征。
现有的很多基于深度卷积神经网络的人脸表征学习方法一般都利用了上述流程,并取得了一定的效果。然而,该方法忽略了实际应用场景中人脸特征空间的密度差异。现有的方法都假设人脸特征空间是均匀的,即任意两点之间的的密度都是一样的,在一个地方的某个距离值与另一个地方的该距离值具有相同的意义。然而事实上,该假设并不满足实际人脸数据的特性。比如在中国人中,肤色偏黄的人脸占绝大多数,偏白或偏黑的就相对较少;戴眼镜的人数远小于不戴眼镜的人数。而针对某些个例,有些人有“大众脸”,他与其他人的人脸差异相对较小,他的人脸特征附近会有很多别人的人脸特征,密度非常大,因此对他的人脸特征要求就会很高,他的不同场景的人脸图像的特征向量的距离就必须非常小;而有些人相对来说比较有特点,与他相近的人较少,密度较低,因此对他的特征要求就可以相对低一些。此外,现实场景中的人脸数据往往存在变光照、多角度、有遮挡、模糊、年龄跨度等复杂情况,这些多变的情况本身就带来的人脸特征空间的复杂性。比如在条件差(比如有遮挡、光照条件极端)的情况下的人脸特征距离与条件好(如无遮挡、年龄跨度小、图像清晰)的距离必然具有不同的意义。
而人脸特征空间的密度不均匀性会给现有的方法带来两大挑战:第一,训练时使用相同的损失函数(如三元组损失中常用一个常量作为间隔值)会使一些特定密度的数据表现很好,而满足其他密度的数据就会受到负面影响;第二,在实际使用时,假设特征空间是均匀的(比如在人脸验证中使用完全相同的阈值),不能满足不同数据的需求。比如如果距离阈值较小,那可以较好地处理“大众脸”,但对那些比较有特点的脸就会有很高的错误拒绝率;反之,则会有很多的“大众脸”会被错误地认为是同一个人。正是因为这些挑战的存在,现有人脸识别技术的准确率受到了一定的限制,还需要进一步的优化以更好地满足实际应用的需求。
综上所述,本发明需要解决在人脸识别中,人脸数据在空间中密度分布不一致所带来的模型训练和使用中的挑战,提升人脸识别的准确性。
发明内容
有鉴于此,本发明提供了一种基于密度自适应人脸表征模型的人脸识别方法,其包含两个方面,其一是人脸表征模型的训练,由于注意到人脸数据在特征空间中存在的密度差异,通过学习出密度自适应的人脸表征模型学习出更有效的人脸特征表示,使之能适应人脸数据的不同密度带来的影响;其二是利用人脸表征模型进行人脸识别,在人脸表征模型使用的时候通过密度信息确定密度自适应的阈值来做人脸识别的判断。通过这些方法,可以使深度人脸表征模型自适应地挖掘不同场景、条件下数据的特性,抽取出更加有效地特征,同时判断过程也更加合理,解决在人脸识别中,人脸数据在空间中密度分布不一致所带来的模型训练和使用中的挑战,有助于提升人脸识别的准确率。
为了实现上述目的,现提出的方案如下:
为解决上述技术问题,本发明提供了一种基于密度自适应人脸表征模型的人脸识别方法,包括以下步骤:S1:人脸表征模型的密度自适应训练阶段,使之能适应人脸数据的不同密度带来的影响;S2:使用S1中得到的密度自适应人脸表征模型进行人脸识别的使用阶段。
其中,所述步骤S1中的人脸表征模型的密度自适应训练阶段具体过程为:
S101:收集足量包含人脸的图像数据,并且有相应的身份信息,能确定不同的图像中包含的人脸是否是同一个人;
S102:对图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来;
S103:将分割出来的人脸数据输入现有的表征模型;
S104:利用现有的表征模型抽取人脸特征向量并利用人脸特征向量计算人脸图像之间的关系,选择出满足条件的锚点,正例,负例三元组人脸数据;
S105:利用满足条件的锚点,正例,负例三元组人脸数据计算密度自适应的损失函数;
S106:利用密度自适应的损失函数作为指导更新当前模型,使之更好地拟合数据,抽取更好的人脸特征;
S107:利用密度自适应的损失函数判断当前模型是否已经收敛,如果收敛,则停止训练,输出模型;如果没有收敛,则又回到步骤S103继续训练该模型,直至模型收敛,完成基于密度自适应人脸表征模型训练并输出模型。
其中,所述步骤S2中使用步骤S1中得到的密度自适应人脸表征模型进行人脸识别的使用阶段的具体过程为:
S201:对输入的图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来;
S202:将分割出来的人脸数据送入步骤S1中得到的人脸表征模型,抽取出人脸特征向量;
S203:利用抽取出的人脸特征向量,考虑人脸数据在特征空间中的密度信息,选择通过密度信息确定密度自适应的阈值来完成人脸比对与人脸识别。
可选的,所述步骤S102中使用OpenCV的开源人脸检测模块对图像中的人脸进行检测。
可选的,所述步骤S104中选择的三元组人脸数据应满足:d(xa,xp)+α>d(xa,xn),其中α是一个非负参数,d(x,y)表示两个向量x和y的距离,xa为某一个人一张锚点人脸图像A的特征向量,xp为某一个人的正例图像P的特征向量,xn为一张不属于他、属于别人的人脸图像N的特征向量。
可选的,所述步骤S106中利用密度自适应的损失函数作为指导更新当前模型的方法为:
使用开源框架TensorFlow,并利用TensorFlow内嵌的相关操作实现模型的训练。使用随机梯度下降实现模型的优化,给出损失函数对于每一个样本的梯度信息:
其中I(xa,xp,xn,α)为一个判断函数,如果d(xa,xp)-d(xa,xn)+α>0,则I(xa,xp,xn,α)=1否则I(xa,xp,xn,α)=0;为距离函数对其输入的偏导数,使用平方欧氏距离作为距离度量d(x,y)=||x-y||2,对应的偏导数为利用该梯度信息及TensorFlow内嵌的操作实现对模型的更新。
可选的,所述步骤S107中利用密度自适应的损失函数判断当前模型是否已经收敛的方法为:计算前后两轮迭代中的损失函数值,若仍在变化,判断模型不收敛;若损失函数值没有显著变化,则可认为模型收敛。
可选的,所述步骤S201中输入的图像数据可以是摄像头获取的帧,或者某张图像。
可选的,所述步骤S203中选择通过密度信息确定密度自适应的阈值来完成人脸比对与人脸识别的方法为:对于人脸x,计算其与每一个训练样本的距离d(x,yi),然后选择与之距离最小的k个参考样本对于每一个样本都有它的正例样本然后就可以得到,然后对于x,可以用它的近邻的信息来得到它的识别阈值同样对于样本y,用相同的方式得到其识别阈值τy。最终识别阈值为将该阈值与平方欧氏距离||x-y||2进行比较,即可判断这两张人脸图像是否为同一人。
从上述的描述可以看出,本发明注意到人脸数据在特征空间中存在的密度差异,通过学习出密度自适应的人脸表征模型学习出更有效的人脸特征表示,并且在使用的时候通过密度信息确定密度自适应的阈值来做人脸识别的判断。过这些方法,可以使深度人脸表征模型自适应地挖掘不同场景、条件下数据的特性,抽取出更加有效地特征。同时判断过程也更加合理,有助于提升人脸识别的准确率。本发明所提出的密度自适应的人脸表征模型在人脸识别任务上具有精度高、适用范围广、鲁棒性强等特点,具有较强的实际应用前景。
有益效果
1、本发明提出一种基于密度自适应人脸表征模型的人脸识别方法,通过对人脸数据在特征空间中密度分布的差异进行分析,实现更加准确的人脸识别;
2、本发明提出一种密度自适应的人脸表征模型训练方法,在训练过程中,通过密度自适应的参数构建训练三元组,并计算相应的损失函数。该方法能够更好地克服人脸数据在特征空间中存在的密度分布差异所带来的影响,更加灵活地处理在不同情况下得到的数据,最终得到更有效的人脸表征模型,为后续的识别打下良好基础;
3、本发明提出一种基于密度自适应阈值的人脸方法,在使用过程中,通过数据本身的性质选择人脸识别中需要的判断阈值,这样得到的阈值能更好地拟合数据本身的特性,达到更准确的识别结果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于密度自适应人脸表征模型的人脸识别方法的流程示意图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下将通过实施例对本发明进行详细描述。
本发明提出的基于密度自适应的人脸表征模型的人脸识别方法,包含S1:人脸表征模型的密度自适应训练阶段,使之能适应人脸数据的不同密度带来的影响;S2:使用步骤S1中得到的密度自适应人脸表征模型进行人脸识别的使用阶段。
S1:人脸表征模型的密度自适应训练阶段,如图1所示,具体实施方式如下:
S101:收集足量包含人脸的图像数据,并且有相应的身份信息,能确定不同的图像中包含的人脸是否是同一个人。首先需要准备足量数据来训练人脸表征模型,因为人脸表征模型的目的在于抽取出有效的人脸特征向量,使得同一个人的不同人脸图像之间有尽可能大的相似度(即在向量空间中有尽可能小的距离),同时使不同的人的人脸图像有极可能小的相似度(即特征向量之间有尽可能大的距离),所以在数据准备的时候,需要收集很多图像数据,并且标注每张图像中所包含人脸的身份信息,这样就可以确定同一个人在不同的图像、场景下所拥有的不同的人脸。同时,可以容易地利用标注好的身份信息判断两张人脸图像是否为同一个人,有了这些数据,就可以利用接下来的步骤进行模型更新训练;
S102:对图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来。对于上一步收集到的图像数据,一般来说人脸在其中并不是占据主要部分,尤其是在实际应用场景中采集到的图像数据,人脸的位置、大小等都会有比较明显的差异,所以在得到图像数据之后,需要进行人脸检测,将人脸区域确定,并将其从图像中截取出来,后续步骤只需要对该部分人脸图像进行处理即可。这样就可以有效克服复杂背景对人脸识别所带来的影响,人脸检测现在已经有了比较成熟的工具,在本发明中,将使用OpenCV的开源人脸检测模块进行人脸检测,再利用已有的标注信息,确定每一张人脸图像的身份,为后续更新训练做准备。
S103:将分割出来的人脸数据输入现有的表征模型。在得到人脸数据之后,将分割出来的人脸数据输入到现有的人脸表征模型中。
S104:利用现有的表征模型抽取人脸特征向量并利用人脸特征向量计算人脸图像之间的关系,选择出满足条件的锚点,正例,负例三元组人脸数据。首先,利用现有的表征模型抽取人脸特征向量,输出每个人脸数据的人脸特征向量;其次,在人脸识别过程中,需要计算两张人脸数据的特征向量之间的距离,来判断这两张人脸图像是否是同一个人。而距离本身的绝对值大小是没有意义的,真正有意义的是相对值的大小,即一个人不同人脸特征向量之间的距离需要小于他与别人的人脸特征向量之间的距离。形式化表达为:对某一个人,他有一张锚点(anchor)人脸数据A,通过人脸表征模型抽取出特征向量xa;对于这个人,他还可以找到他的另一张人脸图像,即正例人脸数据P(positive,它与A同属一个人),通过人脸表征模型抽取出特征向量xp;同样,也可以找到一张不属于他、属于别人的负例人脸数据N(negative),通过人脸表征模型抽取出特征向量xn。一个好的人脸表征模型,是能够让同一个人的不同人脸数据特征向量的距离小于不同人的人脸数据的特征向量之间的距离,即:
d(xa,xp)<d(xa,xn)
其中d(x,y)表示两个向量x和y的距离。在模型训练过程中,最终希望就是人脸表征模型得到的特征能始终满足上述要求。所以在训练过程中,需要遍历训练数据集,找出那些不满足上述要求的三元组,即同一个人的不同人脸数据的特征向量之间的距离大于他与别人的距离更大,形式化表示为:
d(xa,xp)+a>(xa,xn)
其中α是一个非负参数,如果取0就是严格满足上面的要求。而在事实上,为了使得到的模型泛化能力更强,即在处理训练集以外的实际数据时能有更好的性能,一般会选择一个大于0的值。对于训练数据,则可遍历,挑选出满足该条件的(锚点,正例,负例)三元组数据,来优化人脸表征模型。
S105:利用满足条件的锚点,正例,负例三元组人脸数据计算密度自适应的损失函数。在常见的三元组构建与损失函数设计中,参数α一般会是一个固定值,比如0.1。然而,已有的方法忽略了实际应用场景中人脸特征空间的密度差异,现有的方法都假设人脸特征空间是均匀的,即任意两点之间的的密度都是一样的,在一个地方的某个距离值与另一个地方的该距离值具有相同的意义。然而事实上,该假设并不满足实际人脸数据的特性。人脸数据在特征空间中的分布是不均匀的,这在前文中已经分析过。所以,为了使人脸表征模型能更好地适应数据的不同密度,需要在三元组构建以及损失函数设计时,考虑这一密度信息。为此,本发明就考虑用以下方法来选择α值,一般来说,同一个人的不同照片彼此之间应该会比较相似,它们在特征空间中应该处在比较接近的地方。发明者发现,如果在特征空间某处的密度较大,那么在这附近的数据彼此之间的距离就会偏小;反之,如果特征空间某处的密度较小,那么在这附近的数据彼此之间的距离就会偏大。所以,我们可以利用数据彼此之间的距离来作为密度的一个反映。在实际应用中,发明者发现,一个高效的方式是直接利用锚点人脸与正例人脸之间的距离,即d(xa,xp),具体来说,将使用如下的方式来计算α值:
不难发现,如果d(xa,xp)越大(小),那么α也就越大(小)。这一设计也是符合事实规律的,如果某处的密度较小,那么说明这里的数据比较少,样本之间的距离本来就会比较大,这样的话,就应该使用一个较大的α值来选择三元组并计算损失函数。反之,如果某处的密度小,那么说明这里的数据比较多,样本之间的距离本来就会比较小,需要选择较小的α值。同时,基于α值和选择出的三元组数据,可以定义出如下的密度自适应的损失函数:
这里T表示构建好的三元组数据的集合,(xa,xp,xn)表示集合中的某一个三元组。通过最小化这个损失函数,就是希望锚点人脸与正例人脸特征向量之间的距离比锚点人脸与负例人脸特征向量之间的距离更小,并且差值至少为α,以增加泛化能力。该密度自适应的损失函数可有效处理人脸数据在特征空间中的不同密度。对于密度较小的区域,数据之间本身距离较大,对距离没那么敏感,会使用一个较大的α。而在密度较大的区域,数据之间本身距离较小,对距离比较敏感,所以会使用一个较小的α。基于该损失函数,就可以对当前的人脸表征模型进行优化,使之能更好地区分人脸。这也是本发明所提出的密度自适应的人脸表征模型与现有的人脸表征模型的最大区别与优势。
S106:利用密度自适应的损失函数作为指导更新当前模型,使之更好地拟合数据,抽取更好的人脸特征。利用步骤S105中定义的损失函数,即可作为指导更新当前人脸表征模型,更新的过程就是通过对人脸表征模型的参数进行更新,使损失函数能够最小化,为了后续介绍,首先明确以下细节,在本发明中,人脸表征模型使用的基础深度卷积神经网络结构是Inception-Resnet-V1(简记为IRV1),在网络的最后一层,本发明使用了128个输出节点,作为一张人脸图像的特征向量。每一张人脸图像会缩放到160*160的大小输入到IRV1中。实现中使用了开源框架TensorFlow,比利用TensorFlow内嵌的相关操作实现模型的训练。具体来说,本发明将使用随机梯度下降(stochastic gradient descent)实现模型的优化,其中,需要给出损失函数对于每一个样本的梯度信息如下:
其中I(xa,xp,xn,α)为一个判断函数,如果d(xa,xp)-d(xa,xn)+α>0,则I(xa,xp,xn,α)=1,否则I(xa,xp,xwα)=0.为距离函数对其输入的偏导数。在本发明中将使用平方欧氏距离作为距离度量d(x,y)=||x-y||2,则对应的偏导数为利用该梯度信息,即可利用TensorFlow内嵌的操作实现对模型的优化,降低损失函数的大小。
S107:利用密度自适应的损失函数判断当前模型是否已经收敛。本发明使用随机梯度下降法来优化人脸表征模型,该方法是一个迭代式的方法。即将在步骤S106中完成一轮对模型的更新之后,再回到步骤S103,用新的模型抽取特征,再选择新的三元组计算损失函数,再更新模型。而当模型训练到一定程度时,就会达到最优状态,损失函数无法继续下降,即收敛。而判断收敛的方式只需要计算前后两轮迭代中的损失函数值,若仍在变化,则回到步骤S103继续迭代训练模型;若损失函数值没有显著变化,则可认为模型收敛,此时变停止训练,输出得到的模型。
S2:使用人脸表征模型进行人脸识别的使用阶段,如图1所示,具体实施方式如下:
S201:对输入的图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来。与训练阶段中的人脸检测过程一致,对于输入的需要处理的图像数据,如从摄像头获取的帧,或者某张图像,本发明仍然使用OpenCV实现人脸区域的检测,并将人脸部分分割出来。
S202:将分割出来的人脸数据送入步骤S1中得到的人脸表征模型,抽取出人脸特征向量。将步骤S201中得到的人脸数据送入到训练阶段得到的人脸表征模型中抽取特征向量,并对其做归一化,用于后续的识别。
S203:利用抽取出的人脸特征向量,考虑人脸数据在特征空间中的密度信息,选择通过密度信息确定密度自适应的阈值来完成人脸比对与人脸识别。对于两张人脸图像,通过人脸表征模型之后得到的特征向量记为x和y,判断两张图像是否为同一人的准则为比较x和y之间的平方欧氏距离||x-y||2是否小于一个阈值τ,若小于τ,则认为两张人脸是同一个人,反之,则认为不是同一个人。在已有工作中,τ一般为一个预设的固定值。然而,正如之前所述,人脸数据在特征空间中的分布是不均匀的,在一些区域相对比较密集,对距离比较敏感,而在另一些区域相对比较分散,对距离的限制应该更灵活一些。所以,使用固定阈值会对识别的结果造成负面影响。本发明提出使用密度自适应的阈值。具体来说,需要根据每一个待人脸,估计其所在区域的密度情况,然后根据密度调整阈值。这里需要使用到训练阶段的数据{yj,j=1,...n}进行辅助参考。对于人脸x,可以在训练数据中计算其与每一个训练样本的距离d(x,yi),然后选择与之距离最小的k个参考样本在本发明中设定k=10。由于选择的是与x最近的训练样本,可以假设这些数据在特征空间中的位置很近,所以它们应该具有相似的性质,比如空间密度。而在训练时,对于每一个样本都有它的正例样本然后就可以得到。然后对于x,就可以用它的近邻的信息来得到它的识别阈值同样对于样本y,也可以用相同的方式得到其识别阈值τy。最终识别阈值为将该阈值与||x-y||2进行比较,即可判断这两张人脸图像是否为同一人。与已有工作相比,该方法充分利用了人脸数据在特征空间分布上的密度差异,有效地选择了合理的阈值来进行判断,可有效提升人脸识别的准确率。
综上所述,本发明提供了一种基于密度自适应人脸表征模型的人脸识别方法,其包含两个方面,其一是人脸表征模型的训练阶段,由于注意到人脸数据在特征空间中存在的密度差异,通过学习出密度自适应的人脸表征模型学习出更有效的人脸特征表示,使之能适应人脸数据的不同密度带来的影响;其二是利用人脸表征模型进行人脸识别的使用阶段,在人脸表征模型使用的时候通过密度信息确定密度自适应的阈值来做人脸识别的判断。通过这些方法,可以使深度人脸表征模型自适应地挖掘不同场景、条件下数据的特性,抽取出更加有效地特征,同时判断过程也更加合理,解决在人脸识别中,人脸数据在空间中密度分布不一致所带来的模型训练和使用中的挑战,有助于提升人脸识别的准确率,在实际场景中进行测试,人脸识别误识率小于0.2%,准确率大于99%,具有较强的实际应用前景。
本说明书中实施例采用递进的方式描述,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种基于密度自适应人脸表征模型的人脸识别方法,其特征在于,包括:
S1:人脸表征模型的密度自适应训练阶段,使之能适应人脸数据的不同密度带来的影响,所述人脸表征模型的密度自适应训练阶段具体过程为:
S101:收集足量包含人脸的图像数据,并且有相应的身份信息,能确定不同的图像中包含的人脸是否是同一个人;
S102:对图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来;
S103:将分割出来的人脸数据输入现有的表征模型;
S104:利用现有的表征模型抽取人脸特征向量并利用人脸特征向量计算人脸图像之间的关系,选择出满足条件的锚点,正例,负例三元组人脸数据;
S105:利用满足条件的锚点,正例,负例三元组人脸数据计算密度自适应的损失函数;
S106:利用密度自适应的损失函数作为指导更新当前模型,使之更好地拟合数据,抽取更好的人脸特征;
S107:利用密度自适应的损失函数判断当前模型是否已经收敛,如果收敛,则停止训练,输出模型;如果没有收敛,则又回到步骤S103继续训练该模型,直至模型收敛,完成基于密度自适应人脸表征模型训练并输出模型;
S2:使用步骤S1中得到的密度自适应人脸表征模型进行人脸识别的使用阶段,具体过程为:
S201:对输入的图像数据中的人脸进行检测,将人脸数据从图像的背景中分割出来;
S202:将分割出来的人脸数据送入步骤S1中得到的人脸表征模型,抽取出人脸特征向量;
S203:利用抽取出的人脸特征向量,考虑人脸数据在特征空间中的密度信息,选择通过密度信息确定密度自适应的阈值来完成人脸比对与人脸识别;
2.如权利要求1所述的人脸识别方法,其特征在于,所述步骤S102中使用OpenCV的开源人脸检测模块对图像中的人脸进行检测。
3.如权利要求1所述的人脸识别方法,其特征在于,所述步骤S104中选择的三元组人脸数据应满足:d(xa,xp)+α>d(xa,xn),其中α是一个非负参数,d(x,y)表示两个向量x和y的距离,xa为某一个人一张锚点人脸图像A的特征向量,xp为某一个人的正例图像P的特征向量,xn为一张不属于他、属于别人的人脸图像N的特征向量。
5.如权利要求4所述的人脸识别方法,其特征在于,所述步骤S106中利用密度自适应的损失函数作为指导更新当前模型的方法为:
使用开源框架TensorFlow,并利用TensorFlow内嵌的相关操作实现模型的训练,使用随机梯度下降实现模型的优化,给出损失函数对于每一个样本的梯度信息:
6.如权利要求1所述的人脸识别方法,其特征在于,所述步骤S107中利用密度自适应的损失函数判断当前模型是否已经收敛的方法为:计算前后两轮迭代中的损失函数值,若仍在变化,判断模型不收敛;若损失函数值没有显著变化,则可认为模型收敛。
7.如权利要求1所述的人脸识别方法,其特征在于,所述步骤S201中输入的图像数据可以是摄像头获取的帧,或者某张图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018202765143 | 2018-02-27 | ||
CN201820276514 | 2018-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108734145A CN108734145A (zh) | 2018-11-02 |
CN108734145B true CN108734145B (zh) | 2022-03-29 |
Family
ID=63936348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810524536.1A Active CN108734145B (zh) | 2018-02-27 | 2018-05-28 | 一种基于密度自适应人脸表征模型的人脸识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108734145B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889397B (zh) * | 2018-12-28 | 2023-06-20 | 南京大学 | 一种以人为主体的视觉关系分割方法 |
CN110175248B (zh) * | 2019-04-04 | 2021-08-31 | 中国科学院信息工程研究所 | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 |
CN112528851B (zh) * | 2020-12-09 | 2024-03-29 | 南京航空航天大学 | 一种人脸检测方法及系统 |
CN114742188B (zh) * | 2022-06-10 | 2023-04-07 | 潍坊明晟信息科技有限公司 | 一种自动识别社保卡的数据识别系统及其实现方法 |
CN116386108B (zh) * | 2023-03-27 | 2023-09-19 | 南京理工大学 | 一种基于实例一致性的公平性人脸识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136533A (zh) * | 2011-11-28 | 2013-06-05 | 汉王科技股份有限公司 | 基于动态阈值的人脸识别方法及装置 |
CN106503669A (zh) * | 2016-11-02 | 2017-03-15 | 重庆中科云丛科技有限公司 | 一种基于多任务深度学习网络的训练、识别方法及系统 |
CN106780906A (zh) * | 2016-12-28 | 2017-05-31 | 北京品恩科技股份有限公司 | 一种基于深度卷积神经网络的人证合一识别方法及系统 |
CN106845330A (zh) * | 2016-11-17 | 2017-06-13 | 北京品恩科技股份有限公司 | 一种基于深度卷积神经网络的二维人脸识别模型的训练方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132457A1 (en) * | 2014-06-27 | 2017-05-11 | Beijing Qihoo Technology Company Limited | Human face similarity recognition method and system |
-
2018
- 2018-05-28 CN CN201810524536.1A patent/CN108734145B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136533A (zh) * | 2011-11-28 | 2013-06-05 | 汉王科技股份有限公司 | 基于动态阈值的人脸识别方法及装置 |
CN106503669A (zh) * | 2016-11-02 | 2017-03-15 | 重庆中科云丛科技有限公司 | 一种基于多任务深度学习网络的训练、识别方法及系统 |
CN106845330A (zh) * | 2016-11-17 | 2017-06-13 | 北京品恩科技股份有限公司 | 一种基于深度卷积神经网络的二维人脸识别模型的训练方法 |
CN106780906A (zh) * | 2016-12-28 | 2017-05-31 | 北京品恩科技股份有限公司 | 一种基于深度卷积神经网络的人证合一识别方法及系统 |
Non-Patent Citations (1)
Title |
---|
人脸认证特征提取及阈值平衡方法研究;刘燕飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110315(第3期);第I138-1224页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108734145A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108734145B (zh) | 一种基于密度自适应人脸表征模型的人脸识别方法 | |
CN106845421B (zh) | 基于多区域特征与度量学习的人脸特征识别方法及系统 | |
CN108520226B (zh) | 一种基于躯体分解和显著性检测的行人重识别方法 | |
CN108960080B (zh) | 基于主动防御图像对抗攻击的人脸识别方法 | |
US10169683B2 (en) | Method and device for classifying an object of an image and corresponding computer program product and computer-readable medium | |
US10002290B2 (en) | Learning device and learning method for object detection | |
CN109558810B (zh) | 基于部位分割与融合目标人物识别方法 | |
CN103136504B (zh) | 人脸识别方法及装置 | |
CN113095263B (zh) | 遮挡下行人重识别模型训练方法、装置及遮挡下行人重识别方法、装置 | |
CN109190446A (zh) | 基于三元组聚焦损失函数的行人再识别方法 | |
US20070058856A1 (en) | Character recoginition in video data | |
CN106951825A (zh) | 一种人脸图像质量评估系统以及实现方法 | |
CN109190561B (zh) | 一种视频播放中的人脸识别方法及系统 | |
Srisuk et al. | A new robust face detection in color images | |
CN109145742A (zh) | 一种行人识别方法及系统 | |
CN109903339B (zh) | 一种基于多维融合特征的视频群体人物定位检测方法 | |
CN110991321B (zh) | 一种基于标签更正与加权特征融合的视频行人再识别方法 | |
CN108960142B (zh) | 基于全局特征损失函数的行人再识别方法 | |
CN112766218B (zh) | 基于非对称联合教学网络的跨域行人重识别方法和装置 | |
CN112329784A (zh) | 一种基于时空感知及多峰响应的相关滤波跟踪方法 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN111027377A (zh) | 一种双流神经网络时序动作定位方法 | |
CN107067022B (zh) | 图像分类模型的建立方法、建立装置和设备 | |
JP2015204030A (ja) | 認識装置及び認識方法 | |
CN112395901A (zh) | 一种改进型复杂环境下人脸检测定位识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhou Jile Inventor after: Tang Wang Inventor before: Guo Yuchen Inventor before: Zhou Jile Inventor before: Tang Wang |