一种用于人脸边缘特征点定位的方法及装置
技术领域
本申请涉及图像处理技术领域,具体涉及一种用于人脸边缘特征点定位的方法。本申请同时涉及一种用于人脸边缘特征点定位的装置。
背景技术
在人机交互技术领域,人脸提供了如肤色、轮廓、表情等许多非常有价值的信息,尤其是在近年来,人脸特征点的定位技术得到了快速发展,在身份识别、人脸三维重建、人脸美颜、姿态估计、人脸跟踪等技术领域中得到广泛应用。人脸特征点的定位技术,是指基于人脸的检测技术检测到人脸,并对检测到的人脸的特征点的位置信息和形状信息进行精确计算;而对于人脸边缘的特征点的精确定位,能够很好的确定人脸的形状。
目前公开的人脸特征点的定位方法,主要是基于ASM(Active Shape Model)、AAM(Active Appearance Model)、SDM(Supervised Descent Method)算法的人脸特征点定位方法。其中,ASM算法是在形状统计模型的基础上进行人脸特征点定位的,例如人脸的轮廓等形状可以通过若干关键特征点的坐标依次串联形成一个形状向量来表示;AAM算法则是在ASM算法的基础上,进一步对纹理(将人脸图像变形到平均形状而得到的形状无关图像)进行统计建模,并将形状统计模型和纹理统计模型两个统计模型进一步融合为表观模型;SDM算法则是根据人脸的特征点的初始位置,提取每一个特征点为中心的非线性的SIFT(尺度不变特征转换,Scale Invariant Feature Transform)特征,然后解决特征点和对应SIFT特征之间的NLS(非线性最小二乘法,Non-linear Least Squares)问题,从而实现对人脸特征点的定位。
上述现有技术提供的人脸特征点的定位方法存在明显的缺陷。
现有技术提供的人脸特征点的定位方法的缺点在于:上基于SDM算法的人脸特征点定位方法,在进行人脸特征点的定位过程中,需要提取人脸的特征点进行收缩迭代,但是当人脸图像中的人脸在不同的背景下,提取人脸特征点的难度非常大,尤其是当人脸图像中的人脸处于复杂的背景下,很难确定人脸的特征点的准确位置,用此方法确定的人脸的特征点,准确度较低。
发明内容
本申请提供一种用于人脸边缘特征点定位的方法,以解决现有的人脸的特征点的定位方法存在的定位困难和特征点定位不准确的问题。本申请同时涉及一种用于人脸边缘特征点定位的装置。
本申请提供一种用于人脸边缘特征点定位的方法,包括:
根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线;以及,利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点,并获取每个特征点的特征信息;其中,所述特征信息至少包括位置信息;
根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息;
根据每个特征点、收敛特征点的特征信息,分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离;
若是,则获取该特征点对应收敛特征点的特征信息,作为该特征点的特征信息;
若否,则保持该特征点的特征信息不变;
判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值;
若小于,则将所述人脸图像中人脸边缘的所有特征点的位置信息定位为符合要求的人脸边缘特征点;
若不小于,则返回所述根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息的步骤。
可选的,所述根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线的步骤之前,包括:
获取人脸的人脸图像;
利用预设的肤色模型对该人脸图像中的肤色区域和非肤色区域进行分离,并过滤掉该人脸图像中的非肤色区域。
可选的,所述获取人脸的人脸图像的步骤之后,包括:
将获取到的该人脸图像扩张或者裁剪为具有设定大小和/或格式的人脸图像。
可选的,所述肤色模型,包括:
混合高斯模型GMM。
可选的,所述根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线的步骤,包括:
检测人脸图像中人脸的强边缘;
根据检测到的人脸图像中人脸的强边缘,拟合出该人脸图像中人脸边缘的外形边缘曲线。
可选的,所述人脸图像中人脸的强边缘,利用Canny边缘检测算子检测获得。
可选的,所述拟合出该人脸图像中人脸边缘的外形边缘曲线的子步骤,包括:
对检测到的人脸图像中人脸的强边缘进行过滤,获得该人脸图像中人脸的轮廓曲线;
在所述人脸的轮廓曲线对应的人脸图像中,以该人脸图像中人脸的五官对应的至少一个特征点作为射线的端点,按照设定的角度作至少一条射线;
在所述人脸的轮廓曲线对应的人脸图像中,获取上述射线与该人脸图像中人脸的轮廓曲线的交点,拟合三阶贝塞尔曲线,作为人脸图像中人脸边缘的外形边缘曲线。
可选的,所述利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点的步骤,包括:
利用所述人脸边缘特征点计算模型,并结合预先训练好的参数,计算并获得该人脸图像中人脸边缘的每个特征点的位置信息;
获取上述计算获得的各个特征点在以自身为中心的设定大小或者设定形状的区域内的梯度方向特征;
分别将每个特征点的位置信息和梯度方向特征作为每个特征点各自的特征信息。
可选的,所述收敛算法,包括:
ΔX1=R0*φ0+b0;
Xk=Xk-1+Rk-1*φk-1+bk-1;
其中,Xk是第k次利用该收敛算法计算之后获得的收敛特征点连接而成的一个向量,Xk-1是第k-1次利用该收敛算法计算之后获得的收敛特征点连接而成的一个向量;
ΔX1是第一次利用该收敛算法计算之后获得的收敛特征点连接而成的向量X1,与该人脸图像中人脸边缘的特征点连接而成的向量X0之间的位移值;φ0是第一次利用该收敛算法计算之前的特征点的梯度方向特征连接而成的一个向量;R0和b0是预先设定的系数;
Rk-1和bk-1是第k-1次利用该收敛算法计算之后的系数,φk-1是第k-1次利用收敛算法计算之后得到的收敛特征点的梯度方向特征连接而成的一个向量。
可选的,所述判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值的步骤,包括:
根据该人脸图像中人脸边缘的所有特征点在上述判断前后的特征信息,计算出该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小;
判断该位置变化的大小是否小于预设的阈值;
若小于,则确定该人脸图像中人脸边缘的每个特征点的特征信息不变;
若不小于,则返回所述根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息的步骤。
可选的,所述计算出该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小的子步骤,包括:
获取该人脸图像中人脸边缘在上述判断之前的所有特征点连接而成的一个向量;
获取该人脸图像中人脸边缘在上述判断之后的所有特征点连接而成的一个向量;
计算出上述两个向量之间的欧氏距离,作为该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小。
本申请还提供一种用于人脸边缘特征点定位的装置,包括:
外形边缘曲线拟合单元,用于根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线;
特征信息计算单元,用于利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点,并获取每个特征点的特征信息;其中,所述特征信息至少包括位置信息;
收敛计算单元,用于根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息;
收敛方向判断单元,用于根据每个特征点、收敛特征点的特征信息,分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离;
若是,则获取该特征点对应收敛特征点的特征信息,作为该特征点的特征信息;
若否,则保持该特征点的特征信息不变;
收敛大小判断单元,用于判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值;
若小于,则进入特征信息确定单元;
若不小于,则进入所述收敛计算单元;
所述特征信息确定单元,用于将所述人脸图像中人脸边缘的所有特征点的位置信息定位为符合要求的人脸边缘特征点。
可选的,所述用于人脸边缘特征点定位的装置,包括:
人脸图像获取单元,用于获取人脸的人脸图像;
肤色过滤单元,用于利用预设的肤色模型对该人脸图像中的肤色区域和非肤色区域进行分离,并过滤掉该人脸图像中的非肤色区域。
可选的,所述用于人脸边缘特征点定位的装置,包括:
人脸图像格式化单元,用于将获取到的该人脸图像扩张或者裁剪为具有设定大小和/或格式的人脸图像。
可选的,所述外形边缘曲线拟合单元,包括:
强边缘检测子单元,用于检测人脸图像中人脸的强边缘;
外形边缘曲线拟合子单元,用于根据检测到的人脸图像中人脸的强边缘,拟合出该人脸图像中人脸边缘的外形边缘曲线。
可选的,外形边缘曲线拟合子单元,包括:
强边缘过滤子单元,用于对检测到的人脸图像中人脸的强边缘进行过滤,获得该人脸图像中人脸的轮廓曲线;
射线设置子单元,用于在所述人脸的轮廓曲线对应的人脸图像中,以该人脸图像中人脸的五官对应的至少一个特征点作为射线的端点,按照设定的角度作至少一条射线;
拟合子单元,用于在所述人脸的轮廓曲线对应的人脸图像中,获取上述射线与该人脸图像中人脸的轮廓曲线的交点,拟合三阶贝塞尔曲线,作为人脸图像中人脸边缘的外形边缘曲线。
可选的,所述特征信息计算单元,包括:
位置信息计算获取子单元,用于利用人脸边缘特征点计算模型获得该人脸图像中人脸边缘每个特征点的位置信息;
梯度方向特征获取子单元,用于获取每个特征点在以自身为中心的设定大小或者设定形状的区域内的梯度方向特征;
特征信息获取子单元,用于分别将每个特征点的位置信息和梯度方向特征作为每个特征点各自的特征信息。
可选的,所述收敛大小判断单元,包括:
位置变化大小计算子单元,用于根据该人脸图像中人脸边缘的所有特征点在上述判断前后的特征信息,计算出该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小;
位置变化大小判断子单元,用于判断该位置变化的大小是否小于预设的阈值;
若小于,则进入特征信息确定子单元;
若不小于,则进入所述收敛计算单元;
所述特征信息确定子单元,用于确定该人脸图像中人脸边缘的每个特征点的特征信息不变。
可选的,所述位置变化大小计算子单元,包括:
第一向量获取子单元,用于获取该人脸图像中人脸边缘在上述判断之前的所有特征点连接而成的一个向量;
第二向量获取子单元,用于获取该人脸图像中人脸边缘在上述判断之后的所有特征点连接而成的一个向量;
欧氏距离计算子单元,用于计算出上述两个向量之间的欧氏距离,作为该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小。
与现有技术相比,本申请具有以下优点:
本申请提供的一种用于人脸边缘特征点定位的方法,包括:根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线;以及,利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点,并获取每个特征点的特征信息;其中,所述特征信息至少包括位置信息;根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息;根据每个特征点、收敛特征点的特征信息,分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离;若是,则获取该特征点对应收敛特征点的特征信息,作为该特征点的特征信息;若否,则保持该特征点的特征信息不变;判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值;若小于,则将所述人脸图像中人脸边缘的所有特征点的位置信息定位为符合要求的人脸边缘特征点;若不小于,则返回所述根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息的步骤。
本申请提供的所述用于人脸边缘特征点定位的方法,根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线,利用人脸边缘特征点计算模型获得该人脸图像中人脸边缘的特征点,对每一个特征点点提取位置信息和梯度方向特征,利用线性回归,定位出人脸边缘特征点的位置;并且,利用拟合出来的外形边缘曲线对线性回归过程中特征点收敛的方向进行约束和校正,提高了人脸边缘特征点定位的准确性,并且对不同背景人脸图像能够实现人脸边缘的特征点的定位,应用的范围更广。
附图说明
图1是本申请第一实施例提供的一种用于人脸边缘特征点定位的方法流程图;
图2是本申请第一实施例提供的一种人脸图像示意图;
图3是本申请第一实施例提供的一种利用混合高斯模型处理之后的人脸图像示意图;
图4是本申请第一实施例提供的一种人脸图像中人脸的强边缘示意图;
图5是本申请第一实施例提供的一种人脸图像中人脸的轮廓曲线示意图;
图6是本申请第一实施例提供的一种人脸图像中人脸边缘的外形边缘曲线拟合示意图;
图7是本申请第一实施例提供的一种人脸图像中人脸边缘的外形边缘曲线示意图;
图8是本申请第一实施例提供的一种人脸图像中人脸边缘的特征点示意图;
图9是本申请第一实施例提供的一种人脸图像中的人脸边缘的特征点的梯度方向特征示意图;
图10是本申请第一实施例提供的一种人脸边缘的特征点相对于外形边缘曲线收敛方向示意图;
图11是本申请第一实施例提供的另一种人脸边缘的特征点相对于外形边缘曲线收敛方向示意图;
图12是本申请第二实施例提供的一种用于人脸边缘特征点定位的装置示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种用于人脸边缘特征点定位的方法,本申请另外提供一种用于人脸边缘特征点定位的装置。
本申请提供一种用于人脸边缘特征点定位的方法实施例如下:
以下结合图1至图11对本实施例提供的一种用于人脸边缘特征点定位的方法进行说明,并且对该方法的各个步骤进行说明。
其中,图1是本实施例提供的一种用于人脸边缘特征点定位的方法流程图,图2是本实施例提供的一种人脸图像示意图,图3是本实施例提供的一种利用混合高斯模型处理之后的人脸图像示意图,图4是本实施例提供的一种人脸图像中人脸的强边缘示意图,图5是本实施例提供的一种人脸图像中人脸的轮廓曲线示意图;图6是本实施例提供的一种人脸图像中人脸边缘的外形边缘曲线拟合示意图;图7是本实施例提供的一种人脸图像中人脸边缘的外形边缘曲线示意图,图8是本实施例提供的一种人脸图像中人脸边缘的特征点示意图,图9是本实施例提供的一种人脸图像中的人脸边缘的特征点的梯度方向特征示意图,图10是本实施例提供的一种人脸边缘的特征点相对于外形边缘曲线收敛方向示意图,图11是本实施例提供的另一种人脸边缘的特征点相对于外形边缘曲线收敛方向示意图。
参照图1,其示出了本实施例提供的一种用于人脸边缘特征点定位的方法处理流程图。
S101,根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线。
需要说明的是,本实施例中,在本步骤所述的根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线之前,还包括下述步骤:
1、获取人脸的人脸图像;
所述人脸图像,是本实施例中数据的来源,是实现人脸边缘的特征点定位的基础;
当然,本步骤获取到的人脸图像中,除了包含人脸之外,也可能包含其他背景事物,并且对于获取的人脸图像没有格式以及大小的要求,比如获取到的人脸图像可能是证件照,也可能是常见的自拍照,或者其他的包含人脸之外的头发、衣服,等背景事物的图像。
2、将获取到的人脸图像扩张为设定大小的人脸图像;
其中,大小包括人脸图像的宽度的像素值、高度的像素值,占用字节大小,尺寸大小。
本步骤中,用于对上述步骤1获取到的人脸图像的大小进行统一化,将获取到的人脸图像扩张为具有特定大小的矩形形状的人脸图像,如图2所示,图2出示了根据本步骤的扩张之后获得的人脸图像。
本实施例中,下述的人脸图像,均是指图2所示的人脸图像。
需要说明的是,除上述提供的将获取到的人脸图像扩张为设定大小的人脸图像的方法之外,还可以以其他方法实现,比如,将获取到的人脸图像裁剪为设定大小的人脸图像,或者将获取到的人脸图像保存为具有设定格式的人脸图像,格式包括人脸图像的项目类型(bmp、jpg、tiff、gif等)、分辨率等,在此不做限定。
3、利用预设的肤色模型对人脸图像中的肤色区域和非肤色区域进行分离,并过滤掉人脸图像中的非肤色区域;
所述预设的肤色模型,是指混合高斯模型(Gaussian Mixture Model,GMM)。
混合高斯模型使用K(一般为3到5)个高斯模型来表征人脸图像中各个像素点的特征,在新一帧的人脸图像获得后更新混合高斯模型,用当前人脸图像中的每个特征点与混合高斯模型进行匹配,如果某特征点匹配成功,则判定该特征点为背景点,表明该特征点为人脸图像中的背景部分;如果匹配失败,则判定该特征点为前景点,表明该特征点为人脸图像中人脸范围内的特征点。
本实施例中,对于图2所示的人脸图像,利用混合高斯模型对该人脸图像进行处理,将该人脸图像中的肤色区域和非肤色区域进行分离,并且过滤掉该人脸图像中的非肤色区域,最终获得的人脸图像如图3所示,图3出示了利用混合高斯模型处理之后的人脸图像。
需要说明的是,除上述提供的混合高斯模型之外,还可以采用其他模型实现上述对人脸图像中人脸肤色的过滤,在此不做限定。
4、检测人脸图像中人脸的强边缘;
需要说明的是,本实施例中,利用Canny边缘检测算子检测所述人脸图像中人脸的强边缘,具体实现如下:
1)利用高斯滤波器平滑上述获得的人脸图像;
如图3所示,将图3所示的人脸图像作为本步骤的输入,输入该人脸图像之后,利用高斯滤波器平滑该人脸图像,达到去噪的目的。
2)计算人脸图像的边缘梯度;
利用一阶偏导的有限差分来计算梯度的幅值和方向,从而计算出人脸图像中各个像素点的梯度值和梯度方向。
3)进行非极大值抑制;
上述步骤2)计算获得的是人脸图像的全局的梯度特征,不足以确定人脸图像中人脸的边缘,因此,在本步骤中,通过非极大值抑制(non-maximasuppression,NMS)来确定人脸图像中人脸边缘的像素点。
4)生成人脸图像中人脸的强边缘。
对于上述步骤3)进行非极大值抑制后获得的人脸图像,本步骤中,利用双阈值算法检测和连接人脸图像中人脸的强边缘,设非极大值抑制后的人脸图像为N(i,j),双阈值t1和t2,且t2≈2*t1,将t1和t2作用于人脸图像N(i,j),得到边缘图像T1(i,j)和边缘图像T2(i,j);
由于边缘图像T2(i,j)是使用高阈值得到,含有很少的假边缘,但是有间断(不闭合),以边缘图像T2(i,j)为基础,在边缘图像T2(i,j)中将人脸边缘的像素点连接成人脸轮廓,当到达人脸轮廓的端点时,就在边缘图像T1(i,j)中寻找可以连接到人脸轮廓上的像素点进行连接,直到将边缘图像T2(i,j)中人脸边缘的像素点连接起来,从而获得人脸图像中人脸的强边缘,如图4所示,图4示出了利用Canny边缘检测算子计算出的人脸图像中人脸的强边缘。
需要说明的是,除上述提供的检测人脸图像中人脸强边缘的方法之外,还可以采用其他方法实现,在此不做限定。
5、根据人脸图像中人脸的强边缘,拟合出人脸图像中人脸边缘的外形边缘曲线。
上述步骤4中,检测并获得了人脸图像中人脸的强边缘,本步骤中,根据上述步骤4中获得的人脸图像中人脸的强边缘,拟合出该人脸图像中人脸边缘的外形边缘曲线。
本实施中,根据上述步骤4检测到的人脸图像中人脸的强边缘,如图4所示,结合图4中人脸当中的眉毛、鼻子、眼睛、嘴巴等五官的特征点,拟合出该人脸图像中人脸边缘的外形边缘曲线,具体实现如下:
1)根据图4所示的人脸的强边缘中人脸左右眉毛的最高点,将其连接为一条直线,如图6中所示的直线L;
需要说明的是,人脸图像中人脸当中的眉毛、鼻子、眼睛、嘴巴等五官的特征点是已经定位好的,根据这些特征点的位置,去除人脸图像中的这些特征点,获得人脸图像中人脸的轮廓曲线,如图5所示。
图5所示的人脸图像中人脸的轮廓曲线,该人脸图像中人脸边缘有一部分没有检测到,人脸的轮廓曲线是间断的、不连续的。
2)根据图4所示的人脸的强边缘中人脸当中鼻子的鼻尖点,如图6中所示的点C,以点C为中心点,每隔5度作一条射线,如图6中所示的射线,这些射线与图5所示的人脸图像中人脸的轮廓曲线可能有交点,也可能没有交点。
如图6所示,其中,A1、A2、…、An依次是图6中所示的射线与所述人脸的轮廓曲线的交点;
3)获取上述步骤中A1、A2、…、An这些交点,拟合三阶贝塞尔曲线,作为人脸图像中人脸边缘的外形边缘曲线,如图7所示,图7出示了人脸图像中人脸边缘的外形边缘曲线。
需要说明的是,出上述提供的拟合人脸图像中人脸边缘的外形边缘曲线的方法之外,还可以采用其他方式实现,在此不做限定。
S102,利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点,并获取每个特征点的特征信息。
本实施例中,所述特征信息,包括位置信息和梯度方向特征。
其中,位置信息是指每个特征点的坐标值;
梯度方向特征,是指方向梯度直方图(Histogram of Oriented Gradient,HOG)特征,是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,方向梯度直方图特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。
具体实现如下:
1、输入图2所示的人脸图像,利用人脸边缘特征点计算模型,并结合预先训练好的参数进行计算,获得该人脸图像中人脸边缘的特征点的位置信息,即:每个特征点的坐标值。
需要说明的是,此处获得的该人脸图像中人脸边缘的特征点,是该人脸图像中人脸边缘一种预测的特征点,并非该人脸图像中人脸边缘实际的特征点;如图8所示,图8当中分布在人脸边缘的白色小点即为人脸图像中人脸边缘的特征点。
此外,该人脸图像中人脸边缘的特征点的位置信息,是初始的位置信息,是下述步骤S103利用预设的收敛算法对所述特征点进行收敛计算的数据基础。
2、根据上述步骤1计算获得该人脸图像中人脸边缘的特征点,获取每个特征点在以自身为中心,大小为16*16像素的矩形框内的像素信息,根据像素信息统计出每个特征点的梯度直方图特征,如图9所示,其示出了人脸图像中的人脸边缘的特征点的梯度直方图特征。
除此之外,还可以获取其他大小或者其他形状的区域内的梯度直方图特征,在此不做限定。
3、根据上述步骤1计算获得的该人脸图像中人脸边缘的特征点的坐标值,以及上述步骤2计算获得的该人脸图像中人脸边缘的特征点的梯度直方图特征,分别将每个特征点的坐标值和梯度直方图特征作为每个特征点各自的特征信息。
需要说明的是,除上述提供的计算特征点和特征点的特征信息的方法之外,还可以采用其他方法实现,在此不做限定。
S103,根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息。
根据上述步骤S102获得的每个特征点的特征信息,本步骤中,利用预设的收敛算法对该人脸图像中人脸边缘的特征点进行收敛计算,具体实现如下:
本实施例采用的收敛算法如下:
ΔX1=R0*φ0+b0;
Xk=Xk-1+Rk-1*φk-1+bk-1;
假设特征点的个数为m,Xk是第k次利用该收敛算法计算得到的m个收敛特征点连接而成的一个向量,Xk可表示为:
需要说明的是,X0是上述步骤S102利用所述人脸边缘特征点计算模型计算获得的特征点连接而成的一个向量,即:第一次利用该收敛算法计算之前m个特征点连接而成的一个向量;
φ0是上述步骤S102利用所述人脸边缘特征点计算模型计算获得的特征点的梯度直方图特征连接而成的一个向量,即:第一次利用该收敛算法计算之前m个特征点的梯度方向特征连接而成的一个向量;
此外,R0和b0是预先设定的系数,本实施例中,R0和b0是根据训练数据训练获得的;
ΔX1是第一次利用该收敛算法计算之后获得的收敛特征点连接而成的向量X1,与该人脸图像中人脸边缘的特征点连接而成的向量X0之间的位移值;
xk-1是第k-1次利用该收敛算法计算之后获得的收敛特征点连接而成的一个向量;
Rk-1和bk-1是第k-1次利用所述收敛算法计算之后的系数,
φk-1是第k-1次利用收敛算法计算之后得到的收敛特征点的梯度方向特征连接而成的一个向量。
除此之外,上述收敛算法还可以采用本实施例之外的其他收敛算法,在此不做限定。
S104,分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离。
上述步骤S101获得了该人脸图像中人脸边缘的外形边缘曲线,上述步骤S103利用所述收敛算法计算获得了每个特征点、收敛特征点的特征信息,本步骤中,判断在收敛计算的过程中,所述收敛特征点相对于所述特征点是否更加接近所述外形边缘曲线,即:判断所述收敛特征点是否更加接近该人脸图像中人脸的实际边缘轮廓,具体实现如下:
1、分别计算出每个特征点到所述外形边缘曲线的距离,并分别计算出每个特征点对应收敛特征点到所述外形边缘曲线的距离;
2、分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离;
若是,表明在本次收敛计算的过程中,特征点朝着靠近所述外形边缘曲线的方向收敛(移动),即:特征点的收敛方向是朝着靠近人脸图像中的人脸的实际边缘轮廓的方向在移动,距离人脸图像中的人脸的实际边缘轮廓越来越近,收敛方向是正确的,则将特征点移动到特征点对应的收敛特征点的位置,即:获取该特征点对应收敛特征点的特征信息,作为该特征点的特征信息;
若否,表明在本次收敛计算的过程中,特征点朝着远离所述外形边缘曲线的方向收敛,即:特征点的收敛方向是朝着远离人脸图像中的人脸的实际边缘轮廓的方向在移动,距离人脸图像中的人脸的实际边缘轮廓越来越远,收敛方向是错误的,则保持该特征点的位置不变。
需要说明的是,除上述提供的判断方法之外,还可以采用其他方法,来判断所述收敛特征点是否更加接近该人脸图像中人脸的实际边缘轮廓,比如分别判断每个特征点指向各自对应收敛特征点的方向是否与每个特征点指向所述外形边缘曲线的方向一致;
如图10所示,图10所示的特征点和人脸图像中人脸的外形边缘曲线中,所有特征点指向各自对应收敛特征点的方向与各自指向所述外形边缘曲线的方向一致,则表明所有特征点的收敛方向是朝着靠近人脸图像中的人脸的实际边缘轮廓的方向在移动,距离人脸图像中的人脸的实际边缘轮廓越来越近,收敛方向是正确的,则将特征点移动到特征点对应的收敛特征点的位置;
如图11所示,图11所示的特征点和人脸图像中人脸的外形边缘曲线中,所有特征点指向各自对应收敛特征点的方向与各自指向所述外形边缘曲线的方向均不一致,则表明所有特征点的收敛方向是朝着远离人脸图像中的人脸的实际边缘轮廓的方向在移动,距离人脸图像中的人脸的实际边缘轮廓越来越远,收敛方向是错误的,则保持所有的特征点的位置不变;
在此不做限定。
本步骤用于判断每个特征点在进行收敛计算过程中收敛方向是否正确,此外,本实施例中,还需对特征点在进行收敛计算过程中收敛的大小进行判断,因此,本步骤完成之后,进入下述步骤S105,判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值。
S 105,判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值。
根据上述步骤S103和步骤S104,上述步骤S103中,每个特征点都利用所述收敛算法进行收敛计算,以及上述步骤S104中,每个特征点的特征信息确定之后,本步骤中,判断人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小是否小于预设的阈值,具体实现如下:
1、根据人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后的特征信息,计算出人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小;
1)获取在上述步骤S104判断之前的所有特征点连接而成的一个向量;
将上述步骤S104判断之前,该人脸图像中人脸边缘的所有特征点连接而成的向量Xk,设为
2)获取在上述步骤S104判断之后的所有特征点连接而成的一个向量;
将上述步骤S104判断之后,该人脸图像中人脸边缘的所有特征点连接而成的向量Xk+1,设为
3)计算出上述两个向量之间的欧氏距离,即:上述两组特征点之间欧氏距离,作为所述人脸图像中人脸边缘的所有特征点在上述步骤S 104判断前后整体发生的位置变化的大小。
本实施例中,上述向量Xk和向量Xk+1之间的欧式距离,即:两组特征点之间欧氏距离,可通过下述公式计算获得:
除此之外,还可以通过其他方法计算出人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小,在此不做限定。
2、判断该位置变化的大小是否小于预设的阈值;
本步骤进行判断的目的在于,防止上述步骤S103的收敛计算的步骤无限进行下去,通过阈值的判断加以约束。
若小于,则进入下述步骤S106;
若不小于,表明两次收敛计算之间(即:上述步骤S104的判断前后),数据的整体变化大小(即:人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小)依旧超出了预先设定的阈值,还需再进行重复的收敛计算;
则返回上述步骤S103,执行步骤S103之后,重复上述步骤S104的判断步骤以及本步骤中子步骤1)的相关步骤;
重复上述循环过程,直至两次收敛计算之间的人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化小于预先设定的阈值。
S106,则将所述人脸图像中人脸边缘的所有特征点的位置信息定位为符合要求的人脸边缘特征点。
本步骤得以实施的前提是,上述步骤S105中,人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小小于预设的阈值,则表明在两次收敛计算之间(即:上述步骤S104的判断前后),数据的整体变化大小(即:人脸图像中人脸边缘的所有特征点在上述步骤S104的判断前后整体发生的位置变化的大小)已经很小,并且小于预先设定的阈值,无需再进行收敛计算,则保持人脸图像中人脸边缘的每个特征点的位置不变,即:确定人脸图像中人脸边缘的每个特征点的特征信息不变。
本申请提供的一种用于人脸边缘特征点定位的装置实施例如下:
在上述的实施例中,提供了一种用于人脸边缘特征点定位的方法,与之相对应的,本申请还提供了一种用于人脸边缘特征点定位的装置。
参照图12,其示出了根据本实施例提供的一种用于人脸边缘特征点定位的装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种用于人脸边缘特征点定位的装置,包括:
外形边缘曲线拟合单元12-01,用于根据人脸图像拟合出该人脸图像中人脸边缘的外形边缘曲线;
特征信息计算单元12-02,用于利用预设的人脸边缘特征点计算模型计算并获得该人脸图像中人脸边缘的特征点,并获取每个特征点的特征信息;其中,所述特征信息至少包括位置信息;
收敛计算单元12-03,用于根据每个特征点的特征信息,利用预设的收敛算法计算并获得每个特征点对应的收敛特征点的特征信息;
收敛方向判断单元12-04,用于根据每个特征点、收敛特征点的特征信息,分别判断每个特征点到所述外形边缘曲线的距离是否大于各自对应收敛特征点到所述外形边缘曲线的距离;
若是,则获取该特征点对应收敛特征点的特征信息,作为该特征点的特征信息;
若否,则保持该特征点的特征信息不变;
收敛大小判断单元12-05,用于判断该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小是否小于预设的阈值;
若小于,则进入特征信息确定单元12-06;
若不小于,则进入所述收敛计算单元;
所述特征信息确定单元12-06,用于将所述人脸图像中人脸边缘的所有特征点的位置信息定位为符合要求的人脸边缘特征点。
可选的,所述用于人脸边缘特征点定位的装置,包括:
人脸图像获取单元,用于获取人脸的人脸图像;
肤色过滤单元,用于利用预设的肤色模型对该人脸图像中的肤色区域和非肤色区域进行分离,并过滤掉该人脸图像中的非肤色区域。
可选的,所述用于人脸边缘特征点定位的装置,包括:
人脸图像格式化单元,用于将获取到的该人脸图像扩张或者裁剪为具有设定大小和/或格式的人脸图像。
可选的,所述肤色模型,包括:
混合高斯模型GMM。
可选的,所述外形边缘曲线拟合单元12-01,包括:
强边缘检测子单元,用于检测人脸图像中人脸的强边缘;
外形边缘曲线拟合子单元,用于根据检测到的人脸图像中人脸的强边缘,拟合出该人脸图像中人脸边缘的外形边缘曲线。
可选的,所述人脸图像中人脸的强边缘,利用Canny边缘检测算子检测获得。
可选的,所述外形边缘曲线拟合子单元12-01,包括:
强边缘过滤子单元,用于对检测到的人脸图像中人脸的强边缘进行过滤,获得该人脸图像中人脸的轮廓曲线;
射线设置子单元,用于在所述人脸的轮廓曲线对应的人脸图像中,以该人脸图像中人脸的五官对应的至少一个特征点作为射线的端点,按照设定的角度作至少一条射线;
拟合子单元,用于在所述人脸的轮廓曲线对应的人脸图像中,获取上述射线与该人脸图像中人脸的轮廓曲线的交点,拟合三阶贝塞尔曲线,作为人脸图像中人脸边缘的外形边缘曲线。
可选的,所述特征信息计算单元12-02,包括:
位置信息计算获取子单元,用于利用人脸边缘特征点计算模型获得该人脸图像中人脸边缘每个特征点的位置信息;
梯度方向特征获取子单元,用于获取每个特征点在以自身为中心的设定大小或者设定形状的区域内的梯度方向特征;
特征信息获取子单元,用于分别将每个特征点的位置信息和梯度方向特征作为每个特征点各自的特征信息。
可选的,所述收敛算法,包括:
ΔX1=R0*φ0+b0;
Xk=Xk-1+Rk-1*φk-1+bk-1;
其中,Xk是第k次利用该收敛算法计算之后获得的收敛特征点连接而成的一个向量,Xk-1是第k-1次利用该收敛算法计算之后获得的收敛特征点连接而成的一个向量;
ΔX1是第一次利用该收敛算法计算之后获得的收敛特征点连接而成的向量X1,与该人脸图像中人脸边缘的特征点连接而成的向量X0之间的位移值;φ0是第一次利用该收敛算法计算之前的特征点的梯度方向特征连接而成的一个向量;R0和b0是预先设定的系数;
Rk-1和bk-1是第k-1次利用该收敛算法计算之后的系数,φk-1是第k-1次利用收敛算法计算之后得到的收敛特征点的梯度方向特征连接而成的一个向量。
可选的,所述收敛大小判断单元12-05,包括:
位置变化大小计算子单元,用于根据该人脸图像中人脸边缘的所有特征点在上述判断前后的特征信息,计算出该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小;
位置变化大小判断子单元,用于判断该位置变化的大小是否小于预设的阈值;
若小于,则进入特征信息确定子单元;
若不小于,则进入所述收敛计算单元;
所述特征信息确定子单元,用于确定该人脸图像中人脸边缘的每个特征点的特征信息不变。
可选的,所述位置变化大小计算子单元,包括:
第一向量获取子单元,用于获取该人脸图像中人脸边缘在上述判断之前的所有特征点连接而成的一个向量;
第二向量获取子单元,用于获取该人脸图像中人脸边缘在上述判断之后的所有特征点连接而成的一个向量;
欧氏距离计算子单元,用于计算出上述两个向量之间的欧氏距离,作为该人脸图像中人脸边缘的所有特征点在上述判断前后整体发生的位置变化的大小。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。