一种快速人脸识别方法、装置、电子设备及存储介质与流程

文档序号:16504115发布日期:2019-01-05 08:56阅读:227来源:国知局
一种快速人脸识别方法、装置、电子设备及存储介质与流程

本发明涉及人脸识别技术领域,尤其涉及一种快速人脸识别方法、装置、电子设备及存储介质。



背景技术:

在视频监控、人脸识别门禁以及人脸识别解锁等场景中,人脸识别扮演一个重要的角色。通过人脸识别自动识别来客、判断陌生人闯入或解锁,实现自动告警。

现有的人脸识别系统一般通过尺度不变特征变换(sift)算法实现,sift算法对于处理物体平移、旋转、仿射变换等具有很强的匹配能力,基于这一点,很多人开始试图将其应用于人脸识别领域。但是由于人脸是一个弹性的人脸,对于面部表情变化,以及光照不均等,极易造成特征点的不稳定,使得特征点的匹配难以进行。而且,sift算法在物体识别方面高超的匹配性能,取决于关键点的多维信息。但是当关键点数目大幅增加,数据库样本增大到一定数量级时,算法时间复杂度会大大增加,以具有68个关键点的人脸为例,若每个关键点有128维信息。我们将n个样本存储在数据库中,若采取逐个计算特征点欧式距离的方式进行匹配,再利用快排进行排序时,则其时间复杂度为o(n2*log(n)),而人脸识别对时间性能的要求是很高的,这种方式显然不能满足人们在时间上的需求。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种快速人脸识别方法,其可以降低人脸匹配过程中的时间复杂度,缩短人脸识别花费的时间,达到快速人脸识别的目的。

本发明的目的之二在于提供一种快速人脸识别装置,其可以降低人脸匹配过程中的时间复杂度,缩短人脸识别花费的时间,达到快速人脸识别的目的。

本发明的目的之三在于提供一种实现上述快速人脸识别方法的电子设备。

本发明的目的之四在于提供一种存储上述快速人脸识别方法的计算机可读存储介质。

本发明的目的之一采用如下技术方案实现:

一种快速人脸识别方法,包括以下步骤:

利用主动外观模型进行关键点定位,获取样本集和输入人脸图像的位置信息;

所述样本集的位置信息为:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

所述输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

其中,xi为第i个样本的位置信息,1≤i≤n,n为样本集中样本的个数,y为输入人脸图像的位置信息;xij和yij共同组成第i个样本的第j个关键点的位置信息,1≤j≤68,xj和yj共同组成输入人脸图像的第j个关键点的位置信息;

利用关键点邻域像素的梯度方向分布特性,获得每个关键点的128维特征向量,以此得到样本集和输入人脸图像的描述子信息;

其中,pi为第i个样本的描述子信息;为第i个样本的第j个关键点的特征向量;q为输入人脸图像的描述子信息,为输入人脸图像第j个关键点的特征向量;

pijk为特征向量中的第k维元素,qjk为特征向量中的第k维元素,1≤j≤128;

计算样本集和输入人脸图像的关键点能量值:

eij为第i个样本的第j个关键点的能量值,eij为第i个样本的第j个关键点的能量值;ej为输入人脸图像第j个关键点的能量值;

对于输入人脸图像的第j个关键点,遍历样本集所有关键点,搜索在[ej-w,ej+w]范围内的样本集的关键点,将能量值在[ej-w,ej+w]范围内的样本集的关键点记为该输入人脸图像的第j个关键点的匹配关键点;将输入人脸图像的所有关键点均分别遍历样本集所有关键点,获得的所有匹配关键点记为目标关键点;

根据目标关键点确定目标样本,目标样本为样本集中的部分或全部样本,目标样本的描述子信息记为p′;

根据欧氏距离从目标样本中找出与所述输入人脸图像的最佳匹配样本:

d为目标样本和输入人脸图像的最小欧氏距离值,wj为第j个关键点的权值,为设定值,样本集和输入人脸图像的第j个关键点具有相同的权值;p′ajk为第a个目标样本第j个关键点第k维元素,1≤a≤m,m为目标样本的个数,1≤m≤n,最小欧氏距离值d对应的目标样本即为最佳匹配样本。

优选地,所述根据目标关键点确定目标样本,包括:将目标关键点对应的所有样本集中的样本作为目标样本。

优选地,所述根据目标关键点确定目标样本,包括:所述目标样本对应的所有关键点均位于所述目标关键点中。

优选地,所述根据目标关键点确定目标样本,包括:所述目标样本对应的关键点位于所述目标关键点的个数达到预设个数。

优选地,还包括:将最小欧氏距离值d与预设阈值进行比对,如果最小欧氏距离值d大于预设阈值,则匹配不成功,样本集中不存在与所述输入人脸图像对应的最佳匹配样本,如果最小欧氏距离值d不大于预设阈值,则最小欧氏距离值d对应的目标样本即为最佳匹配样本。

本发明的目的之二采用如下技术方案实现:

一种快速人脸识别装置,包括:

关键点定位模块,用于利用主动外观模型进行关键点定位,获取样本集和输入人脸图像的位置信息;

所述样本集的位置信息为:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

所述输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

其中,xi为第i个样本的位置信息,1≤i≤n,n为样本集中样本的个数,y为输入人脸图像的位置信息;xij和yij共同组成第i个样本的第j个关键点的位置信息,1≤j≤68,xj和yj共同组成输入人脸图像的第j个关键点的位置信息;

描述子信息获取模块,用于利用关键点邻域像素的梯度方向分布特性,获得每个关键点的128维特征向量,以此得到样本集和输入人脸图像的描述子信息;

其中,pi为第i个样本的描述子信息;为第i个样本的第j个关键点的特征向量;q为输入人脸图像的描述子信息,为输入人脸图像第j个关键点的特征向量;

pijk为特征向量中的第k维元素,qjk为特征向量中的第k维元素,1≤j≤128;

能量计算模块,用于计算样本集和输入人脸图像的关键点能量值:

eij为第i个样本的第j个关键点的能量值,eij为第i个样本的第j个关键点的能量值;ej为输入人脸图像第j个关键点的能量值;

遍历模块,用于对于输入人脸图像的第j个关键点,遍历样本集所有关键点,搜索在[ej-w,ej+w]范围内的样本集的关键点,将能量值在[ej-w,ej+w]范围内的样本集的关键点记为该输入人脸图像的第j个关键点的匹配关键点;将输入人脸图像的所有关键点均分别遍历样本集所有关键点,获得的所有匹配关键点记为目标关键点;

目标样本确定模块,用于根据目标关键点确定目标样本,目标样本为样本集中的部分或全部样本,目标样本的描述子信息记为p′;

匹配模块,用于根据欧氏距离从目标样本中找出与所述输入人脸图像的最佳匹配样本:

d为目标样本和输入人脸图像的最小欧氏距离值,wj为第j个关键点的权值,为设定值,样本集和输入人脸图像的第j个关键点具有相同的权值;p′ajk为第a个目标样本第j个关键点第k维元素,1≤a≤m,m为目标样本的个数,1≤m≤n,最小欧氏距离值d对应的目标样本即为最佳匹配样本。

本发明的目的之三采用如下技术方案实现:

一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明目的之一的快速人脸识别方法。

本发明的目的之四采用如下技术方案实现:

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明目的之一的快速人脸识别方法。

相比现有技术,本发明的有益效果在于:

本发明通过主动外观模型(aam)进行关键点定位,然后通过sift算法获取样本集和输入人脸图像的描述子信息,再通过能量方式进行筛选,构造目标样本(多个样本集中的样本构成),通过输入人脸图像和目标样本的欧氏距离,获得最佳匹配样本,完成人脸匹配过程。

附图说明

图1为本发明实施例一的快速人脸识别方法的流程图;

图2为本发明实施例二的快速人脸识别装置的结构示意图;

图3为本发明实施例三的电子设备的结构示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

实施例一

请参照图1所示,一种快速人脸识别方法,包括以下步骤:

110、利用主动外观模型进行关键点定位,获取样本集和输入人脸图像的位置信息;

所述样本集的位置信息为:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

所述输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

其中,xi为第i个样本的位置信息,1≤i≤n,n为样本集中样本的个数,y为输入人脸图像的位置信息;xij和yij共同组成第i个样本的第j个关键点的位置信息,1≤j≤68,xj和yj共同组成输入人脸图像的第j个关键点的位置信息。

其具体包括以下步骤:

样本图片对齐:选择合适的人脸图像训练样本集,并进行特征点标记(包括眉毛、眼睛、鼻子、嘴巴、下巴、脸部轮廓),对于样本集中的每一个样本,用68个特征点来表示人脸形状,这些特征点称为关键点,且每一个关键点的位置信息为二维,则样本可以表示如下,则样本可以表示如下:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

要将两个样本进行对齐,则需要进行处理的控制参数有偏移信息t=[tx,ty]t、尺度信息α、以及旋转因子θ。通过对这三个参数的调节处理之后,使得两个样本的欧式距离最小。其中旋转处理的方法为,将要对齐的两个样本形状x1、x2写成68*2形式,再对x1tx2进行奇异值分解,计算出最优的旋转矩阵vut,它把x1旋转θ角度之后对齐到x2。

而其对齐训练算法为:对训练中的每个样本,消除位置偏移的影响。任意选择一个样本作为样本平均值的估计(如样本集中的第一个样本)。接着把样本集中所有样本的尺度和旋转朝向对齐到样本平均值。再重新计算样本平均值。如果没有收敛则再次选择一个样本作为样本平均值,直至收敛。

创建模型:通过对齐操作,将所有的样本对齐,接下来要创建aam模型。aam模型的创建包括形状建模、纹理建模和混合建模三个阶段。其目的是找出合适的模型参数,以使模型实例和样本实例尽可能的达到一致。

拟合计算:通过拟合计算变化模型的参数组,控制形状控制点的位置变化来生成当前的aam模型实例。当匹配输入图像与当前人脸模型实例使得能量函数最小化时,当前人脸模型实例的形状控制点的位置实际上就描述了输入人脸图像的特征点的位置,这就相当于实现了对输入人脸图像进行人脸特征点定位的目的,最终得到输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

120、利用sift描述子对关键点按照邻域像素的梯度方向分布信息进行描述,获得每个关键点的128维特征向量,以此得到样本集和输入人脸图像的描述子信息。

其中,pi为第i个样本的描述子信息;为第i个样本的第j个关键点的特征向量;q为输入人脸图像的描述子信息,为输入人脸图像第j个关键点的特征向量;

pijk为特征向量中的第k维元素,qjk为特征向量中的第k维元素,1≤j≤128;

130、计算样本集和输入人脸图像的关键点能量值:

eij为第i个样本的第j个关键点的能量值,eij为第i个样本的第j个关键点的能量值;ej为输入人脸图像第j个关键点的能量值。

140、对于输入人脸图像的第j个关键点,遍历样本集所有关键点,搜索在[ej-w,ej+w]范围内的样本集的关键点,将能量值在[ej-w,ej+w]范围内的样本集的关键点记为该输入人脸图像的第j个关键点的匹配关键点(其中w为偏差设定值);将输入人脸图像的所有关键点均分别遍历样本集所有关键点,获得的所有匹配关键点记为目标关键点。

150、根据目标关键点确定目标样本,目标样本为样本集中的部分或全部样本,目标样本的描述子信息记为p′。

目标样本的筛选方式可以是以下三种方式的任一种:

1、将目标关键点对应的所有样本集中的样本作为目标样本,这种方式获取的目标样本是最全面的,不会遗漏最佳匹配样本,但是对后续的计算所花费的时间可能造成一定的影响。

2、目标样本对应的所有关键点均位于所述目标关键点中,即将目标关键点按照其所在的样本进行划分构成多个目标关键点集合,如果某个或某些目标关键点集合的数量为68个,则该个或该些目标关键点集合对应的样本即为目标样本,这种方式获取的目标样本数量最少,甚至没有,如果存在这样的样本,很可能就是最终的最佳匹配样本。

因此,采用这种方式,可以按照以下方式进行:

寻找满足目标关键点集合内关键点数量为68个的目标样本,如果存在这样的样本,则获取目标样本的数量,如果是一个,则该目标样本即为最佳匹配样本,无需后面的欧氏距离计算的操作,如果为多个,则再进行欧氏距离计算,这样计算的时间复杂度会大大降低;如果本方式不能获取到目标样本,则通过方式1或方式3进行目标样本的确定。

3、所述目标样本对应的关键点位于所述目标关键点的个数达到预设个数。与方式2相似,将目标关键点按照其所在的样本进行划分构成多个目标关键点集合,如果某个或某些目标关键点集合的数量达到预设个数,例如40个,45个等,则该个或该些目标关键点集合对应的样本即为目标样本。本方式下,根据对时间的要求可以对预设个数进行设定,预设个数越大,则时间复杂度就越低,有可能会筛掉最佳匹配样本,反之,预设个数越小,时间复杂度就越高,不会容易筛掉最佳匹配样本,当预设个数分别为1和68时,分别对应方式1和方式2的筛选过程。

160、根据欧氏距离从目标样本中找出与所述输入人脸图像的最佳匹配样本:

d为目标样本和输入人脸图像的最小欧氏距离值,wj为第j个关键点的权值,为设定值,样本集和输入人脸图像的第j个关键点具有相同的权值;p′ajk为第a个目标样本第j个关键点第k维元素,1≤a≤m,m为目标样本的个数,1≤m≤n,将最小欧氏距离值d与预设阈值进行比对,如果最小欧氏距离值d大于预设阈值,则匹配不成功,样本集中不存在与所述输入人脸图像对应的最佳匹配样本,如果最小欧氏距离值d不大于预设阈值,则匹配成功,最小欧氏距离值d对应的目标样本即为最佳匹配样本,人脸识别完成,即匹配成功后,可以进行下一步的操作,例如目标跟踪、打开门禁,解锁手机等。

对于有n个样本的数据库,搜寻任意一个关键点能量值的时间为log(n),计算m个目标样本各关键点匹配距离的时间为m*68*128,而对m个匹配距离进行快速排序找到最小欧氏距离值的时间为m*log(m),显然后两项都为常数,所以总的时间复杂度为o(log(n))。也就是说用这种人脸识别方法,其识别速度要比现有的操作方式快很多。

实施例二

请参照图2所示,本发明还提供一种快速人脸识别装置,为上述实施例一种快速人脸识别方法的虚拟装置,其包括:

关键点定位模块210,用于利用主动外观模型进行关键点定位,获取样本集和输入人脸图像的位置信息;

所述样本集的位置信息为:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

所述输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

其中,xi为第i个样本的位置信息,1≤i≤n,n为样本集中样本的个数,y为输入人脸图像的位置信息;xij和yij共同组成第i个样本的第j个关键点的位置信息,1≤j≤68,xj和yj共同组成输入人脸图像的第j个关键点的位置信息;

描述子信息获取模块220,用于利用关键点邻域像素的梯度方向分布特性,获得每个关键点的128维特征向量,以此得到样本集和输入人脸图像的描述子信息;

其中,pi为第i个样本的描述子信息;为第i个样本的第j个关键点的特征向量;q为输入人脸图像的描述子信息,为输入人脸图像第j个关键点的特征向量;

pijk为特征向量中的第k维元素,qjk为特征向量中的第k维元素,1≤j≤128;

能量计算模块230,用于计算样本集和输入人脸图像的关键点能量值:

eij为第i个样本的第j个关键点的能量值,eij为第i个样本的第j个关键点的能量值;ej为输入人脸图像第j个关键点的能量值;

遍历模块240,用于对于输入人脸图像的第j个关键点,遍历样本集所有关键点,搜索在[ej-w,ej+w]范围内的样本集的关键点,将能量值在[ej-w,ej+w]范围内的样本集的关键点记为该输入人脸图像的第j个关键点的匹配关键点;将输入人脸图像的所有关键点均分别遍历样本集所有关键点,获得的所有匹配关键点记为目标关键点;

目标样本确定模块250,用于根据目标关键点确定目标样本,目标样本为样本集中的部分或全部样本,目标样本的描述子信息记为p′;

匹配模块260,用于根据欧氏距离从目标样本中找出与所述输入人脸图像的最佳匹配样本:

d为目标样本和输入人脸图像的最小欧氏距离值,wj为第j个关键点的权值,为设定值,样本集和输入人脸图像的第j个关键点具有相同的权值;p′ajk为第a个目标样本第j个关键点第k维元素,1≤a≤m,m为目标样本的个数,1≤m≤n,最小欧氏距离值d对应的目标样本即为最佳匹配样本。

实施例三

图3为本发明实施例三提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的快速人脸识别方法对应的程序指令/模块(例如,快速人脸识别装置中的关键点定位模块210、描述子信息获取模块220、能量计算模块230、遍历模块240、目标样本确定模块250和匹配模块260)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的快速人脸识别方法。

存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可用于接收输入的用户身份信息。输出装置340可包括显示屏等显示设备。

实施例四

本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种快速人脸识别方法,该方法包括:

利用主动外观模型进行关键点定位,获取样本集和输入人脸图像的位置信息;

所述样本集的位置信息为:

xi=[xi1,xi2,...,xi68,yi1,yi2,...,yi68]t

所述输入人脸图像的位置信息为:

y=[x1,x2,...,x68,y1,y2,...,y68]t

其中,xi为第i个样本的位置信息,1≤i≤n,n为样本集中样本的个数,y为输入人脸图像的位置信息;xij和yij共同组成第i个样本的第j个关键点的位置信息,1≤j≤68,xj和yj共同组成输入人脸图像的第j个关键点的位置信息;

利用关键点邻域像素的梯度方向分布特性,获得每个关键点的128维特征向量,以此得到样本集和输入人脸图像的描述子信息;

其中,pi为第i个样本的描述子信息;为第i个样本的第j个关键点的特征向量;q为输入人脸图像的描述子信息,为输入人脸图像第j个关键点的特征向量;

pijk为特征向量中的第k维元素,qjk为特征向量中的第k维元素,1≤j≤128;

计算样本集和输入人脸图像的关键点能量值:

eij为第i个样本的第j个关键点的能量值,eij为第i个样本的第j个关键点的能量值;ej为输入人脸图像第j个关键点的能量值;

对于输入人脸图像的第j个关键点,遍历样本集所有关键点,搜索在[ej-w,ej+w]范围内的样本集的关键点,将能量值在[ej-w,ej+w]范围内的样本集的关键点记为该输入人脸图像的第j个关键点的匹配关键点;将输入人脸图像的所有关键点均分别遍历样本集所有关键点,获得的所有匹配关键点记为目标关键点;

根据目标关键点确定目标样本,目标样本为样本集中的部分或全部样本,目标样本的描述子信息记为p′;

根据欧氏距离从目标样本中找出与所述输入人脸图像的最佳匹配样本:

d为目标样本和输入人脸图像的最小欧氏距离值,wj为第j个关键点的权值,为设定值,样本集和输入人脸图像的第j个关键点具有相同的权值;p′ajk为第a个目标样本第j个关键点第k维元素,1≤a≤m,m为目标样本的个数,1≤m≤n,最小欧氏距离值d对应的目标样本即为最佳匹配样本。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于快速人脸识别方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述基于快速人脸识别装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1