一种人脸识别方法和装置与流程

文档序号:17374173发布日期:2019-04-12 23:07阅读:130来源:国知局
一种人脸识别方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种人脸识别方法和装置。



背景技术:

随着计算机技术的发展,图像处理技术应用到了越来越多的领域,通常可以使用机器学习方法训练人脸识别模型,利用人脸识别模型对图像中的人脸进行识别。

现有的人脸检测与识别主要利用可见光图像进行识别,例如使用彩色图像进行人脸检测与识别,但基于彩色图像的人脸检测与识别对光线敏感度较大,对于强光和弱光的环境下的彩色图像,识别效果较差。



技术实现要素:

本发明提供了一种人脸识别方法和装置,以解决现有人脸识别对光照的鲁棒性的问题。

本发明一方面提供了一种人脸识别方法,包括:获取红外图像;基于红外图像进行人脸目标检测,并对检测到的人脸目标进行平滑处理,获得平滑后的人脸区域图像;利用人脸区域图像包括的面部特征点进行图像质量评估;根据满足质量评估的人脸区域图像进行人脸身份识别,得到身份识别结果。

本发明一方面提供了一种人脸识别装置,包括:图像获取单元,用于获取红外图像;平滑处理单元,用于基于红外图像进行人脸目标检测,并对检测到的人脸目标进行平滑处理,获得平滑后的人脸区域图像;质量评估单元,用于利用人脸区域图像包括的面部特征点进行图像质量评估;身份识别单元,用于根据满足质量评估的人脸区域图像进行人脸身份识别,得到身份识别结果。

本发明基于ir图像对光照的不敏感性,利用ir图像进行人脸身份识别,避免使用对光照敏感的可见光图像进行人脸识别时存在的光照较强或光照较弱情况下无法准确进行人脸识别的问题;以及通过在利用ir图像进行人脸身份识别之前,对ir图像的人脸目标进行平滑处理获得稳定连续的人脸区域图像,再对平滑处理后的人脸区域图像进行关于图像有效性的图像质量评估,利用通过图像质量评估的人脸区域图像进行身份识别,提高身份识别的准确性。

附图说明

图1为本发明实施例示出的人脸识别方法的流程图;

图2为本发明实施例示出的利用面部关键点计算图像俯仰角度示意图;

图3为本发明实施例示出的利用面部关键点计算图像偏航角度示意图;

图4为本发明实施例示出的人脸识别装置的结构框图;

图5为本发明实施例示出的人脸识别装置的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。

因此,本发明的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本发明的技术可以采取存储有指令的机器可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本发明的上下文中,机器可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,机器可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。机器可读介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

本发明实施例提供一种人脸识别方法。

图1为本发明实施例示出的人脸识别方法的流程图,如图1所示,本实施例的方法包括:

s110,获取红外(infraredradiation,ir)图像。

本实施例可以利用红外摄像头采集ir图像。

s120,基于ir图像进行人脸目标检测,并对检测到的人脸目标进行平滑处理,获得平滑后的人脸区域图像。

s130,利用人脸区域图像包括的面部特征点进行图像质量评估。

本实施例对检测到的人脸区域图像进行图像质量评估以识别图像有效性,在通过图像质量评估时,表明检测到的人脸区域图像为有效的人脸图像,可以基于检测到的人脸区域图像进行身份识别,在没有通过图像质量评估时,表明检测到的人脸区域图像为无效的人脸图像,放弃该人脸区域图像。

s140,根据满足质量评估的人脸区域图像进行人脸身份识别,得到身份识别结果。

本实施例基于ir图像对光照的不敏感性,利用ir图像进行人脸身份识别,避免使用对光照敏感的可见光图像进行人脸识别时存在的光照较强或光照较弱情况下无法准确进行人脸识别的问题;本实施例还通过在利用ir图像进行人脸身份识别之前,对ir图像的人脸目标进行平滑处理获得稳定连续的人脸区域图像,再对平滑处理后的人脸区域图像进行关于图像有效性的图像质量评估,利用通过图像质量评估的人脸区域图像进行身份识别,提高身份识别的准确性。

下面对上述步骤s110-s140进行详细说明,本实施例步骤s110-s140的执行主体可以为终端设备,例如为智能手机、pad、智能音箱等设备。

首先,执行步骤s110,即获取ir图像。

本实施例中的执行主体可以安装有用于采集ir图像到的摄像头,在需要进行身份识别时,可以开启的摄像头进行用户头部或者脸部的拍摄,获得本实施例所需的ir图像。

在获得所需的ir图像之后,可以对ir图像进行必要的去噪滤波等预处理。

在获取ir图像之后,继续执行步骤s120,基于ir图像进行人脸目标检测,并对检测到的人脸目标进行平滑处理,获得平滑后的人脸区域图像。

本实施例可以采用现有方法对ir图像进行人脸目标检测,例如采用决策树的方法,通过窗口缩放与滑动对人脸目标进行多尺度检测。由于人脸目标检测的稳定性会影响后续身份识别的准确性,本实施例对人脸目标检测结果进行平滑处理,保证得到稳定的人脸检测区域。

一个实施例中,通过下述方法获得平滑后的人脸区域图像:首先对当前获取的红外图像进行人脸目标检测,获取目标位置信息;接着对目标位置信息进行卡尔曼初始平滑,获得卡尔曼平滑结果;再基于设定的平滑指数和设定的目标位置平滑误差,对将上一帧红外图像目标位置的平滑结果和卡尔曼平滑结果进行指数平滑,获得指数平滑结果,设定的目标位置平滑误差指示对目标位置的最大平滑程度误差;然后根据指数平滑结果和上一帧红外图像目标位置的平滑结果确定目标位置的抖动信息,并根据抖动信息和设定的静止行为判定误差确定目标位置信息的平滑结果为对应于当前红外图像平滑处理后的人脸区域图像,设定的静止行为判定误差指示目标位置对应静止行为的最大抖动误差。

在实施例中,目标位置包括目标中心位置pt(i)(x,y)和目标边缘位置s(i)(x,y),i为当前ir图像的帧号,(x,y)为像素点位置;在获得目标位置信息后,分别对目标中心位置pt(i)(x,y)和目标边缘位置s(i)(x,y)进行卡尔曼初始平滑,获得目标中心位置的卡尔曼平滑结果kspt(i)和目标边缘位置s(i)(x,y)的卡尔曼平滑结果kss(i);以上一帧ir图像中目标中心位置的平滑结果mpt(i-1)、目标边缘位置的平滑结果ms(i-1)和当前ir图像的卡尔曼平滑结果kspt(i)与kss(i)为基础进行指数平滑,即根据公式获得目标中心位置pt(i)(x,y)的指数平滑结果espt(i),以及根据公式获得目标边缘位置s(i)(x,y)的指数平滑结果ess(i),其中,gpt和gs依次为中心位置平滑误差权重值、目标边缘位置平滑误差权重值,可以根据跟踪数据需求和误差设定gpt和gs的值,mrpt和mrs目标中心位置平滑误差、目标边缘位置平滑误差,mrpt表示目标中心位置的最大平滑程度误差,mrs表示目标边缘位置的最大平滑程度误差;再继续计算目标中心位置的波动dispt(i)=|espt(i)-mpt(i-1)|和目标边缘位置的波动diss(i)=|ess(i)-ms(i-1)|,设定目标中心位置对应静止行为判定误差为srpt,目标边缘位置对应静止行为判定误差为srs,根据公式确定当前ir图像目标中心位置的平滑结果mpt(i),以及根据公式确定当前ir图像目标边缘位置的平滑结果ms(i),即在目标中心位置的波动dispt小于srpt时,说明目标中心位置对应为静止行为,将上一帧ir图像平滑后得到的目标中心位置确定为当前ir图像的目标中心位置,反之,在目标中心位置的波动dispt不小于srpt时,说明目标中心位置对应为动态行为,将当前ir图像对应的目标中心位置的指数平滑结果espt(i)确定为当前ir图像的目标中心位置。同样的,在目标边缘位置的波动diss小于srs时,说明目标边缘位置对应为静止行为,将上一帧ir图像平滑后得到的目标边缘位置确定为当前ir图像的目标边缘位置,反之,在目标边缘位置的波动diss不小于srs时,说明目标边缘位置对应为动态行为,将当前ir图像对应的目标边缘位置的指数平滑结果ess(i)确定为当前ir图像的目标边缘位置。

在获得平滑后的人脸区域图像之后,继续执行步骤s130,即利用人脸区域图像包括的面部特征点进行图像质量评估。

在一个实施例中,通过下述方法进行图像质量评估:首先获取人脸区域图像包括的五个面部特征点的位置,第一至第五面部特征点依次对应为左右眼特征点、左右嘴角特征点和鼻子特征点;接着根据第一至第五面部特征点的位置确定人脸区域图像的俯仰角度和偏航角度;以及,将人脸区域图像划分为多个子图像块,对多个子图像块进行能量梯度计算,获得人脸区域图像的梯度值;然后在人脸区域图像的俯仰角度、偏航角度和梯度值满足预设条件时,确定人脸区域图像通过图像质量评估。

由于人脸角度一板通过俯仰角、偏航角、旋转角三种角度进行描述,旋转角通过图片的旋转是可以纠正的,在人脸算法中称为人脸对齐,所以本实施例不讲旋转角度作为图像质量评估的标准,而是利用俯仰角、偏航角作为图像质量评估的标准。

其中,通过下述方法获得俯仰角度和偏航角度:

分别获取第一面部特征点与第五面部特征点形成的第一向量在水平方向和垂直方向上的分量,第二面部特征点与第五面部特征点形成的第二向量在水平方向和垂直方向上的分量,第三面部特征点与第五面部特征点形成的第三向量在水平方向和垂直方向上的分量,和第四面部特征点与第五面部特征点形成的第四向量在水平方向和垂直方向上的分量;获取第一向量与第三向量在垂直方向的分量的距离差,和第二向量与第四向量在垂直方向的分量的距离差中的最大距离差为俯仰角度;获取第一向量与第三向量在水平方向的分量的距离差,和第二向量与第四向量在水平方向的分量的距离差中的最大距离差为偏航角度。

如图2-3所示,假设五个面部关键点为(el,er,ml,mr,n),左右眼特征点分别为el、er,左右嘴角特征点分别为ml、mr,鼻子特征点为n。左眼特征点与鼻子特征点形成的第一向量为右眼特征点与鼻子特征点形成的第二向量为左嘴角特征点与鼻子特征点形成的第三向量为右嘴角特征点与鼻子特征点形成的第四向量为

如图2所示,第一向量在垂直方向的分量的距离与第三向量在垂直方向的分量的距离之间的距离差为dhl,第二向量在垂直方向的分量与第四向量在垂直方向的分量的距离差为dhr,取俯仰角为dh=max{dhl,dhr}。

如图3所示,第一向量在水平方向的分量的距离与第三向量在水平方向的分量的距离之间的距离差为dwl,第二向量在水平方向的分量与第四向量在水平方向的分量的距离差为dwr,取偏航角为dw=max{dwl,dwr}。

获得人脸区域图像的梯度值的方法包括:将人脸区域图像进行九宫格划分,获得按序排列的九张子图像块;根据公式对奇数序号的四张子图像块,即第一张子图像块、第三张子图像块、第五张子图像块、第七张子图像块和第九张子图像块进行能量梯度计算,获得人脸区域图像的梯度值fb;其中,h和w依次为人脸区域图像高度和宽度,f(x,y)为子图像块的像素点(x,y)处的像素值。

本实施例在俯仰角度大于俯仰角阈值,偏航角度大于偏航角阈值,梯度值大于梯度阈值时,确定人脸区域图像通过图像质量评估。

在获得通过图像质量评估的人脸区域图像之后,执行步骤s140,即根据满足质量评估的人脸区域图像进行人脸身份识别,得到身份识别结果。

本实施例通过下述方法得到身份识别结果:首先将人脸区域图像输入至预先训练好的人脸身份识别模型,人脸身份识别模型包括利用机器学习方和由红外图像所构成的训练样本对卷积神经网络结构进行有监督训练得到的;获取人脸身份识别模型输出的置信值,在置信值大于第一置信度时,识别为用户池用户,在置信值小于第一置信度大于第二置信度时,识别为新用户,将新用户及其属性信息添加至用户池,用户属性信息包括但不局限于身份id,例如姓名,身份证号码等信息;人脸属性信息,例如性别。年龄等信息;表示人脸被有效跟踪后的系统当前时间的初始检测时间信息;持续跟踪的最后时间,该持续跟踪的最后时间在每次跟踪后都会更新,以确保记录目标最后被跟踪的时间,持续跟踪的最后时间与初始检测时间共同完成对目标跟踪时长的计算。

人脸身份识别模型可以对人脸区域图像进行多标签的识别。

一个示例中,人脸身份识别模型包括caffe开源框架,通过修改caffe开源框架中的源码,例如标签数量值label_dim,将data层的标签读入值int修改为int*,用于接收多属性训练标签;以及将data层中的多标签数据打包过程中的单标签修改为多标签导入。

制作ir图像的训练样本,对人脸样本图像进行人脸关键点检测,对每张图像进行关键点对齐,整理每个人脸图像的属性值的标签label文件,例如,该label文件的格式为xxx.jpgattr1attr2attr3…,然后设计卷积神经网络结构(例如xception、vggnet、resnet等)进行特征提取,以xception为例,设计xception的数据层、卷积层、可分离卷积、激活层、池化层、全连接层、损失层等,利用xception对训练样本进行模型训练,可以设置迭代次数为预设次数(例如为400000次),设置初始学习率为预设值(例如为0.0005)。将xception输出的特征信息输入至人脸身份识别模型的判决器中,本实施例中的判决器可以是各种现有的、可实现分类功能的模型(例如朴素贝叶斯模型(bayesianmodel,nbm)、支持向量机(supportvectormachine,svm)、包含全连接层(fullyconnectedlayers,fc)的神经网络或分类函数(例如softmax函数)等)。

本发明实施例还提供一种人脸识别装置。

图4为本发明实施例示出的人脸识别装置的结构框图,如图4所示,本实施例的装置包括:

图像获取单元41,用于获取ir图像;

平滑处理单元42,用于基于ir图像进行人脸目标检测,并对检测到的人脸目标进行平滑处理,获得平滑后的人脸区域图像;

质量评估单元43,用于利用人脸区域图像包括的面部特征点进行图像质量评估;

身份识别单元44,用于根据满足质量评估的人脸区域图像进行人脸身份识别,得到身份识别结果。

本实施例基于ir图像对光照的不敏感性,图像获取单元利用获取到的ir图像进行人脸身份识别,避免使用对光照敏感的可见光图像进行人脸识别时存在的光照较强或光照较弱情况下无法准确进行人脸识别的问题,通过在利用ir图像进行人脸身份识别之前,利用平滑处理单元对ir图像的人脸目标进行平滑处理获得稳定连续的人脸区域图像,再利用身份识别单元对平滑处理后的人脸区域图像进行关于图像有效性的图像质量评估,利用身份识别单元通过图像质量评估的人脸区域图像进行身份识别,提高身份识别的准确性。

在一个实施例中,平滑处理单元42用于对当前获取的ir图像进行人脸目标检测,获取目标位置信息;对目标位置信息进行卡尔曼初始平滑,获得卡尔曼平滑结果;基于设定的平滑指数和设定的目标位置平滑误差,对将上一帧红外图像目标位置的平滑结果和卡尔曼平滑结果进行指数平滑,获得指数平滑结果,设定的目标位置平滑误差指示对目标位置的最大平滑程度误差;根据指数平滑结果和上一帧红外图像目标位置的平滑结果确定目标位置的抖动信息,并根据抖动信息和设定的静止行为判定误差确定目标位置信息的平滑结果为对应于当前ir图像平滑处理后的人脸区域图像,设定的静止行为判定误差指示目标位置对应静止行为的最大抖动误差。

其中,目标位置包括目标中心位置和目标边缘位置,平滑处理单元42具体是根据公式获得目标中心位置的指数平滑结果espt(i),以及根据公式获得目标边缘位置的指数平滑结果ess(i);其中,gpt和gs依次为中心位置平滑误差权重值、目标边缘位置平滑误差权重值,mrpt和mrs目标中心位置平滑误差、目标边缘位置平滑误差,kspt(i)和kss(i)依次为目标中心位置卡尔曼平滑结果、目标边缘位置卡尔曼平滑结果,mpt(i-1)和ms(i-1)依次为上一帧红外图像中目标中心位置的平滑结果、目标边缘位置的平滑结果,i和i-1依次为当前红外图像的帧号、上一帧红外图像的帧号。

平滑处理单元42还根据公式dispt(i)=|espt(i)-mpt(i-1)|确定当前红外图像目标中心位置的抖动dispt(i),以及根据公式diss(i)=|ess(i)-ms(i-1)|确定当前ir图像目标边缘位置的抖动diss(i);根据公式确定当前ir图像目标中心位置的平滑结果mpt(i),以及根据公式确定当前ir图像目标边缘位置的平滑结果ms(i);其中,srpt和srs依次为设定的目标中心位置对应静止行为判定误差、目标边缘位置对应静止行为判定误差。

在一个实施例中,质量评估单元43用于获取人脸区域图像包括的五个面部特征点的位置,第一至第五面部特征点依次对应为左右眼特征点、左右嘴角特征点和鼻子特征点;根据第一至第五面部特征点的位置确定人脸区域图像的俯仰角度和偏航角度;以及,将人脸区域图像划分为多个子图像块,对多个子图像块进行能量梯度计算,获得所述人脸区域图像的梯度值;在人脸区域图像的俯仰角度、偏航角度和梯度值满足预设条件时,确定人脸区域图像通过图像质量评估。

质量评估单元43包括角度计算模块、清晰度计算模块和评估模块;

角度计算模块用于分别获取第一面部特征点与第五面部特征点形成的第一向量在水平方向和垂直方向上的分量,第二面部特征点与第五面部特征点形成的第二向量在水平方向和垂直方向上的分量,第三面部特征点与第五面部特征点形成的第三向量在水平方向和垂直方向上的分量,和第四面部特征点与第五面部特征点形成的第四向量在水平方向和垂直方向上的分量;获取第一向量与第三向量在垂直方向的分量的距离差,和第二向量与第四向量在垂直方向的分量的距离差中的最大距离差为所述俯仰角度;获取第一向量与第三向量在水平方向的分量的距离差,和第二向量与第四向量在水平方向的分量的距离差中的最大距离差为所述偏航角度。

清晰度计算模块用于将人脸区域图像进行九宫格划分,获得按序排列的九张子图像块;根据公式对奇数序号的四张子图像块进行能量梯度计算,获得人脸区域图像的梯度值fb;其中,h和w依次为人脸区域图像高度和宽度,f(x,y)为子图像块的像素点(x,y)处的像素值。

评估模块用于在俯仰角度大于俯仰角阈值,偏航角度大于偏航角阈值,梯度值大于梯度阈值时,确定人脸区域图像通过图像质量评估。

在一个实施例中,身份识别单元44用于将人脸区域图像输入至预先训练好的人脸身份识别模型,人脸身份识别模型包括利用机器学习方和由红外图像所构成的训练样本对卷积神经网络结构进行有监督训练得到的;获取人脸身份识别模型输出的置信值,在置信值大于第一置信度时,识别为用户池用户,在置信值小于第一置信度大于第二置信度时,识别为新用户,将新用户及其属性信息添加至用户池。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明提供的人脸识别装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,参照图5所示,本发明提供的人脸识别装置可包括处理器501、存储有机器可执行指令的机器可读存储介质502。处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与人脸识别逻辑对应的机器可执行指令,处理器501可执行上文描述的人脸识别方法。

本发明中提到的机器可读存储介质502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

根据本发明公开的示例,本发明还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读存储介质502,机器可执行指令可由视觉导航系统的人脸识别装置中的处理器501执行以实现上文描述的人脸识别方法。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。

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