一种改进的贝叶斯切线模型的人脸对齐算法李丽娟,石红伟,王爱云湖南大学计算机与通信学院,长沙(410082)E-mail: momentt@摘要:本文论述了一种新的人脸对齐的算法--改进的贝叶斯切线模型。
该算法首先从形状参数中分离出姿态参数和身份属性参数,对这两个参数分别处理,然后通过引入曲率半径作为该特征点搜索的象素个数实现动态搜索。
实验表明,该算法可以弥补BTSM不能很好的处理多姿态的人脸图像对齐的缺陷,而且可以提高搜索精度以及减少搜索时间。
关键词:人脸对齐;人脸识别;贝叶斯切线模型中图分类号: TP 311 文献标识符:A1 引言目前,关键点定位是人脸识别中的一个重点也是难点,特别在成像条件中的光照、表情等变化比较大的情况下,关键点定位显得更困难。
因为关键点定位偏差较大将会导致“鬼脸”的现象发生,所以人脸的关键点定位非常重要。
现有的人脸定位方法比较多,但这些方法只能给出很少的特征点,且不太鲁棒。
1991年cootes[1]首先提出了主动形状模型(Active Shape Model,ASM),该方法能够很好的提取正面人脸的轮廓特征,达到很好的效果。
ASM是典型的人脸轮廓特征提取方法,通过对标注好的训练数据进行分析,得到人脸形状模型。
然后对新的图像进行轮廓匹配,得到新图像的轮廓特征点[2][3]。
但是ASM 模型在采用主分量分析 (Principal Component Analysis.PCA)建立模型时,仅仅采用了较大的特征值和对应的特征向量,残差部分设为零,引起人脸轮廓特征点提取的一些偏差。
2003年Leon Gu[4]等在此基础上提出了BTSM(Bayesian Tangent Shape Model)进行人脸轮廓提取,其基本思想是通过对ASM中的残差部分建立模型,可以得到更加准确的轮廓形状,然后根据轮廓特征点,提取传统的几何形状特征如眉毛,眼睛,鼻子,嘴巴以及人脸轮廓等。
1本文在BTSM算法的基础上进行改进,1本课题得到基于多向量收敛的网络定位算法研究(No.60703096)的资助。
提出了一种改进的人脸形状匹配算法,主要包括两方面的内容,1)修改形状的更新模型,从形状参数中分离出姿态参数和身份属性参数,可以达到多姿态的特征匹配;2)通过引入一种曲率半径,对各个器官进行动态搜索,一方面可以弥补器官在比较集中的地方出现伪收敛的情况,另一方面可以减少搜索时间。
实验证明:改进算法对多姿态的人脸图像也可以达到很好的效果,而且估计误差较小,在部分关键点处可以减少搜索次数以及提高搜索的准确度。
2 BTSM的基本思想ASM模型是Cootes在点分布模型的基础上,结合局部灰度观测模型和启发式搜索,提出一种表述物体形状和轮廓的参数化统计模型。
但是传统的ASM 模型在采用PCA 建立模型时,没有考虑重建误差,而BTSM 模型在采用PCA描述模型的基础上,建立了一个基于重构误差的分布模型,比ASM 模型更为精确,BTSM 算法[4][5]的主要思想如下:2.1 对图像的样本标注和归一化人脸的特征点一般采用表示人脸的眉毛,眼睛,鼻子,嘴巴以及人脸轮廓等N个特征点构成(1,1,2,2,...,,)s x y x y xN yN=。
由于BTSM参数模型是对标定好的人脸轮廓进行统计分析得到的,因此样本应尽量包含各种表情姿态的人脸。
最后所有的样本标注点归一化到同一个参考坐标系。
2.2 主分量分析,得到均值和方差,建立先验模型。
样本标注好之后,采用主分量分析(PCA)进行形状建模。
轮廓样本均值:11L si i L µ∑== (1)L 为样本的总数,µ为样本均值,s i 为每个样本的标准化后的特征点。
计算协方差矩阵(2)的特征值和特征向量,并将特征值按递减顺序排列,1()()()11L TVar X si si i L µµ∑=−−=−(2)保留前t 个特征值对应的特征向量(1,2,...)t t ψψψΦ=,而对于残差采用ε表示。
则任意一个新的人脸样本可以采用下式描述:x tb µε=+Φ+Φ (3)其中b 为t 维的形状参数,满足多变量高斯分布(0,)N Λ,(1,2,...)diag t λλλΛ=,tλ为矩阵的第t 个特征值。
ε和b 是独立的,它的分布可以采用下面模型来描述:2||||()~{exp(22p εεσ(4) 其中2412124L i i t L λσ−∑==+− 则公式(3)的模型参数的形成过程如图1所示[4]:图1 BTSM 的模型参数形成过程其中b 为形状参数,θ为姿态参数,µ为平均形状,x 为观察形状。
由于不同的参数b 可以产生不同的形状,也就是任何一个形状都可以由平均形状加上形状因子和姿态因子形成新的形状,使用的模型越少,模型就会越紧凑,匹配的形状就越平滑,参数b 和形状的对应关系如图1所示[3]:图2 前3个特征向量构成的形状其中中间一行表示平均形状,其他两行通过修改b 的值而得到的形状,分别从−到2.3 局部搜索在对新图像进行轮廓搜索的每一次循环中,需要精确估计每个坐标点的位置,采用灰度梯度模板[1],每个点法线方向两边各自m 个点进行采样和计算,寻找最为匹配的点。
2.4 采用BTSM 对新的人脸轮廓进行搜索(最大后验慨率,MAP)经过上面3个步骤,建立了样本图像的BTSM 模型,而对新的图像进行轮廓搜索,相当于一个最优化问题,即对图像本身先进行局部搜索,得到图像的轮廓特征点,然后和BTSM 模型进行比较。
寻找最优化的参数。
由于两个模型并不在同一个参考空间,因此需要首先把BTSM 模型变换到观测形状空间:()y sU x c θη=++ (5)其中y 为观测形状空间向量,s 为缩放参数,θ 为旋转参数,()12c c lN c =⊗为平移参数(常量), η为等方性观测噪声,满足高斯分布: ~2(0,2)N I N ηρ,而22||||oldc yy ρ=−,()cos sin sin cos U IN θθθθθ−=⊗为旋转矩阵。
给定一个待搜索图像y ,在贝叶斯框架内给定观测形状向量的情况下,计算模型参数(b ,s ,c ,θ),相当于一个最大后验慨率(MAP)的问题,在已知切线形状X 和观测形状向量y 的基础上,可以采用基于EM [4] 的参数估计算法,结合式(3)和式(5),我们可以得到(6)式:111()Y u tb s U T εθηθ−−−=+Φ+Φ+ (6)其中(11s U ξθη−−=)于是上式为:()TTtb AA µεξξ+Φ+Φ+Φ+ (7)⇒1()(,*(24))()T T t T Y b It t N t θεξ−Φ−=Φ−−+Φ其中**(,,,)A e e µµ=,(1,0,1,0,...,1,0)e =,由于ε和ξ独立,因此T εξ+Φ和T A ξ的分布为:222()~(0,()24)T N s I N εξσρ−+Φ+−~22(0,4)T A N s I ξρ−得到模型参数的可能性,模型的后验慨率采用式(8)计算:1222112(,,,|)exp{[()(||()||2T p b c s y s t T y b θσρθ−−−∝+Φ−+122212|()||)||()|||T T t T y s A T y θρθ−−−Φ++1]}*222244()constbT b N s s σρρΛ−−−−+(8)其中,const 保持不变,t Φ 为Φ去掉了前t 列形成的矩阵。
最后采用通用的EM 算法求取上面式子中的各个参数。
3 改进的BTSM 算法的基本思想为了解决多姿态的人脸对齐,本文分离出形状参数和身份属性,这样可以有效解决人脸对齐中的姿态问题;由于BTSM 算法是在每个特征点处搜索固定的象素,而眉毛和眼睛,嘴外轮廓和内轮廓距离比较近,这样容易出现伪收敛的情况,于是本文采用曲率半径作为每个特征点搜索的象素个数,进行动态搜索,这样一方面可以避免伪收敛的情况,另一方面可以减少每次搜索的象素个数。
3.1 形状模型的更新首先分离出姿态和形状参数,形状模型更新如下:(1)(_*_1__)()()S S p Qs pose bs psose TQs idbs id pQQ T y θ=+−+−+ (9)其中__s posebs poseΦ和__s idbs id Φ表示形状模型的姿态和身份属性的分离,_s id Φ为姿态变化的额外空间,_bs id 表示这种模型变化的参数,_bs id 的更新如下:___Tbs id opt Q s idtim =(10)____tim unif tim Qs idbs id opt =−(11)im t 表示当前形状的纹理向量,__bs id opt 表示当前形状最佳的姿态参数,_im unif t 表示图像的纹理向量经过滤波后的向量,与训练样本的平均姿态一致。
则公式(9)所对应的模型参数(包含形状参数和姿态参数)的更新如图3所示:图3 改进的BTSM 的参数更新以及形状的形成过程3.2 搜索过程根据每个特征点求出其前一个点和后一个点,然后根据这三个点求出其曲率半径和曲率圆,并找出其曲率圆圆心。
曲率半径的大小作为该点搜索象素的个数,沿着曲率圆圆心和该点的坐标所在的直线作为图像搜索的方向。
4 实验结果本实验采用CAS-PEAL 库中的正面多姿态的人脸库和自己创建的人脸库进行实验,其中人脸库包括100张多姿态正面人脸图像(60张CAS-PEAL库的图像和40张自己采集的人脸图像),每个人脸图像包括87个特征点(眉毛10×2个点,眼睛8×2个点,鼻子12个点,嘴的外轮廓12个点,内轮廓8个点,人脸轮廓19个点),建立平均形状模型。
使用adaboost[8]算法对人脸图像进行自动检测,对检测到的人脸图像缩放到同一大小。
为了提高人脸轮廓以及特征匹配的精度,使用adaboost进行眼睛定位,确定出眼睛坐标,求出初始化形状参数。
为了能有效验证改进方法的有效性,实验采用留一法[7],即在训练集中,先选择99幅人脸图像用于建立形状模型,留下的1幅图像用于测试。
这样,整个训练集将会进行100次同样的操作,实验结果如同4所示:(a)(b)图4 改进的BTSM的实验结果.其中(a)是自己创建的人脸库,(b)是CAS-PEAL的人脸库,包括一定姿态的人脸图像。
4.1 实验分析为了验证提取的特征点是否精确,采用均方根误差RMSE来验证。
把训练集中用手工方法标注的特征点作为标准点,用改进的BTSM 方法提取特征点作为测试点,测试点与标准点之间的误差计算公式中:RMSE=(12)xi为用手工标注的第i点的坐标值;yi为提出方法提取的第i点的坐标值;m为标注点的数量。