«上一篇
文章快速检索     高级检索
下一篇»
  应用科技  2020, Vol. 47 Issue (6): 47-52  DOI: 10.11991/yykj.202001006
0

引用本文  

闫保中, 何伟, 韩旭东. 基于表观模型的人脸特征点提取[J]. 应用科技, 2020, 47(6): 47-52. DOI: 10.11991/yykj.202001006.
YAN Baozhong, HE Wei, HAN Xudong. Facial feature point extraction based on active appearance model[J]. Applied Science and Technology, 2020, 47(6): 47-52. DOI: 10.11991/yykj.202001006.

通信作者

何伟,E-mail:512658301@qq.com

作者简介

闫保中,男,研究员;
何伟,男,硕士研究生

文章历史

收稿日期:2020-01-08
基于表观模型的人脸特征点提取
闫保中, 何伟, 韩旭东    
哈尔滨工程大学 自动化学院,黑龙江 哈尔滨 150001
摘要:针对在人脸特征点提取过程中模型预估能力不足,拟合过程中的非法形变导致的特征点提取速度慢和提取精度不高的问题,本文提出了一种基于主动表观模型(AAM)的人脸特征点提取算法的改进算法。将头部作初始分类,不同的头部姿态选取不同人脸模型进行拟合,这样能避免初始化模型与真实特征点位置相差过大,从而使得模型能更快的收敛,提高特征点提取速度。同时提出一种方法,对拟合过程中的形状变量加以限制,能有效过滤掉不满足人脸形状的特征点模型,防止拟合过程中的非法形变,使提取的人脸特征点更接近真实位置。实验结果表明,改进的基于AAM的人脸特征点提取算法在时间效率和准确率上都所有提高。
关键词表观模型    特征提取    人脸特征点    主动表观模型    非法变形    方向梯度直方图特征    拟合    头部姿态    
Facial feature point extraction based on active appearance model
YAN Baozhong, HE Wei, HAN Xudong    
College of Automation, Harbin Engineering University, Harbin 150001, China
Abstract: In order to solve the problems of slow speed and low accuracy in the process of facial feature point extraction that are caused by insufficient model prediction ability and illegal deformation in the fitting process, an improved algorithm of facial feature point extraction is proposed in this paper based on active appearance model (AAM). The initial classification of head is carried out, and different head pose is fitted by different facial model. In this way, the difference of position between the initial model and the real feature points can be avoided so that the model can converge faster and the feature points can be extracted faster. Meanwhile, a method is proposed to filter out the features that do not meet the facial shape effectively through limiting the shape variables in the fitting process. The feature point model can prevent the illegal deformation in the fitting process, and make the extracted face feature point closer to the real position. The experimental results show that both time efficiency and accuracy of the improved facial feature point extraction algorithm are improved based on AAM.
Keywords: appearance model    feature extraction    facial feature points    active appearance model (AAM)    illegal deformation    histogram of oriented gradient(HOG)characteristics    fitting    head pose    

随着5G时代的到来,催生了诸如人机交互、生物鉴别等方向的应用。众多国内外高校和科研机构在寻求创新的同时把目光转向了以人脸识别、姿态估计和人脸图像编码为基础的与人脸相关的图像处理技术研究。而这些技术能得到快速发展的一个前提是较高精度和较快速度的人脸特征点提取。

不同的研究人员对人脸特征点研究的侧重点有所不同,根据人脸器官的分布规律,人脸特征点涵盖了眼睛轮廓点、瞳孔中心点、眉毛轮廓、鼻尖位置、嘴部轮廓、脸部外轮廓等[1]。Kass等[2]提出的主动轮廓模型,以及Yuille、Hallinan提出的可变形模板等方法可用于人脸、人眼定位。这类方法称为非参数方法,虽可以在任意图像中获取目标区域,但是精度不高。Cootes等[3]提出的主动形状模型(active shape model,ASM)利用了人脸特征点之间的束缚关系,将获取的特征点限制在一个合理的模型之下,能比较精确地对人脸特征点进行定位。Cootes等[4]在ASM的基础上,提出将纹理模型和形状模型进行融合,进一步得到了主动表观模型[5](AAM),使得人脸特征点提取有较高的精度,此模型已经被广泛应用于人脸特征点检测、人脸定位、人脸表情分析中。

AAM算法在对人脸特征点进行拟合的过程中,过度依赖模型的初始位置[5],当模型的初始位置离目标位置过大时,会影响拟合的精度和速度;而且在拟合过程中会出现不满足人脸器官分布的人脸模型[6],使提取特征点的精度变低。针对以上不足,利用不同的模型进行初始位置的匹配,并对形状参数进行限制,防止非法变形。

1 基于AAM的人脸特征点定位分析

AAM包括模型的建立和对输入图像的拟合计算2个部分[7]。AAM模型是对象的表观模型,是建立在对象的形状模型之上。基于AAM的人脸特征点提取算法先根据人工标记的数据集训练构建表观模型,再以训练的模型与目标图像作差取平方和来建立能量损失函数模型,以能量值的大小来作为拟合程度的评价指标。在拟合的过程中,通过拟合算法来改变模型参数,参数改变引起形状控制点改变,使模型实例与目标图像完成拟合[8]。当拟合完成后,形状控制点的位置,就是目标图像的特征点位置。

1.1 AAM模型建立 1.1.1 形状建模

要实现对AAM的形状建模,需要带有人脸特征点坐标的数据集。在人脸手动标记 $v$ 个特征点,第 $i$ 个特征点的坐标为(xiyi),这 $v$ 个特征点的集合构成形状 ${{S}}$

${{S}} = ({x_1},{y_1},{x_2},{y_2}, \cdots ,{x_v},{y_v})$

再对形状进行归一化操作,使模型尽可能接近基准模型[9]。然后利用主成分分析法对归一化后的数据进行处理,可以得到图像的平均形状向量S0和按照特征值排列的形状特征向量Si,这时S可以表示为

${{S}} = {{{S}}_0} + \sum\limits_{i = 1}^n {{p_i}{{{S}}_i}} $ (1)

当根据数据训练出平均形状 ${{{S}}_0}$ 和形状特征向量Si后,此时AAM的形状模型就建立完成。

1.1.2 表观建模

通过对形状的建模,得到了形状特征向量Si和平均形状向量S0。利用S0经过Delaunay三角化[10]作为映射的基准网络,将数据集中标记好的特征点进行三角化,通过分段线性仿射的方法映射到基准网络中[11],如图1所示。这时建立表观模型达到归一化的目的。

Download:
图 1 分段线性仿射示意

然后以与形状建模相似的方式,用主成分分析(principal component analysis,PCA)方法获取前m个表观特征向量Ai和平均表观模型A0[12],建立的表观模型公式为

${{A}}(x) = {{{A}}_0}(x) + \sum\limits_{i = 1}^m {{\lambda _i}} {{{A}}_i}(x)$

通过设置不同的参数,可以获取不同的表观模型实例,就完成了表观模型的建立。

1.2 利用反向组合进行AAM拟合计算

早期的AAM拟合计算是通过Lucas-Kanade算法[13]实现的,Lucas-Kanade的数学模型为

$\sum\limits_{x \in {{T}}} {{{[{{I}}({{W}}(x;p)) - {{T}}(x)]}^2}} $

为了获取Lucas-Kanade数学模型的最小值,对其进行求导,零求导式的左右两边等于0,得到的表达式为

$\Delta p = {{{H}}^{ - 1}}{\sum\limits_{x \in T} {\left[ {\nabla {{I}}\frac{{\partial {{W}}}}{{\partial p}}} \right]} ^{\rm{T}}}\left[ {{{T}}(x) - {{I}}({{W}}(x;p))} \right]$

p值改变时, ${{W}}(x;p),\nabla {{I}}$ H都要重新进行计算,这使得在迭代的过程中计算量过大,影响实时性[14]。所以将反向组合算法应用到AAM的拟合计算。反向组合算法应用到AAM拟合计算之后的参数更新表达式为

$ (\Delta p,\Delta q) = {{{H}}^{ - 1}}\sum\limits_{x \in {S_0}} {{{S}}{{{D}}_k}} (x) \cdot [{{I}}({{N}}({{W}}(x;p);q)) - {{{A}}_0}(x)] $

式中: $\nabla {{{A}}_0}$ 是平均表观梯度, ${{{A}}_i}(x)$ 是已知的表观特征向量。所以在迭代的过程中,H $ {{S}}{{{D}}}_{K} $ 不用每次都重新计算,而是提前被计算出来,从而较大幅度地提高了AAM拟合计算的速度。

2 AAM初始化模型优化

AAM利用全局形状和纹理对人脸的特征点进行搜索和拟合,首先需要训练出一个初始化模型,然后在初始化模型的基础上进行拟合。但是由于初始化模型的预估能力在一定情况下效果不佳,当偏离的位置在能处理的范围之外时,模型将不能进行正确的拟合,收敛的速度慢且不精确。

为了在拟合过程中使模型收敛的速度加快且使拟合的精度提高,提出将不同的头部姿态训练不同的人脸模型。在训练模型时,首先将头部姿态相似的人脸归为一类进行训练,获取多个模型;之后在进行选取初始化模型时,对输入图像进行支持向量机(support vector machines,SVM)分类匹配,粗略判断输入人脸的姿态,相应的姿态选取相应的初始化模型进行拟合,从而提高拟合速度和精度。整体检测流程如图2所示。

Download:
图 2 基于多模板AAM的人脸特征点检测
2.1 头部姿态粗估计

基于多模板AAM的核心在于如何将输入的人脸图像对应训练好的人脸模型,所以需要对输入的图像姿态进行预估。头部姿态预估的具体方案是:选取CASIA-webface人脸数据集和自己采集的人脸作为数据集,在数据集中找出头部正向前方、头部左偏45°、头部右偏45°、头部上扬45°和头部下低45°这5种姿态,如图3所示。

Download:
图 3 5种人脸初始姿态
2.1.1 方向梯度直方图人脸特征提取

在提取方向梯度直方图(histogram of oriented gradient,HOG)特征时,将所有的数据集都缩放到128像素×128像素,处理的速度更快。所以HOG特征提取时窗口个数为15×15,HOG块的大小为16×16。一个block有4个细胞,且核的个数为9,所以HOG特征最终得到的特征向量的维数是8 100。

选取HOG作为分类器的特征进行训练,HOG特征参数如表1所示。提取HOG特征如图4所示。

表 1 HOG参数选择
Download:
图 4 HOG特征提取
2.1.2 SVM人脸姿态分类

由于SVM是一个二分类器[15],但是在进行头部姿态粗分类的过程中需要区分5个头部姿态,采用一对一法,将5种姿态的数据集分为数据集ABCDE。在训练时,选取A,BA,CA,DA,EB,CB,DB,EC,DC,ED,E这10对子数据集,训练出10个训练结果。然后将输入的被分类对象进行分别测试,采取投票的形式得到最后的结果。

投票的过程如下:假设abcde分别对应5种姿态结果的计数器,当利用A,B组成的数据集训练的分类器给被分类的对象进行分类,若分类的结果为A,则a进行累加,否则b进行累加。其余组的判断方式与该组相同。最后对应结果为abcde中最大值所对应的类。

通过一对一得到的10个训练模型,通过一张输入的图片,就可以得到初步预估头部姿态。

2.2 多模板AAM模型建立

在2.1节中,已知输入人脸的初步姿态,需要找到合适的AAM人脸初始化模型进行匹配,所以需要训练出5个相对应的人脸初始化模型。

在训练初始化模型过程中使用300-W数据集,该数据集共有训练集样本3 148张,测试集样本共有689张,每张都有标记好的人脸特征点坐标,不需要再进行人工的手动标注,减少了重复性工作。从300-W数据集中选出头部正向前方、头部左偏45°、头部右偏45°、头部上扬45°和头部下低45°这5种类型的照片和标注点,每种类型200张,进行训练,获取5种类型的初始化模型。模型图如图5所示。

Download:
图 5 AAM模型
2.3 特征点获取过程

获取了人脸初始姿态模型和多模板AAM初始化模型,就可以进行人脸特征点获取,具体步骤如下:

1)提取输入图片HOG特征,利用训练好的SVM分类器进行头部姿态初步估计;

2)根据预估的头部姿态匹配对应的初始化AAM模型;

3)利用反向组合进行AAM拟合计算;

4)多次重复步骤3),不断地迭代拟合,使模型拟合到正确的位置;

5)通过拟合的最终结果获取特征点。

3 AAM拟合改进

不同人脸的外形、表情可能都不相同,但是人脸器官的分布是有规律可循的,即器官特征点之间的距离关系不会有特别大的区别。在利用表观模型进行回归时,AAM的人脸形状会超出这种关系,得到了非人脸的形状。而原AAM没有对这种情况进行判断,没有对这种非正常的拟合变形进行修正,最终导致特征点没有拟合到正确的位置。

3.1 形状限制项解决非法形变思路

由第1节可知,建立了形状模型S,其表达式如式(1),给定任意一组参数p之后,就能得到一个形状实例Sp值不同,得到的形状就不同。由于 ${{{S}}_0}$ ${{{S}}_i}$ 在拟合的过程中都是已知的值,这时p就决定了拟合的形状。

AAM在模型训练过程中选取了不同表情和不同姿态的50张人脸标注点,这些数据集能很好地表示人脸可能出现的形状情况。将这些人脸数据投影到对应的人脸形状,得到形状系数p,将p值进行统计分析,可以得到一个p值系数空间,如图6所示。如果在拟合的过程中,p值系数超过这个系数空间,表示拟合形状是不合理的,需要修正和限制。

Download:
图 6 符合人脸形状的p值空间
3.2 改进实现模型

根据上面的思想,获取了满足人脸形状的p值空间,记满足人脸最大形状系数值为 ${p_{\max }}$ ,满足人脸最小形状系数值为 ${p_{\min }}$ ,修正和限制后的形状系数记为 ${p_{{\rm{constrain}}}}$ ${p_{{\rm{constrain}}}}$ 计算公式为

${p_{{\rm{constrain}}}} = \left\{ \begin{array}{l} {p_{\min }}{\rm{, }}\;\;p > {p_{\max }} \\ p,\;\;{p_{\min }} < p < {p_{\max }} \\ {p_{\max }}{\rm{, }}\;\;p < {p_{\min }} \\ \end{array} \right.$ (2)

由式(2)计算的 ${p_{{\rm{constrain}}}}$ 能很好地限定拟合过程中非人脸变形。

4 基于AAM的特征点提取实验

在实验过程中,依然选用300-W作为测试数据,300-W数据集中有689张测试数据集。

实验主要对反向组合AAM算法、多模板AAM算法以及基于多模板AAM的改进算法在特征点定位的时间效率和定位的精度上作比较。本实验的开发环境为Intel Core i5 CUP,利用Matlab程序对不同的算法进行人脸特征点提取。

实验用测试数据集进行实验,利用提取的人脸特征点坐标和数据集中原有标定的人脸特征点坐标的差值作为误差标准,误差标准的计算公式为

$E = \frac{1}{N}\left( {\sum\limits_{i = 1}^N {\sqrt {{{({x_i} - {x_{i0}})}^2} + {{({y_i} - {y_{i0}})}^2}} } } \right)$

式中:N是输入人脸图像的特征点个数,( $ {x}_{i},{y}_{i} $ )是利用算法提取的人脸特征点坐标, $ ({x}_{i0},{y}_{i0}) $ 是数据集中已经标注好的对应的第i个人脸特征点坐标。

在数据集中选取不同姿态的人脸图像,用改进的和未改进的AAM算法进行特征点提取,如图7所示。图中三角形特征点为数据集中手动标记的特征点,圆点为算法提取的特征点。

Download:
图 7 特征点提取

实验记录了3种算法300-W数据集中20张不同姿态测试图片的特征点定位误差和时间效率,3种算法的时间效率分布和误差分布散点图如图89所示。

Download:
图 8 3种算法时间效率散点
Download:
图 9 3种算法误差散点

从测试样本中选取8幅图像的实验数据记录,得到特征点定位时间效率表2和定位误差表3

表 2 不同算法对不同图片特征定位时间效率
表 3 不同算法对不同图片特征定位误差比较

通过对表23中的8组时间和像素误差求平均值,得到对比结果如表4所示。

表 4 不同算法速度和定位误差对比表

分析实验数据可以发现:通过初始化模板优化和拟合改进后的AAM算法在提取特征点时所用的时间明显减少,速度有了明显的提升,这是因为不同姿态的人脸匹配了不同的初始化模型,使初始化模型与输入的人脸模型更贴合,同时拟合的改进减少了模型迭代计算的时间,使速度提升,初始化模板的优化对速度提升的影响更大;改进后的定位误差也与传统的AAM算法相比有明显的改善,因为优化的初始化模型更接近输入模型,且对拟合的过程进行了改进,对不符合人脸器官分布规律的形状做了限制,有效防止了非法变形,使精度进一步提升。

5 结论

针对人脸特征点检测设计多模板的AAM算法,对不同的人脸匹配不同的初始模型,弥补了传统AAM算法在初始位置偏离目标位置过大时,难以收敛的不足,使特征点提取速度和精度得到提升。

1)同时对拟合过程中的形状变量进行限制,有效解决了拟合过程中非法变形问题,进而使特征点提取精度进一步提升。

2)使用公开数据集对不同人脸姿态进行了特征点提取实验,实验结果表明,本文的算法能有效提高人脸特征点提取的速度和精度。在后续的研究中,将进一步研究更有效的人脸特征点提取算法,以适应头部偏转较大情况下的特征点提取。

在后续的研究中,将进一步研究更有效的人脸特征点提取算法,以适应头部偏转较大情况下的特征点提取。

参考文献
[1] 黄萍. 基于正面图像的三维人脸快速重建技术研究与应用[D]. 厦门: 厦门大学, 2018. (0)
[2] KASS M, WITKIN A, TERZOPOULOS D. Snakes: active contour models[J]. IJCV, 1988, 1(4): 321-331. DOI:10.1007/BF00133570 (0)
[3] COOTES T F, TAYLOR C J, COOPER D H, et al. Active shape models-their training and application[J]. Computer vision and image understanding, 1995, 61(1): 38-59. DOI:10.1006/cviu.1995.1004 (0)
[4] COOTES T F, EDWARDS G J, TAYLOR C J. Active appearance models[C]//Proceedings of the 5th European Conference on Computer Vision-Volume II-Volume II. London: Springer. 1998: 181−198. (0)
[5] COSTEN N, COOTES T, EDWARDS G, et al. Simultaneous extraction of functional face subspaces[C]// Proceedings of 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Fort Collins, USA, 1999. (0)
[6] 呼月宁, 张艳宁, 朱宇, 等. AAM在多姿态人脸特征点检测中的应用[J]. 计算机工程与应用, 2010, 46(12): 161-165. DOI:10.3778/j.issn.1002-8331.2010.12.048 (0)
[7] 沈先耿, 吴薇. 一种改进的快速多姿态人脸特征点定位算法[J]. 中国科技论文, 2015, 10(8): 933-936. DOI:10.3969/j.issn.2095-2783.2015.08.012 (0)
[8] 杨玮玥, 张倩, 王斌, 等. 3D建模的多姿态人脸合成方法[J]. 中国科技论文, 2018, 13(14): 1573-1577, 1602. DOI:10.3969/j.issn.2095-2783.2018.14.002 (0)
[9] 龚卫国, 黄潇莹, 李伟红. 基于正弦变换的人脸姿态校正及识别研究[J]. 计算机工程与应用, 2010, 46(22): 213-216. DOI:10.3778/j.issn.1002-8331.2010.22.062 (0)
[10] 郑明明, 林志毅. 基于局部统计几何特征的人脸性别分类方法[J]. 计算机工程与设计, 2019, 40(10): 2943-2948. (0)
[11] 吴火珍, 焦玉勇, 李海波, 等. 复杂区域三维有限元四面体网格自动生成研究[J]. 岩土力学, 2011, 32(11): 3479-3486. DOI:10.3969/j.issn.1000-7598.2011.11.046 (0)
[12] 董瑞霞. 三维人脸数据的预处理及深度图像获取[J]. 福建电脑, 2017, 33(2): 18-19. (0)
[13] 陈路. 基于稀疏表达的人脸分析方法研究[D]. 成都: 电子科技大学, 2014. (0)
[14] 赵明富, 陈兵, 宋涛, 等. 融合特征光流与角点特征的图像特征匹配算法研究[J]. 半导体光电, 2019, 40(4): 539-545, 549. (0)
[15] 王见, 陈义, 邓帅. 基于改进SVM分类器的动作识别方法[J]. 重庆大学学报, 2016, 39(1): 12-17. DOI:10.11835/j.issn.1000-582X.2016.01.002 (0)