一种面部关键点的标注方法技术领域
本发明涉及计算机视觉领域,尤其涉及一种面部关键点的标注方
法。
背景技术
面部关键点标注是一种利用算法在人脸图像上标注出眼角、鼻尖、
嘴角等关键位置的技术。面部关键点标注技术在人脸识别、情感分析、
人脸追踪等领域都有重要的作用。
衡量面部关键点标注技术好坏的指标主要有四个:准确性、鲁棒
性、实时性和模型大小。已知的面部关键点标注技术在上述指标都存
在可改进的空间。随着iOS、Android等移动平台的广泛使用,基于
移动平台实现的人脸识别、疲劳监控等机器视觉应用有着广泛的应用
前景。与传统的“PC主机+固定摄像头”框架相比,移动平台的计算性
能较弱,所拍摄的图片在光照、姿态和遮挡等方面存在着更复杂的变
化。这些情况对面部关键点标注技术的准确性、鲁棒性、实时性和模
型大小都提出了更为严峻的要求,现有技术中鲁棒性,实时性都较低,
面部关键点定位算法较为复杂。
发明内容
针对现有技术中,面部关键点标注技术所存在的问题,本发明提
供了一种面部关键点的标注方法,能够对人脸图像上的关键点进行准
确、健壮且实时的标注。
本发明采用如下技术方案:
一种面部关键点的标注方法,所述标注方法包括两个过程,分别
为训练过程和使用过程,其中,所述训练过程、所述使用过程均包括
刚体演变和非刚体演变,所述刚体演变与非刚体演变能够进行多次迭
代,以提高所述面部关键点的预测精度。
本发明将坐标的演化过程分为刚体演化和非刚体演化两个步骤。
刚体演化过程只能通过尺度缩放、平移和旋转等仿射变换对所有关键
点的初始坐标进行统一调整。非刚体演化过程对每个关键点的新坐标
再进行独立调整,使得每个关键点的坐标进一步逼近真实坐标。
刚体演化和非刚体演化相结合是本发明的重要创新,刚体演化将
所有特征点看成一个模板,通过对模板进行缩放、平移和旋转,即为
仿射变换,使其从整体上逼近关键点的真实坐标。这个做法可以有效
避免姿态变化、光照变化和部分遮挡等情况而带来的干扰,避免演化
过程陷入局部极值。此外,刚体演化过程只需确定6个仿射变换参数
即可实现,大大降低了预测模型的体积。非刚体演化能够克服表情变
化和不同人脸上的固有差异,进一步提高关键点坐标的预测精度。
本发明采用了多次迭代,每次迭代都以前次预测结果作为初始值,
进一步提高了预测精度。
优选的,所述标注方法具体包括:
步骤S1:通过所述训练过程的刚体演变消除初始模板与真实坐
标之间的仿射变化差异;
步骤S2:通过所述训练过程的非刚体演变对初始模板中每个所
述面部关键点进行独立调节,以提高所述面部关键点的定位精度;
步骤S3:通过所述使用过程的刚体演变根据线性回归模型进行
所述面部关键点的预测,推算所述面部关键点的新位置;
步骤S4:在所述使用过程的非刚体演变中,根据所述新位置调
节所述面部关键点的坐标,得到预测结果。
本发明使用机器学习方法,利用从人脸图像上提取的特征,来估
计面部关键点的位置。本发明首先从大量训练样本中估计出关键点的
坐标均值,坐标均值被当作初始坐标,最终的关键点坐标都通过对初
始坐标不断演化获得,这个演化模型利用线性回归算法来求解。
优选的,所述步骤S1具体包括:
步骤S11:将所述初始模板放置在训练图片的中心位置,并解得
所述初始模板与所述真实坐标之间的最佳仿射变换参数。
优选的,所述步骤S11中:通过公式解得所述最佳仿射变换参数,
所述公式为:
arg min β 1 , β 2 , ... , β 6 Σ n = 1 k ( ( x n ( 2 ) - β 1 x n ( 1 ) - β 2 y n ( 1 ) - β 3 ) 2 + ( y n ( 2 ) - β 4 x n ( 1 ) - β 5 y n ( 1 ) - β 6 ) 2 ) , ]]>
其中,K为所述面部关键点的数量,集合{(xn(1),yn(1))}和集合
{(xn(2),yn(2))}分别为第n个所述面部关键点的初始坐标与所述真实坐标,
n为正整数;
以及所述初始坐标与所述真实坐标之间的差异通过参数β1至β6决
定的仿射变换消除,求解后得出参数β1至β6。
优选的,所述步骤S1还包括:
步骤S12:以所述面部关键点的初始位置为中心,并截取纹理区
域;
步骤S13:利用方向梯度直方图算子对所述纹理区域进行特征编
码,得到长度为Z的浮点编码;
步骤S14:将K个面部关键点的编码按照预定义顺序进行特征编
码,得到长度为Z×K的特征编码;
步骤S15:将所述Z×K的特征编码进行归一化操作,得到归一
化参数,其中,
所述归一化操作中,分布的均值为0,方差为1。
优选的,所述步骤S1还包括:
步骤S16:于所述步骤S15之后,根据公式进行所述线性回归模
型的训练,其中,所述公式为:
其中,βmi为第i个样本的第m个最佳参数,为第i个样本归一
化后的方向梯度直方图特征编码,rm和bm分别为待求解的第m个参数
的线性投影向量和偏置值,通过计算得到由rm和bm表示的线性回归模
型,m和i均为正整数。
优选的,所述步骤S2具体包括:
步骤S21:从所述初始坐标提取方向梯度直方图特征,组成长度
为Z×K的特征向量,并进行所述归一化操作;
步骤S22:根据公式进行线性回归模型的非刚体演变训练过程。
优选的,所述非刚体演变训练过程的实施公式为:
其中,Δni为第i个样本的第int(n/2)个关键点的所述初始坐标与所
述真实坐标在X轴或Y轴上的偏移量,为第i个样本归一化后的方
向梯度直方图特征编码,rn和bn分别为待求解的第n个偏移量的线性
投影向量和偏置值,通过计算,得到由rn和bn表示的线性回归模型。
本发明利用线性回归算法来学习刚体演化和非刚体演化中的参
数。与其他机器学习方法相比,线性回归算法的计算量小,有较好的
实时性。
优选的,所述步骤S3具体包括:
步骤S31:将面部图像调节至指定像素,将所述初始模板-置于所
述面部图像的人脸正中;
步骤S32:提取所述面部图像的方向梯度直方图,进行矩阵乘和
向量加操作,得到仿射变换参数;
步骤S33:根据所述仿射变换参数推算所述面部关键点的新位置。
优选的,所述步骤S4具体包括:
步骤S41:根据所述步骤S33推算的新位置提取对应的方向梯度
直方图特征,进行矩阵乘和向量加操作,得到2K个偏移量;
步骤S42:根据所述偏移量调整所述面部关键点的坐标。
优选的,所述标注方法还包括:
步骤S01:于所述步骤S1之前,将所述面部图像归一化到指定
像素,标出所述面部关键点的真实坐标;
步骤S02:根据公式求出初始模板。
优选的,所述初始模板的求解公式为Sμ:
S μ = 1 k · Σ i = 1 k S i . ]]>
本发明的有益效果是:
本发明由粗到细地逐步估计关键点位置,避免了局部极值对精度
的干扰,使得最终的预测精度和鲁棒性都有很大的提高;线性回归算
法的计算高效性和仿射变换仅有的6个参数使得本发明在实时性和
模型体积上存在优势。本发明的定位速度可以超过60帧/秒,模型大
小可控制在6Mb以内。
附图说明
图1a-1b为本发明面部关键点定位方法的流程图;
图2为本发明面部关键点坐标均值的求解过程;
图3为本发明刚体演化过程示意图;
图4为本发明非刚体演化过程示意图;
图5为本发明迭代过程示意图;
图6为本发明的预测效果示意图。
具体实施方式
需要说明的是,在不冲突的情况下,下述技术方案,技术特征之
间可以相互组合。
下面结合附图对本发明的具体实施方式作进一步的说明:
实施例一
本实施例涉及一种利用特征提取+机器学习技术,公开了一种面
部关键点标注方法,可以明显提高面部关键点的定位准确性。该方法
主要包括以下步骤:a:建立关键点的初始坐标模型;b:根据关键点
的真实坐标,求解从初始坐标到真实坐标的最佳二维仿射变换参数;
c:根据初始坐标从图像中提取特征,通过训练建立特征到最佳二维
仿射变换参数之间的线性映射模型。d:利用已训练的线性映射模型,
求解出训练样本对应的仿射参数,并根据求得的参数,计算出初始坐
标经过仿射变换后的新坐标。e:根据新坐标从图像中提取特征,通
过训练建立特征到真实坐标之间的线性映射模型。f:利用训练得到
的模型,预测关键点的新位置。g:步骤b到步骤f为一次迭代,为
了提高精度,本实施例包含多次迭代,每次迭代都以前次迭代的结果
作为新的初始值。
实施例二
图1a-1b为本发明面部关键点定位方法的流程图,如图1所示,
本实施例共包含训练和使用两个过程,在训练过程中,首先需要定义
关键点的坐标初始值,这些初始值通过对训练样本的真实坐标求均值
获得。图2为本发明面部关键点坐标均值的求解过程,图2显示了均
值模板的产生过程,对所有的训练样本,先将人脸区域归一化到
128×128像素大小,并标出关键点的真实坐标,而后根据公式(1)
求解均值模板Sμ(初始模板)。
S μ = 1 k · Σ i = 1 k S i - - - ( 1 ) ]]>
得到均值模板后,首先进行刚体演变的训练。
本实施例将均值模板Sμ放置在训练图片的中心位置,利用
Procrustesanalyses求解出初始模板和真实位置之间的最佳仿射变换
参数,计算过程如公式(2)所示。
arg min β 1 , β 2 , ... , β 6 Σ n = 1 k ( ( x n ( 2 ) - β 1 x n ( 1 ) - β 2 y n ( 1 ) - β 3 ) 2 + ( y n ( 2 ) - β 4 x n ( 1 ) - β 5 y n ( 1 ) - β 6 ) 2 ) - - - ( 2 ) ]]>
其中,k代表关键点的数量,集合{(xn(1),yn(1))}和集合{(xn(2),yn(2))}分
别表示第n个关键点的初始坐标与真实坐标,其中k和n均为正整数。
初始模板和真实位置之间的差异通过参数β1至β6决定的仿射变换进行
消除。公式(2)是一个典型的最小二乘问题,求解完毕后可得到估
计出的最佳参数β1至β6。
求得参数后,本发明利用线性回归算法学习从图像特征到参数β1
至β6的映射关系。
首先以关键点的初始位置为中心,截取大小为19×19像素的纹理
区域,并利用HOG算子对该区域进行特征编码,得到长度为144的
浮点编码,而后将面部k个关键点的编码按照预先定义的顺序进行排
列,最终得到长度为144×k的特征编码为了提高稳定性,当所有
训练样本对应的特征编码都已获得后,对特征编码集合进行归一化操
作,使其分布的均值为0,方差为1,并记录相应的归一化参数,便
于预测过程使用。而后根据公式(3)进行线性回归模型的训练。
其中,βmi表示第i个样本的第m个最佳参数,表示第i个样本
归一化后的HOG特征编码,rm和bm分别表示待求解的第m个参数的
线性投影向量和偏置值。通过计算,可得到由rm和bm表示的线性回归
模型。
刚体演变可以消除初始模板与真实坐标之间的仿射变换差异,但
不同表情、姿态以及人脸之间的固有差异仍然存在,这些差异需要通
过非刚体演变进行消除。
非刚体演变的训练基于刚体演变的预测结果进行。和刚体演变的
训练过程相似,非刚体演变的训练也需要从初始点提取方向梯度直方
图(HistogramofOrientedGradient,HOG)特征,组成长度为144×k的
特征向量,并进行归一化操作。主要的区别在于线性回归模型的训练
过程。非刚体演变的训练根据公式(4)实施。
其中,Δni表示第i个样本的第int(n/2)个关键点的初始坐标与真实
坐标在X轴或Y轴上的偏移量,表示第i个样本归一化后的HOG
特征编码,rn和bn分别表示待求解的第n个偏移量的线性投影向量和
偏置值。通过计算,可得到由rn和bn表示的线性回归模型。非刚体演
化过程可对每个关键点的坐标进行独立调节,进一步提高定位精度。
为了达到最佳预测效果,本发明包含了多次迭代过程,每次迭代
过程包含一个刚体演化过程和非刚体演化过程,其训练过程与上述内
容相同,唯一不同在迭代过程的初始模板来自前次迭代的预测结果。
图3为本发明刚体演化过程示意图,如图3所示,在预测过程中,
本发明利用训练过程得到的线性回归模型进行关键点预测。首先将测
试人脸缩放至128×128像素,将均值模板置于人脸正中;而后提取对
应的HOG特征,分别与刚体演化训练中得到向量rm和偏置值bm进行
矩阵乘和向量加操作,得到样本对应的6个仿射变换参数,再根据参
数推算关键点的新位置,该过程如图3所示。
图4为本发明非刚体演化过程示意图,如图4所示,在得到刚
体演化的预测结果后,根据预测位置提取对应的HOG特征,与非刚
体演化训练中得到的向量rn和偏置bn进行矩阵乘和向量加操作,得到
样本对应的2k个偏移量,再根据偏移量调整关键点的坐标,该过程
如图4所示。
图5为本发明迭代过程示意图,最后,按照上述过程依次执行多
次迭代,得到最终的预测结果,该过程如图5所示。图6为本发明
的预测效果示意图,从图6中可以看出本发明的最终效果。
综上所述,本发明提出一种实时、鲁棒、高精度的面部关键点定
位方法,旨在利用特征提取和机器学习相结合的技术对移动平台条件
下捕获的人脸图片进行关键点定位。与已知方法相比,本发明对计算
性能及图片的成像环境要求不高,且在模型大小上更有优势,因此能
够广泛地应用在移动平台上,为人机交互、表情分析、视线控制、疲
劳监控等其他机器视觉应用打下坚实的基础。
通过说明和附图,给出了具体实施方式的特定结构的典型实施例,
基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较
佳实施例,然而,这些内容并不作为局限。
对于本领域的技术人员而言,阅读上述说明后,各种变化和修正
无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真
实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等
价的范围与内容,都应认为仍属本发明的意图和范围内。