人脸识别方法、装置、终端设备及计算机可读介质与流程

文档序号:21728261发布日期:2020-08-05 01:20阅读:210来源:国知局
人脸识别方法、装置、终端设备及计算机可读介质与流程

本发明涉及一种图像处理领域,特别涉及一种人脸识别方法、一种人脸识别装置,以及对应的终端设备和计算机可读介质。



背景技术:

人脸识别技术是目前的研究热点之一,广泛应用于零售、安防等领域。深度卷积神经网络的出现使得人脸识别取得了长足的进步,在lfw(labeledfacesinthewild)等数据集上的验证精度甚至超过人类水平,因此人脸识别技术得到了越来越多的关注。

在人脸识别实际应用中,存在因人脸被遮挡导致识别率不高的问题。目前对于遮挡人脸的识别,主要采用基于部分人脸特征识别或基于遮挡人脸重构识别,但在现有方法中,存在识别率较低,计算复杂等问题,需要进一步提高识别精度。



技术实现要素:

鉴于此,本发明旨在提出一种人脸识别方法及网络,以至少解决目前人脸识别中存在面部遮挡而导致的识别准确率下降的问题。

在本发明的第一方面,提供一种人脸识别方法,所述人脸识别方法包括:

s1,获取待识别人脸的图像区域及所述图像区域的关键点;

s2,基于所述关键点对所述图像区域进行归一化;

s3,根据归一化后的图像区域的未遮挡区域进行人脸识别。

可选的,所述s1中获取待识别人脸的图像区域及所述图像区域的关键点,包括:

采用训练好的卷积神经网络对所述图像区域及所述图像区域的关键点进行获取。

可选的,所述训练好的卷积神经网络包括:以p-net网络为框架,采用带有图像区域标记及标注有所述图像区域的关键点的图像作为训练集进行训练,通过损失函数调整网络参数,直至迭代达到预设次数。

可选的,所述损失函数与人脸检测交叉熵损失函数、人脸边界框回归损失函数和关键点损失函数相关。

可选的,所述s2中基于所述关键点对所述图像区域进行归一化,包括:

基于所述关键点,通过坐标变换对所述图像区域中的人脸的大小、角度和位置进行调整,使其符合预设标准形式。

可选的,所述s3中根据归一化后的图像区域的未遮挡区域进行人脸识别,包括:

s31,以所述归一化后的图像区域为目标对象,

s32,对目标对象进行分割;

s33,确定分割后的每幅图像区域为遮挡或未遮挡;

s34,提取确定为未遮挡的图像区域的直方图序列特征;

s35,对确定为遮挡的图像区域为目标对象;

s36,重复步骤s32至s35预设次数;

s37,根据所获取的全部直方图序列特征,进行人脸识别。

可选的,所述s32中对目标对象进行分割,包括:

采用马尔科夫随机场增强特征信息产生一个掩模,采用所述掩模对所述确定为遮挡的图像区域进行分割。

可选的,所述步骤s33中确定分割后的每幅图像区域为遮挡或未遮挡,包括:

s331,对所述每幅图像区域进行不同尺度和方向的小波变换产生特征;

s332,对所述特征进行降维,并采用支持向量机对降维后的特征进行分类;

s333,根据分类的结果确定所述每幅图像区域是否遮挡。

在本发明第二方面,还提供一种人脸识别装置,所述人脸识别装置包括:

获取模块,用于获取待识别人脸的图像区域及其所述图像区域的关键点;归一化模块,用于基于所述关键点对所述图像区域进行归一化;检测模块,用于根据归一化后的图像区域的未遮挡区域进行人脸识别。

本发明第三方面一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述的人脸识别方法。

通过本发明提供的上述技术方案,具有以下有益效果:本发明提出了一种应用于带有遮挡的人脸识别的方法及网络,能够提升人脸识别的准确率,且模型简单,计算快速。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

图1是本发明一种实施方式提供的人脸识别方法的流程示意图;

图2是本发明一种实施方式提供的人脸识别装置的模型结构图;

图3是本发明一种实施方式提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1是本发明一种实施方式提供的人脸识别方法的流程示意图,如图1所示。本实施方式提供一种人脸识别方法,所述人脸识别方法包括:

s1,获取待识别人脸的图像区域及所述图像区域的关键点;

s2,基于所述关键点对所述图像区域进行归一化;

s3,根据归一化后的图像区域的未遮挡区域进行人脸识别。

如此,通过对图像的前置性处理,提取出包含有人脸的图像区域,并对此进行预处理,能够提升人脸识别的准确性。而进一步地对图像区域进行归一化,变换待识别人脸的大小、角度和位置等参数,避免因为参数的误差而导致识别率的降低,再通过区分图像中的遮挡区域和未遮挡区域进行区分,仅对未遮挡区域进行识别,避免遮挡区域对图像识别的干扰,从而进一步提升识别准确率。本发明实施方式通过以上的图像处理,能够降低在图像识别中的干扰和误差,从而提升人脸识别的准确率。

具体的,本实施方式的大体步骤如下:提取图像区域及其关键点,此处的图像区域为人脸所在的区域,关键点为人脸中的识别关键点或位置关键点,通过提取准确的待识别区域和关键点,为下一步的归一化作为基础。图像归一化是指对图像进行了一系列标准的处理变换,使之变换为一固定标准形式的过程,该标准图像也称作归一化图像。通过对归一化图像进行遮挡识别,对人脸区域的口罩或墨镜等区域进行忽略,而专注于未遮挡区域,以此避免遮挡物对人脸识别准确率的影响。

在本发明提供的一种实施方式中,所述s1中获取待识别人脸的图像区域及所述图像区域的关键点,包括:

采用训练好的卷积神经网络对所述图像区域及所述图像区域的关键点进行获取。采用卷积神经网络对图像区域和关键点进行识别能够有效提升识别效率,相比于其他获取方式具有准确性好和计算迅速的优点。进一步的,所述训练好的卷积神经网络包括:以p-net网络为框架,采用带有图像区域标记及标注有所述图像区域的关键点的图像作为训练集进行训练,通过损失函数调整网络参数,直至迭代达到预设次数。而且,本实施方式优选以p-net网络为基础,设置各层的网络参数,并采用带有图像区域标记及标注有所述图像区域的关键点的图像作为训练集进行训练,通过损失函数调整网络参数,具体的神经网络的训练过程参照现有技术,此处不再赘述。训练好的p-net网络能够快速准确识别目标图像中的人脸区域和人脸区域的关键点。

在本发明提供的一种实施方式中,所述损失函数与人脸检测交叉熵损失函数、人脸边界框回归损失函数和关键点损失函数相关。损失函数是神经网络模型的重要组成部分,适宜的损失函数是卷积神经网络快速收敛的保障。前述的训练好的卷积神经网络的损失函数包括:

人脸检测交叉熵损失函数

其中,xi表示样本的真实标签,pi表示网络输出为人脸的概率,n为训练样本总数;

人脸边界框回归损失函数

其中,表示网络输出之后得到的边界框坐标,yi表示目标的真实边界框;

关键点损失函数

其中,表示网络输出之后得到的关键点的坐标,zi表示关键点的真实坐标;

总损失函数为

l=min(λ1l1+λ2l2+λ3l3)

其中,λ1、λ2、λ3是各损失所占的权重。

在本发明提供的一种实施方式中,所述s2中基于所述关键点对所述图像区域进行归一化,包括:基于所述关键点,通过坐标变换对所述图像区域中的人脸的大小、角度和位置进行调整,使其符合预设标准形式。例如,根据人脸左、右眼中心坐标位置计算图像的变换矩阵,

其中,sx,sy分别是图像在x、y方向的缩放因子,θ是旋转角度,tx表示在x方向平移距离,ty在y方向平移距离,通过此变换矩阵,能够实施对图像区域的缩放、旋转和平移等操作,使其成为符合标准的图像。

在本发明提供的一种实施方式中,所述s3中根据归一化后的图像区域的未遮挡区域进行人脸识别,包括:

s31,以所述归一化后的图像区域为目标对象,

s32,对目标对象进行分割;

s33,确定分割后的每幅图像区域为遮挡或未遮挡;

s34,提取确定为未遮挡的图像区域的直方图序列特征;

s35,对确定为遮挡的图像区域为目标对象;

s36,重复步骤s32至s35预设次数;

s37,根据所获取的全部直方图序列特征,进行人脸识别。

本实施方式主要采用图像分割后进行判定的方式,对分割后的图像进行分类,分为遮挡或未遮挡,仅对未遮挡区域进行特征提取,以此忽略遮挡部分的特征,以此提升识别准确率。而图像分割存在分割粒度的问题,在分割后的图像中极大可能存在部分遮挡的情况,而此时将判定为遮挡的图像进行整体的去除,会丢失掉很多图像特征,降低图像识别的准确率。因此本实施方式通过对遮挡图像的再次分割,以降低图像的特征损失。并能够进行多次的递进分割,以尽量不损失图像中的人脸信息。

在本发明提供的一种实施方式中,所述s32中对目标对象进行分割,包括:

采用马尔科夫随机场增强特征信息产生一个掩模,采用所述掩模对所述确定为遮挡的图像区域进行分割。利用马尔科夫随机场增强特征信息产生掩模的方法具体为假设图像所有像素点集合为s,采用svm对图像遮挡的分类结果作为初始化分类标签w,即有遮挡时像素记为1,无遮挡时像素记为0,则可以联合先验概率和条件概率估计后验概率最大化标签,即p(w|s)的最大值,当p(w|s)取最大值时,各像素点获得遮挡与否的最适宜分类结果

p(s|w)表示条件概率,是p(w|s)的似然函数,表示分好类的各个像素点和真实像素点分布是否匹配的关系;p(s)表示输入图像的分布,为常数;p(w)表示分类类型。图像中的像素点可以看成是一个马尔科夫随机场,即图像中某一像素点的分类概率只和相邻点有关而与其他距离远的点无关,像素点与周围相邻点构成的一个小区域称为势能团,例如像素点与它左边相邻的像素点构成一个势能团。

p(w)可以通过势能函数求取

其中z是配分函数,是一个归一化常数,参数t可控制p(w)的形状,t越大越平坦,c是势能团的集合

其中,vc(wc)是势能团势能,β为耦合系数,s、t分别为相邻的两个像素点。

p(s|w)利用标记信息估计像素点的值,标记分类中的像素点分布满足高斯分布,则可以根据某一像素点的值判断它的分类结果。

利用马尔科夫随机场对遮挡图像再次分割,提高分割准确性,然后比对非遮挡人脸区域的lgbphs(直方图序列)特征,通过直方图相识度匹配方法来识别人脸,例如用直方图交运算进行匹配识别。lgbphs特征是在gabor特征基础上通过lbp算子进一步编码,获得一个新的基于局部gabor变换直方图序列。

在本发明提供的一种实施方式中,所述步骤s33中确定分割后的每幅图像区域为遮挡或未遮挡,包括:

s331,对所述每幅图像区域进行不同尺度和方向的小波变换产生特征;

s332,对所述特征进行降维,并采用支持向量机对降维后的特征进行分类;

s333,根据分类的结果确定所述每幅图像区域是否遮挡。

具体的,小波变换采用gabor小波,gabor小波由正弦载波和高斯包络组成,具有在空间域和频率域同时取得最优局部化的特性,因此能很好地描述对应于空间频率、空间位置及方向选择性的局部结构信息。由于所提取的gabor特征尺寸较大,采用pca(主成分分析)来最大化gabor特征在投影子空间中的方差,使得gabor特征在保持其判别能力的同时减少特征向量的维数。

图2是本发明一种实施方式提供的人脸识别装置的模型结构图,如图2所示。在本发明提供的一种实施方式中,还提供了一种人脸识别装置,所述人脸识别装置包括:

获取模块,用于获取待识别人脸的图像区域及其所述图像区域的关键点;

归一化模块,用于基于所述关键点对所述图像区域进行归一化;

检测模块,用于根据归一化后的图像区域的未遮挡区域进行人脸识别。

获取模块包括:采用训练好的卷积神经网络对所述图像区域及所述图像区域的关键点进行获取。

所述训练好的卷积神经网络包括:以p-net网络为框架,采用带有图像区域标记及标注有所述图像区域的关键点的图像作为训练集进行训练,通过损失函数调整网络参数,直至迭代达到预设次数。

所述损失函数与人脸检测交叉熵损失函数、人脸边界框回归损失函数和关键点损失函数相关。

归一化模块包括:基于所述关键点,通过坐标变换对所述图像区域中的人脸的大小、角度和位置进行调整,使其符合预设标准形式。

检测模块包括:

s31,以所述归一化后的图像区域为目标对象;

s32,对目标对象进行分割;

s33,确定分割后的每幅图像区域为遮挡或未遮挡;

s34,提取确定为未遮挡的图像区域的直方图序列特征;

s35,对确定为遮挡的图像区域为目标对象;

s36,重复步骤s32至s35预设次数;

s37,根据所获取的全部直方图序列特征,进行人脸识别。

检测模块中对目标对象进行分割,包括:采用马尔科夫随机场增强特征信息产生一个掩模,采用所述掩模对所述确定为遮挡的图像区域进行分割。

检测模块中确定分割后的每幅图像区域为遮挡或未遮挡,包括:

s331,对所述每幅图像区域进行不同尺度和方向的小波变换产生特征;

s332,对所述特征进行降维,并采用支持向量机对降维后的特征进行分类;

s333,根据分类的结果确定所述每幅图像区域是否遮挡。

该人脸识别装置的实施方式的细节参照前述的人脸识别方法,此处不再赘述。

在本发明提供的一种实施方式中,还提供一种计算机或服务器,该计算机或服务器上加载有前述的人脸识别装置,使其能够完成前述的人脸识别方法。

图3是本发明一种实施方式提供的终端设备的示意图,如图3所示。该实施例的终端设备10包括:处理器100、存储器101以及存储在所述存储器101中并可在所述处理器100上运行的计算机程序102,例如进行人脸识别的程序。所述处理器100执行所述计算机程序102时实现上述方法实施例中的步骤,例如,图1所示的人脸识别方法的相关步骤。或者,所述处理器100执行所述计算机程序102时实现上述各装置实施例中各模块/单元的功能,例如图2所示的人脸识别装置的相关模块的功能。

示例性的,所述计算机程序102可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器101中,并由所述处理器100执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序102在终端设备10中的执行过程。例如,所述计算机程序102可以被分割成获取模块、归一化模块和检测模块(虚拟装置中的模块),各模块具体功能如下:

获取模块,用于获取待识别人脸的图像区域及其所述图像区域的关键点;

归一化模块,用于基于所述关键点对所述图像区域进行归一化;

检测模块,用于根据归一化后的图像区域的未遮挡区域进行人脸识别。

所述终端设备10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备10可包括,但不仅限于,处理器100、存储器101。本领域技术人员可以理解,图3仅仅是终端设备10的示例,并不构成对终端设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所述处理器100可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器101可以是终端设备10的内部存储单元,例如终端设备10的硬盘或内存。所述存储器101也可以是终端设备10的外部存储设备,例如所述终端设备10上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器101还可以既包括终端设备10的内部存储单元也包括外部存储设备。所述存储器101用于存储所述计算机程序以及终端设备10所需的其他程序和数据。所述存储器101还可以用于暂时地存储已经输出或者将要输出的数据。

在本发明提供的一种实施方式中,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述的人脸识别方法。

通过本发明提供的实施方法,对于带有遮挡的人脸具有很好的识别效果,试验证明能够有效提升人脸识别的准确度。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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