人脸姿态估计(共5篇)
人脸姿态估计 篇1
人脸识别研究经历半个多世纪的发展,理论研究也接近成熟。目前人们逐渐将研究目光转向人脸分析(人脸姿态、表情、性别和年龄分析等)研究。其中,人脸姿态估计就是根据图像确定人脸在三维空间中姿态参数的过程。人脸姿态估计在智能视频分析、人脸识别、人机交互和虚拟现实领域具有巨大的应用前景。
可以将现有的人脸姿态估计算法大概分为三类:子空间分析方法、3D方法、其他类特殊方法。第一类方法通过对人脸纹理信息进行子空间分析获取具有鉴别性的低维特征向量,然后采用成熟的分类器(距离分类器,支持向量机等)进行分类识别。因此,此类方法的重点与关键在于特征的提取与降维。其中,比较典型的有主成份分析(PCA)[1],线性判别(LDA)[2],独立子空间分析方法[3]等。由于PCA是一种线性降维方法,而人脸的光照、表情、年龄和个体的变化导致人脸姿态呈现出非线性变化。因此,研究者们又提出使用核主成份分析(KPCA)[4],流型学习方法[5]等解决这种非线性变化问题。不尽人意的是,核方法和流型学习方法相对复杂,同时随着人脸训练样本增加,其分类能力将变弱。综上,第一类方法具有处理速度快和容易实现的特点。但同时需要通过大量样本的训练,对人脸的光照、表情等变化较为敏感。
第二类方法试图利用三维人脸结构空间信息进行人脸姿态估计。这类方法往往需要利用三维重建技术或是使用三维扫描仪器获取三维人脸模型,然后利用3D模型的任意旋转性在三维空间实现人脸姿态估计[6,7,8]。此类方法由于充分利用了人脸3D模型,更接近于现实中头部本质。因此,取得了不错的准确率。但是,这类方法往往对图像的大小、数量和质量要求很高,并且实时和实用性不高。特别地,视频监控中的超低分辨率和遮挡人脸图像效果将急骤下降。
第三类方法采用一些非主流的特定方法进行人脸姿态估计,只能解决部分问题或应用于某些特定场合。例如,Rafael Munoz-Salinas等人[9]提出多相机的人脸姿态估计方法。为了正确估计人脸姿态,他们方法中需要利用前后左右6个相机拍照的6幅图像进行融合判别。J.Nuevo等人[10]提出块聚类的方法进行人脸姿态估计,取得了不错的效果,但是他们的方法估计的姿态范围有限(只能识别45°范围的姿态变化)。山东大学的陈振学等人[11]提出三角形的人脸姿态估计方法,得到了91%左右的准确率,但是他们的方法只能对人脸绕Y轴和Z轴偏转有效,而对于绕x轴旋转人脸姿态无效,即对人脸上下旋转情况失效。
光照、噪声、遮挡、分辨率、身份、表情等因素的变化都会对姿态估计的准确性产生巨大的影响,如何消除这些因素的影响是目前亟需解决的问题。针对以上问题,本文提出基于稀疏表示的人脸姿态估计方法,解决人脸姿态估计中的光照、噪声和遮挡等问题。
1 基于稀疏表示的人脸姿态分类
实验表明:基于稀疏表示的分类方法(SRC)具有很强的鉴别能力,特别是在人脸识别领域[12,13]。但是这种方法存在的一个最大问题是对人脸姿态变化非常敏感[14]。这是因为:1) SRC方法是基于线性组合的思想,线性组合要求基底对象之间是稠密对应关系,而人脸的姿态变化会导致人脸之间形成错位的现象;2)研究学者们发现,来自不同人的两幅人脸图像之间的相似度比来自同一个人的不同姿态条件下的两幅人脸图像之间的相似度还要大。
以上两点原因分别从SRC本质和人脸图像本质上分析了姿态变化对基于SRC的人脸识别的影响。如图1所示,待测正脸由其相对应类别样本的线性组合表示(图中矩形框),根据其非0组合系数可以对待测人脸进行正确分类。但是当待测样本是有姿态变化的侧脸时,其非0系数就可能会分布在与待测人脸具有相同姿态的样本中(见图2矩形框)。因此,图2所示情况为进行人脸姿态估计提供了理论支持,也就是说只要将人脸姿态离散化后,采集每个姿态空间下足够多的人脸图像作为完备字典,然后通过稀疏约束的方法就能进行姿态的正确估计。
SRC在本质上等价于“全局分解”和“局部重构”的结合利用。即一方面从“全局分解”过程中得到样本的稀疏表示;另一方面又根据“局部重构”误差对测试样本进行分类。然而,一个潜在的困难在于,实现中很难获取“足够多”的训练样本。因此,SRC常常面临着“小样本”问题,影响其分类性能。而基于SRC的姿态分类方法却能克服“小样本”问题。因为如果将人脸姿态离散化为19类,每类包含100个人脸图像样本,总共也只需1 900个样本,这在现实中很容易满足。因此,基于SRC的姿态分类不构成“小样本”问题。
1.1 人脸姿态稀疏表示
首先,将人脸姿态以10°(角度可以根据需要设定)偏转为间隔进行离散化,把人脸姿态化分为19种视点(以人脸左右偏转为例);然后,将第i(i=1,2,…,19)类姿态训练样本用特征向量矩阵表示为:。其中,Si,l是第i类姿态中第1个人脸的特征向量;ni表示第i类姿态样本数目;m表示样本维数。根据线性组合原理,如果第i类姿态样本足够多,那么来自此类的测试样本y可以由第i类姿态样本的线性组合表示
其中,ai为线性组合系数。由于测试样本y所属的姿态类别未知,因此定义一个由19类训练样本集组成的完备字典A
那么测试样本y可以重写成完备字典A的线性组合
其中,是一个非常稀疏的系数向量。理论上,如果y属于第i类姿态,那么x的非0项全部集中在第i项。因此,根据x可以得到测试样本y的姿态类别。其识别情况如图3所示。
1.2 人脸姿态识别
从上节可以看出,系数向量x隐含着待测样本y的姿态信息。因此,人脸姿态估计问题变成了y=Ax的求解问题。如果m>n,方程组将是over-determined,x有唯一的解或无解。如果m<n,方程组将是under-cletermined,x有多个解。通过理论分析与实验验证表明[15]:如果上述under-determined方程组的解足够稀疏,那么就可以转化成l1范数的优化问题:
针对式(4)的最优化求解目前有许多成熟方案可供选择。
通过式(4)求解出稀疏表示系数后,理想情况下,根据的非0元素的集中位置就可以进行人脸姿态分类。然而,现实中由于人脸噪声以及建模误差会引起的部分非0系数分布到其他类别,干扰了姿态的正确分类。本文以每类别的非0元个数的有效积累作为分类准则,最后以最大累计值所对应的类别作为最终的姿态类别。因此,基于SRC的姿态估计为
其中,f(·)是置0函数,将求解的系数的负因子置0;θi:Rn→Rn是个统计函数,统计中第i类非0元个数;pi(y)就是每类姿态的有效性累计因子。
2 实验与分析
上节从理论上分析了基于稀疏表示的姿态分类方法的可行性并论述了整个姿态估计流程,本节将利用XJ-TU[16]与PIE[17]人脸库验证本文提出的人脸姿态估计算法的有效性。
XJTU人脸库:本文从XJTU上挑选相同光照条件下130人的姿态图像进行实验,其中100人用作训练,剩下30人用作测试,每人包括9幅不同姿态图像(从19张视点图像中间隔选取),图4为实验人脸数据库图例。
同时,对测试图像进行加噪声和遮挡的操作,以比较各方法对图像噪声和遮挡的鲁棒性,图像加0均值的加性高斯噪声,噪声强度分别为σ=0.01和σ=0.03像素。图5为人脸图像加噪和遮挡的示例样本。
PIE人脸数据库:该数据库在沿y轴上将人脸按左右旋转分为9个不姿态类别,变化范围为-90°~90°,如图6所示。由于该数据库每种姿态都有光照变化,因此,本文使用该人脸姿态库验证算法对光照的鲁棒性。
为了比较各方法对人脸图像光照、噪声和遮挡的鲁棒性,本文首先对所有训练图像进行手动对齐归一化处理;然后在有光照、噪声和遮挡的待测图像上进行人脸姿态判别,分别统计不同姿态的识别准确率,得到的实验结果见图7~11。实验时,每类姿态进行10次实验,所有实验均重复10次,统计其平均识别率。
从图7可以看出:图像无光照、噪声和遮挡变化时,3种方法都能得到很好的效果。但是当图像有光照、噪声和遮挡的情况后,尤其是图像有遮挡以后,基于PCA和LDA的姿态判别方法性能下降很快(见图10)。从图8,9,10和11可以看出:SRC的方法受人脸图像噪声、遮挡和光照的影响较小,能够达到比较好的姿态判别结果。因此,本文提出的SRC人脸姿态估计方法对人脸光照、噪声和遮挡变化具有鲁棒性。
为了进一步说明本文算法的性能,表1给出了几种算法的平均运行时间比较结果(配置为:HP Core i3 M330 2.13 GHz/内存2 Gbyte,MATLAB 7.0)。
从表1中可以看出:虽然本文算法的运行时间多于线性子空间方法,但并不影响其在应用中的实时性。但是,本文算法对人脸遮挡和光照变化的鲁棒性是线性子空间方法所不能比拟的。
3 总结
经过研究发现,人脸姿态分类和人脸识别具有“异曲同工”之妙,为此,本文提出基于稀疏表示的人脸姿态分类方法。本方法不但具有稀疏表示人脸识别方法(SRC)中对光照和遮挡的鲁棒性,同时还能克服SRC中的“小样本”问题和“稠密对应”问题。因此,相比于人脸识别问题,基于稀疏表示的分类方法更适合于姿态识别问题。
摘要:针对人脸光照、遮挡、身份、表情等因素变化的人脸姿态估计难题,结合稀疏表示分类(SRC)方法的优秀识别性能,对SRC理论进行了深入分析,并将其应用于人脸姿态分类。为了解决姿态估计中人脸光照、噪声和遮挡变化问题,将人脸姿态离散化为不同的子空间,每个子空间对应一个类别,据此,提出基于字典学习与稀疏约束的人脸姿态识别方法。通过在公开的XJTU和PIE人脸库上实验表明:所研究的方法对人脸光照、噪声和遮挡变化具有鲁棒性。
关键词:人脸姿态估计,稀疏表示,子空间学习,人脸识别
人脸姿态估计 篇2
基于地磁场测量估计卫星姿态的UKF算法
提出了利用UKF(Unscented Kalman Filter)处理地磁场测量数据进行低轨道(LEO)卫星自主定姿的算法.通过使用估计姿态、轨道参数和国际地磁场参考(IGRF)计算得到的地磁矢量与三轴磁强计(TAM)的测量矢量之差作为更新信息,可以实现实时的姿态角和角速度估计.针对卫星稳态定姿、大角度快速机动的定姿以及姿态失控状态下的.定姿等三种任务,分别用UKF和传统的EKF(Extended Kalman Filter)进行了数值仿真.仿真结果显示出本文提出的定姿算法的优越性.
作 者:朱建丰 徐世杰 ZHU Jian-feng XU Shi-jie 作者单位:北京航空航天大学,宇航学院504教研室,北京,100083刊 名:宇航学报 ISTIC PKU英文刊名:JOURNAL OF ASTRONAUTICS年,卷(期):27(6)分类号:V412.4关键词:姿态确定 UKF 磁强计
人脸姿态估计 篇3
人脸姿态估计在人脸识别、计算机游戏、虚拟现实和司机疲劳检测系统等方面都有着广泛的应用。对于现有的人脸姿态估计方法大体上可以分为两类:
(1) 基于人脸外观的学习方法 即假设3D人脸姿态与人脸图像的某些特性(图像密度、颜色、图像梯度值等)存在唯一的对应关系,用大量已知3D人脸姿态的训练样本,通过统计方法来建立这种关系[1,2]。这类方法大多数是利用插补,它们的精确度大大受限于训练样本的划分策略数量,结果人脸姿态的估计精度典型的都不少于10°。
(2) 基于模型的方法 即利用某种几何模型或结构来表示人脸的结构和形状,建立模型和图像之间的对应关系,然后通过几何或者其它方法实现人脸空间姿态估计。现有的人脸姿态估计方法中,大多数姿态估计文献的方法属于基于模型的方法[3,4,5,6]。这种方法的优点在于:人脸的几何结构通过投影模型清楚地揭示了3D人脸姿态和2D人脸图像的关系及当人脸特征点被精确定位后,这种方法简单易行,且具有高的精确度。
鉴于模型方法的优点和文献[3]容易造成姿态解不稳定及文献[4]不能唯一确定人脸3D空间姿态的缺陷,本文提出了一种基于多点模型和改进的BFGS算法BFGS的3D人脸姿态估计方法。实验结果表明,本文提出的方法不仅可以获得稳定和唯一的3D人脸空间姿态,而且与同类方法比较具有良好的姿态估计精度。
1多点模型的建立
1.1获取特征点3D空间信息
通过改进的活动形状模型ASM(Active Shape Model)方法[7],准确地提取所需要的特征点(如两眼、嘴和鼻子等),但对于单张照片在不知道人脸特征点深度及其它信息的前提下进行姿态估计,只采用基于几何模型的方法是不可能实现的。对此,利用人脸形态的几何统计知识来估计人脸特征点的深度值[8],从而丰富人脸预知信息,实现对单张照片中人脸的姿态估计。
已知人脸n个特征点,则人脸结构可用特征点进行线性组合构造一个稀疏形状向量sL来表示:
sL=(v
式中,L表示向量sL是由特征点组合而成的。由人脸特征形态学可知,人脸属于线性结构,因此人脸特征点向量的估计值s
s
式中,SL=(s
s
式中η=(η1,η2,…,ηm)T是组合系数;
由输入二维人脸图像上的特征点信息,可以求出组合系数η:
E(η)=‖Q
式中,Q
通过优化求解得出使E(η)取最小值的η0。则根据式(3)所有特征点的坐标组成的稀疏形状向量的估计值为:
s
因此,将特征点的二维(X,Y)值与s
1.2建立人脸模型
选用左右眼内外角点和左右嘴角点、鼻尖、下巴顶点等共八个点来构成脸的模型。模型坐标系的原点选在鼻尖处,这样,脸的模型实际由七个点的坐标构成,如下:
(p1,p2,…,p7)
其中pi为模型点在自身坐标系中的坐标,xe1、xe2分别表示外、内眼角间距的一半,xm为嘴角间距的一半,yc为下巴定点到鼻尖的距离,z表示相应的深度距离,不同的人脸的这三个值是不同的,其差异部分反映了模型与真实人脸的结构的差异。
假设模型点pi(xi,yi,zi)对应的像点为qi(μi,νi),R为姿态旋转矩阵,t为平移矩阵,f为像机焦距。根据透视成像可得:
令:t=(t1,t2,t3)T,R=
。
式中:
a11=cosβ·cosγ
a21=-cosα·sinγ+sinα·sinβ·cosγ
a31=sinα·sinγ+cosα·sinβ·cosγ
a12=cosβ·sinγ
a22=cosα·cosγ+sinα·sinβ·sinγ
a32=-sinα·cosγ+cosα·sinβ·sinγ
a31=-sinβ
a32=sinα·cosβ
a33=cosα·cosβ
于是相应的透视成像模型可以表示如下:
qi=C·[R(α,β,γ)·pi+t] (8)
姿态估计问题可表述为:已知像机参数C,模型点{pi,i=1,2,…,n}和其在像机C中的像点{qi,i=1,2,…,n},求姿态参数(α,β,γ)。
求解函数式为:
2人脸姿态估计
人脸姿态有6个自由度的变化,即沿X、Y、Z轴的平移和绕X、Y、Z轴的旋转。对沿X、Y的平移,在图像上表现为人脸的位置变化,可以通过统一坐标系实现;对沿Z轴的平移,在图像上表现为比例的变化,可以通过比例归一化实现。所以本文重点在于研究人脸绕X、Y、Z三轴的旋转问题,旋转角分别为α、β和γ。
2.1姿态近似值的求解
利用相关特征点进行姿态近似计算[9]:α0,β0,γ0。
(1) γ0的计算
对于一个正面的人脸,两只眼睛应该是处于水平位置的,如图1(a)所示;但在平面旋转的人脸照片中,两只眼睛却并不处于水平位置,如图1(b)所示。因此可以根据两只眼睛的位置关系来对人脸照片进行平面旋转。眼睛是否水平既可以通过内眼点,也可以通过外眼点来确定。由于外眼点容易得到,而且比较准确,因此一般选用外眼点作为基准。
设两外眼点间的垂直距离为d,水平距离为l,那么人脸的平面旋转角度γ0的计算公式为:
(2) β0的计算
假设人脸是左右对称的,图像没有旋转时,中分线正好位于人脸图像的中间,如图2(a)所示;人脸侧深度旋转后,人脸中分线偏离了图像的中心位置,如图2(b)所示。
当人脸处于正面时,鼻下点与左右外眼点的夹角相等。当人脸绕Y 轴旋转后,即侧深度旋转后,鼻下点与左右外眼点的夹角差βeye-out:
βeye-out=β1-β2 (11)
其中,
同理可计算出鼻下点与左右内眼点的夹角差βeye-in,鼻下点与左右嘴角点的夹角差βmouth为了减少误差,可取人脸的侧深度旋转角度为这三个角度的均值,即:
(3) α0的计算
垂直深度旋转的姿态计算是最困难的。图3为垂直深度旋转的侧视图。人脸的侧面图可以看作是一个椭圆,y 轴即为椭圆的中分线,x 轴是眼睛和嘴连线的垂直平分线,如图3(a)所示。那么没有垂直深度旋转时有α1=α2。垂直深度旋转后,如图3(b)所示。此时,x 轴不再是眼睛和嘴连线的垂直平分线,根据等腰三角形的性质,侧深度旋转角度α0的计算公式为:
2.2基于改进BFGS算法的姿态精确求解
2.2.1 改进的BFGS算法
对于无约束最优化问题:
minf(x) x∈Rn (14)
假设函数f:Rn→R连续可微,f在xk处的梯度值为g(xk),为了简单起见,把f(xk)和g(xk)分别简写为fk和g
BFGS(Broyden-Fletcher-Goldfarb-Shanno)算法是拟牛顿算法中解无约束最优化问题式(14)的重要方法之一[10,11]。BFGS算法的迭代公式如下:
xk+1=xk+tkdk,k=0,1,… (15)
x0为给定的起始值;tk为步长;dk为搜索方向,dk满足下列方程式:
Bkdk+gk=0 (16)
即d0=-B
B0是给定的n×n对称正数矩阵,B
其中,yk=gk+1-gk,sk=xk+1-xk。
传统的BFGS算法线性搜索要求函数值单调减少,沿着弯曲狭窄谷底易产生迭代序列缓慢收敛,甚至有时对非凸极小化问题不具有全局收敛性。针对这些弊端,本文引进非单调搜索技术,采用一个新的Bk修正式[11,12],改进传统的BFGS算法。
其中,y
文献[12]给出了最小的正整数jk来表示步长:tk=ρjk,满足下式:
其中,δ∈(0,1),ρ∈(0,1),m(0)=0,0≤m(k)≤min{m(k-1)+1,M0},M0是非负整数。
算法过程为:
① 给定x0∈Rn,对称正数矩阵B0,非负整数M0,并令k:=0;
② 如果‖gk‖=0,则终止,否则转③;
③ 给定xk,Bk解式(16)得搜索方向dk;
④ 确定满足式(19)的步长tk;
⑤ 置xk+1=xk+tkdk,根据式(18)来更新Bk+1;
⑥ 令k:=k+1转②.
其Matlab核心程序如下:
该改进的BFGS算法采用非单调技术,而且较传统的BFGS算法,在每次迭代中,初始测试步长不再保持不变,而是可以自动调整,具有很好的全局收敛性和收敛速度,更利于本文的人脸姿态估计。
2.2.2 姿态的精确求解
以近似姿态估计值α0,β0,γ0为初始值,利用改进的BFGS算法对人脸姿态精确求解,求解过程如下:
① 设定α、β、γ的求解范围α0-150,α0+150、β0-150,β0+150、γ0-100,γ0+100,迭代步长tα、tβ、tγ;
② for α=(α0-150)∶tα∶(α0+150),for β=(β0-150)∶tβ∶(β0+150),for γ=(γ0-100)∶tγ∶(γ0+100),分别用改进的BFGS拟牛顿法对式(9)进行优化计算,记录对应的优化速度;
③ 找到迭代过程中使式(9)优化速度最快的(α,β,γ),即为求得的人脸姿态(α,β,γ)。
3实验与结果
本次实验采用CMU PIE人脸数据库,该数据库包含了68个人脸类,均为彩色图像,以PPM格式存储,分辨率为640×486,人脸图像大小不一,背景多样,13种不同表情,43种不同光照,4种不同表情,共41368幅人脸图像。对其中β=0°,±22.5°,±45°五个姿态进行了测试,图像统一处理为48×48,本文实验结果在Matlab6.5环境下所得,结果表示形式为(α,β,γ),单位为度(°),部分结果如图4所示。
在一般应用系统中,对绕Y轴旋转的斜视图像应用较多,所以通过测试β来检测算法的精确程度。且根据对称性,本文给出β=0°、22.5°、45°时的绝对平均误差表,如表1所示。
特征点定位往往是存在误差的,假设用改进的ASM方法所得的特征点定位误差为0像素,且以此时所得的估计结果为基准,图5显示了当特征点定位有误差时姿态估计的性能。其中特征点定位误差用定位值偏离基准位置的像素点距离表示。
曲线表明,虽然随着特征点的定位误差的增加,三个角度的误差都有增大的趋势,α和β的误差增长比较明显,但仍低于4°。
表2给出了用本文方法与文献[3,4,5]方法测得的β估计结果比较。
可见,本文算法不仅可以获得稳定的姿态解,而且具有良好的姿态估计精度。
4结语
理论研究与在CMU PIE上的实验结果表明:利用本文算法不仅可以获得稳定的姿态解,而且可以唯一确定人脸3D空间姿态,得到的β估计值绝对平均误差约为1.49°,与同类方法比较具有更好的姿态估计精确度。
本文算法虽然可以得到精确的估计值,但如果通过用图像序列较丰富的图像信息,或通过2D人脸图像建立人脸3D模型来估计人脸3D姿态,将使算法更适应“自遮挡”、光照变化和多表情、多姿态变化情况。
摘要:针对人脸姿态估计往往存在姿态解不稳定和不能唯一确定人脸三维空间姿态的缺陷,准确提取人脸特征点及进行相应特征点深度值估计后,以人脸的多个特征点建立人脸模型,并利用人脸特征点近似估计人脸姿态,通过改进的BFGS(Broyden-Fletch-er-Goldfarb-Shanno)算法精确估计三维人脸空间姿态。实验结果表明,该方法不仅可以获得稳定和唯一的3D人脸空间姿态,而且与同类方法比较具有良好的姿态估计精度。
关键词:人脸姿态估计,多点模型,特征点,BFGS
参考文献
[1]Chen Q,Wu H,Shimada T.A robust algorithm for 3D head pose esti-mation[C]//Proceedings of IEEE International Conference on Multi-media Computing and Systems.Nara,1999:697-702.
[2]Bruske J,Abraham Mumm E,Pauli J,et al.Head pose estimationfrom facial images with subspace neural networks[C]//Proceedings ofInternal Neural Networks and Brain Conference.Beijng,China,1998:528-531.
[3]Alter T D.3-D pose from 3 points using weak-Perspective[J].IEEETransactions on Pattern Analysis and Machine Intelligence,1994,16(8):802-808.
[4]Yao P.Evans G,Calway A.Using affine correspondence to estimate 3Dfacial pose[C]//Proceedings of the IEEE International Conference onImage Proceeding.Thessaloniki,The Hellenic Republic,2001,3:919-922.
[5]Mazumda Debasis R,Dutta Santanu,Mitra Soma.Automatic featuredetection of a face and recovery of its pose[C]//Communicated toJournal of IETE.Washington,USA.2003:505-511.
[6]梁国远,查红彬,刘宏.基于三维模型和仿射对应原理的人脸姿态估计方法[J].计算机学报,2005,28(5):792-800.
[7]Wan Kwork Wai,Lam Kin Man,Chong Kit.An accurate activeshape model for facial feature extraction[J].Pattern Recognition Let-ters,2005,26(12):2409-2423.
[8]王国胤,龚勋,邹建法,等.基于认知机理的三维人脸建模及应用研究[J].重庆邮电大学学报,2009,21(4):555-560.
[9]刘晓宁,周明全,耿国华.基于单张二维照片的三维姿态计算[J].计算机工程,2006,32(6):232-233.
[10]Yun Hai Xiao,Hui Juan Sun,Zhi Guo Wang.Aglobally convergentBFGS method with nonmonotone line search for non-convex minimiza-tion[J].Journal of Computational and Applied Mathematics,2009,230:95-106.
[11]Li Ying Liu,Sheng Wei Yao,Zeng Xin Wei.The global and superlin-ear convergence of a new nonmonotone MBFGS algorithm on convex ob-jective functions[J].Journal of Computational and Applied Mathemat-ics,2008,220:422-438.
基于三维模型的多姿态人脸识别 篇4
人脸识别是指计算机对检测到的人脸图像,与计算机中已存储的人脸库进行匹配后,进行相应身份认定的系统。目前对基于正面的人脸图像的识别已较为深入,也取得了不错的效果[1],尤其是基于全局特征的特征脸(PCA)方法[2]因其在正面人脸识别中识别正确率较高而备受关注,但由于该方法的实质是进行图像之间的灰度快速匹配,随着姿态变化增大、多姿态图像之间相关性减小从而识别率迅速下降。
近年来,三维人脸建模领域的研究进展和三维数据获取技术的发展为三维人脸识别提供了基础[3,4]。与二维图像相比,三维人脸数据提供了信息量更大、鲁棒性更强且与光照和头部姿态等因素无关的三维信息,因此基于三维数据的人脸识别方法有望克服目前基于图像的人脸识别方法所遇到的困难[5]。三维人脸识别的方法可以分为基于曲率的方法[6]、基于形状表征的方法[7]、基于空域信息的方法[8]和三维可变形模型的方法[9]。最近一种利用三维人脸模型投影进行2D测试图像+3D模板图像的识别模式被提出并取得一定的效果[10],但该模式需要对每个2D测试图像和模板库中的每个模型做比较,时间效率不高。本文提出了一种利用三维人脸模型匹配二维人脸图像的分层人脸识别方法,将三维人脸模型和传统人脸识别中表现良好的特征脸算法相结合,提高人脸识别对姿态的鲁棒性。
本文第1节简单介绍了三维人脸模型的获取,第2节详细描述了我们提出的基于三维人脸模型的多姿态人脸分层识别算法,2.1小节介绍了主成分分析、姿态特征脸和3D人脸模型产生2D图像的算法。2.2小节介绍了模糊姿态角判定算法和分层识别的过程,本文的实验结果及分析在第3节给出。
1 三维人脸模型的获取
三维数据获取技术可分为两大类:主动测距和被动测距。主动测距指系统主动向被测对象投射能量,然后根据所反射的能量来计算被测对象表面各点的位置信息,典型例子是结构光测距技术。目前较成熟的商业产品如Cyber Ware、Minolta公司的三维扫描仪。被动测距指系统被动接收来自于场景反射的光能量,形成光能量分布图如灰度图像,然后在分布图的基础上恢复场景的深度信息,典型例子是立体视觉技术,产品如Triclops、Shape Capture等公司的产品。
以上两类技术均可用于人脸数据的获取。尤其是主动测距技术,其对应的商业产品在人脸采集方面可达到很好的性能,如Cyber Ware公司的人脸三维扫描仪可达到小于1 mm的采集分辨力,而Minolta公司的产品Vivid 910,在快速模式下采集一个脸部曲面只需0.3 s。目前的三维数据采集设备在数据质量上己能较好满足三维人脸识别系统的要求,在采集速度上也己接近可应用程度。
密西根州立大学(MSU)利用Minolta Vivid910激光扫描仪对每个人脸从五个不同角度进行扫描,获得其对应的5个2.D模型。然后对这些2.D模型进行配准、融合、平滑等处理,形成了一个具有100个模型的三维人脸库[11]。北京工业大学(BJUT)利用Cyber Ware公司的3030RGB/PS激光扫描仪获取三维数据,并对原始三维人脸数据进行了平滑、补洞、切割以及坐标矫正等处理,建立了一个具有一定规模的三维人脸库(BJUT-3D Database)[12],为国内的三维人脸研究提供了平台。
2 基于三维人脸模型的多姿态分层人脸识别
我们提出的基于三维人脸模型的多姿态分层人脸识别算法的基本思想是首先对人脸库中的三维人脸模型向几个大的视角进行投影变换获得不同视角的2D人脸图像,然后按照不同视角进行归类形成姿态空间,对每个姿态空间中的人脸图像进行主成分分析,形成姿态特征脸。识别时首先对待匹配2D人脸图像进行姿态估计和模糊角度判定,根据估计结果在相应姿态空间进行第一次识别得到候选个体。将候选个体的三维模型向模糊角度附近进行投影,获得姿态变化的虚拟图像,将待匹配图像与虚拟图像进行匹配,匹配结果作为第二次识别的结果,识别流程如图1所示。
2.1 投影变换和姿态特征脸
二维图像可以看作是三维数据在平面上的投影,将三维模型进行旋转之后再投影可以生成不同姿态的二维图像。我们将三维模型沿y轴向逆时针分别做30º,60º和90º旋转,旋转变换见式(1),其中v为初始点的坐标向量,v′为旋转后的对应点的坐标向量,θ为旋转角度。
将旋转后的模型向X,Y平面做正投影变换,三维模型中的一点i在二维图像中的对应像素的位置由式(2)得到,其中nrows,ncols分别为二维图像的行,列分辨力。
该点在平面内对应像素点(r,c)处的纹理值为f(r,c)=fi,其中fi为第i点在三维模型中的纹理值。在投影过程中会出现三维模型中的多个点投影到X,Y平面的相同位置的情况,我们仿照自然视觉效果,取距离视点最近的点的纹理作为该点的纹理,即按照式(3)取(r,c)处的纹理值。其中z(i)为第i点的z坐标,r(i),c(i)分别表示第i点投影到二维图像中横轴位置和纵轴位置,N为三维模型中点的数量。
图2显示了BJUT三维人脸数据库一个人的三维模型及利用以上方法得到的其在不同视角下的二维投影图像。
基于PCA的人脸特征提取的思想来源于K-L变换[2],目的是通过线性变换找一组最优的单位正交向量基即主成分,用它们的线性组合来重建原样本,并使重建后的样本和原样本的误差最小。在人脸识别中,将人脸数据的协方差矩阵的特征值从大到小进行排列,选取前k个最大的特征值对应的特征向量(特征脸)的重构系数作为低维空间中的人脸特征向量,从而在低维空间中进行识别。我们将投影得到的二维图像按照投影角度分为0º,30º,60º和90º四类,对每类图像单独进行主成分分析,从而得到姿态特征脸,该过程是离线进行的,图3为30º姿态空间对应的部分特征脸图像。
2.2 姿态估计与分层识别
对待识别的人脸图像,首先利用图像相关进行姿态空间估计和姿态角度估计,取各姿态平均脸与测试图像相关系数最大的平均脸对应的姿态空间作为该测试图像的姿态空间。常用的姿态角度估计是基于人脸特征检测和分析来估计的[13],本文利用模糊数学的思想对测试图像的姿态角度进行估计,称为模糊姿态角度判断。假设对测试图像估计的最可能姿态空间为θ1和θ2,则认为该测试图像的姿态角度位于θ1和θ2之间,记测试图像属于θ1空间和θ2空间的隶属度分别为ρ1和ρ2,则测试图像的姿态角度θ可由式(4)线性估计。ρ1和ρ2应满足0≤ρ1≤1,0≤ρ2≤1并且ρ1+ρ2=1。
确定ρ1和ρ2是利用式(4)求解θ的关键,我们利用测试图像与θ1空间和θ2空间的平均脸的相关性来估计ρ1和ρ2。记测试图像和θ1空间与θ2空间的平均脸的相关系数为r1和r2,r1>r2,θ1空间与θ2空间的平均脸的相关系数记为ri,则ρ1和ρ2:
得到测试图像的姿态空间和模糊角度的估计之后,如图1所示,对测试图像在对应的姿态空间中利用PCA方法进行第一层识别,识别分类器采用基于欧式距离的最小距离分类器。当最小距离大于设定的信任距离阈值时,进入第二层识别,利用三维模型和第一层识别结果产生虚拟图像(实验中在模糊角度正负15º内以5º为步长作投影产生),对测试图像与虚拟图像进行相关性匹配,我们称为第二层识别,将相关度最大的虚拟图像作为最终的识别结果,注意我们的方法在识别人脸的同时也对测试人脸的姿态做出了估计。
3 实验结果与分析
本文从BJUT三维人脸库[12]中选取了30个人脸模型进行实验,30个模型都是中性表情,男女各15名,年龄有所变化。利用这些人脸模型和前面讨论的方法,建立了正面和3个左偏转侧面(30º,60º,90º)的姿态空间,BJUT人脸库没有提供对应的二维图像,本文利用三维模型在0∼90º内以10º为步长作旋转,将旋转之后的投影图像作为测试图像,则每个人具有左,右偏转各9幅图像和1幅正面图像共19幅测试图像,图4是实验中的部分测试图像。
表1为采用本文的模糊角度判定算法估计的角度和真实角度的比较,其中误差均值为判定的模糊角度结果与真实角度的差值的平均。结果显示本文的模糊角度判定算法对姿态子空间附近的角度判断比较准确,对姿态子空间之间的角度判断误差明显增大,主要原因是我们的算法是以隶属度与姿态子空间θ1与θ2存在线性关系的假设为前提的,而实际上它们之间并不是严格的线性映射关系。但从总体来看本文提出的模糊角度估计算法是有效的,根据判定结果可以有效的缩减姿态搜索的范围。
图5是本文对正面和左偏转测试图像的识别结果,从结果可以看出,本文的识别算法对姿态的变化具有较好的鲁棒性,经过第二层识别,识别率有所提高。实验数据也表明10º的偏转测试图像识别率不高,主要原因是10º的偏转图像与0º空间和30º空间的模板图像相似性都比较低,可以通过在10º附近增加新的姿态空间来提高识别率。表2比较了本文提出的分层识别方法中的一层首选识别、一层rank two识别、二层首选识别及总体PCA方法(未划分姿态空间)针对正面和左偏转图像的平均识别结果,结果显示了本文的方法较传统的PCA方法对姿态的变化具有较大的鲁棒性。实验中没有单独为右侧偏转人脸建立对应的姿态空间,对右侧面图像,可以采用特征检测的方法[13]初步判断其偏转方向,若为向右偏转,则生成与该图像关于y轴中线对称的虚拟图像,由于人脸的对称性质,该图像可以近似看作该人的左偏转图像,从而利用该虚拟图像作为测试图像进行识别,图6是右偏转测试图像的识别结果。
4 结论
我们设计了一个利用3D人脸模型识别姿态变化的二维人脸图像的分层人脸识别系统,实验结果表明该方法对对姿态的变化具有一定的鲁棒性,与三维可变形模型的方法[9]相比,本文方法具有不需要点对应,计算简单,计算时间短等特点,更有利于满足实时性的要求。本文的研究是利用三维模型解决非受限人脸识别的初步尝试,我们下一步将研究利用三维模型实现光照和姿态不变的识别系统和基于三维形状信息的识别算法。
志谢:
人脸姿态估计 篇5
二代身份证照的人脸识别是典型的单样本识别问题, 单样本在证件照识别问题中应用普遍。早期单样本识别主要集中在特征提取和识别算法的研究中。文献[3]提出了一种利用重构积分图来增加细长边缘的特征点数来快速描述人脸特征, 使识别率得到了提升。刘永俊等[4]人提出了位平面方法与2DMSLDA相结合的单样本识别方法。Deng等[5]在分析单样本PCA投影算法的本质后提出一种一致寻踪搜索方法, 实验表明该方法对相似人脸的区分效果较好。近年来, 越来越多的研究者开始把注意力投向了由单样本生成虚拟样本的研究中。其中, 较为典型的样本扩充方法有:陈才扣等[6]提出的窗口滑动方法, 王晓洁等[7]提出样本分块方法以达到样本扩充的目的, 然后再利用模糊理论的知识计算隶属度进行识别。文献[8]提出一种通过低采样、微量旋转、微量缩放生成多张样本。虽以上单样本生成多样本方法简单, 但由于与原样本高度相关、类内距离小, 使得识别效果提高较低, 这就需要考虑如何生成一些高质量、有一定类内差距的图像。文献[2]在分析现有生成方法的优缺点上, 提出模拟人脸三维空间内姿态变化, 通过建模和计算实现了三维空间到平面范围内的多姿态虚拟样本生成, 该方法在现有样本生成方法基础上将算法识别率又进一步提高。但方法中对模型的近似过于简化, 使得生成的虚拟样本畸变明显、真实感欠缺。本文在对上述方法进行了改进, 依据人脸结构对投影模型进行近似, 提出了一种异步旋转映射方法, 同时对映射过程出现的位移和畸变问题进行了分析和解决, 使得能生成真实感更强烈的样本。在自建二代身份证人脸库和库上进行试验来验证提出方法的有效性。
1 多姿态虚拟样本生成方法
1.1 平面简单方法虚拟图像生成
(1) 垂直镜像。该操作对图像进行对称翻转, 对减少头部旋转产生的影响具有一定的作用。由于本文样本是标准二代身份证照, 所以图像是中心对称的, 垂直镜像操作可简化绕Y轴翻转操作。
(2) 图像旋转。将图像绕几何中心整体顺时针、逆时针旋转微量角度, 模拟现实取样中人脸的倾斜、偏动。对于超出部分和空出部分进行裁剪和补白操作, 同时将尺寸变换和图像旋转相结合可以使得生成的样本更具鲁棒性。
(3) 对称变换。将原图像沿中轴分成两部分, 图像左 (右) 半部分保持不变, 右 (左) 半部分为左 (右) 半部分的镜像。这样生成的图像既较好地保持了类内距离, 又充分利用了人脸面光照不均, 因此该方法对光照改变具有很好的鲁棒性。
(4) 透视变换。文中添加了另一种方法来生成简单虚拟样本。透视变换是非线性变换, 可投影出任意形状、角度的视图。通过定义4个二维控点计算出一个3×3的映射矩阵, 然后与原图相乘再加一个向量就实现了透视映射。
图1是简单方法生成的虚拟图像, 从左到右依次是原图像、垂直镜像、右倾斜5°、左倾斜5°、放大1.2倍且右旋转2°、放大1.2倍且左旋转2°、右对称变换、左对称变换、透视变换1、透视变换2。
1.2 改进型异步旋转虚拟图像生成
文献中提出将照片中的人脸定义在三维坐标系中, 原点选取人脸的物理几何中心。假设人头在XO'Y平面形成旋转, 将人脸投影到XO'Y平面内, 投影形状近似成一个圆。那么人脸上A点在投影平面就近似为A1投影点, 定义O'A1与X轴夹角为α。假设头像旋转角度为θ, 则旋转后的点A'1与A1的夹角∠A1O'A1, A'1与X轴的夹角为∠XO'A'1=α-β旋转示意图如图2所示。
根据已知条件, A1点像素的坐标 (X, Y') 是已知的, 给定旋转角度θ, 根据旋转不变性便可列出两个方程组, 可解得两个未知量α, 消去未知量, 就得到了X'值的计算公式。
经化简, 消去α便可得出头像在XOY平面内转动的坐标变换, 新位置如下
定义新位置的像素值为原像素的灰度值, 旋转映射过程中出现像素点的不连续问题用近邻插值的方法进行插值补齐。该方法具有操作简单, 生成多姿态图像速度快等优点, 生成的图像具有一定的姿态旋转效果, 但从直观上来看, 生成的效果并不理想, 尤其是旋转角度较大时图像失真和畸变比较明显。文献中只将人脸图像的投影圆直径简单的定义为图像的水平尺寸, 这将导致实际旋转幅度偏大, 且体现不了人脸各个部位实际转动中线速度的不一致问题, 所以导致旋转合成出来的图像的立体旋转感不强, 而且大部分作用力使得图像整体位置偏移图片几何中心。因此本文在该文献的基础上进行研究, 对该方法提出了改进, 提出了一种改进型的异步旋转坐标变换, 且针对不同方向的姿态旋转采用不同像素扫描顺序。首先对图像进行行扫描, 统计出每行上非背景颜色的像素数, 作为该行的人脸的投影圆直径, 保存在以行地址索引的数组中。在接下来的位置投影中, 对每一行的目标像素进行变线速度的投影变换, 这样人脸上不同直径圆上的点就能以不同的线速度旋转, 模拟了真实人脸旋转中的多峰性旋转。同时为了消除旋转的中存在一部分旋转力转化为像素平移力的现象以及旋转角度固定导致图像生成之后人脸沿中轴线发生扭曲, 因此本文根据旋转方向的不同分别对左右半面每个像素点乘以不同的旋转因子, 取值根据旋转角度和每行人脸直径决定。具体用旋转角度和人脸行直径的比值作为步长对左半面进行递增, 到达中轴线再依次递减, 分别对像素点乘以对应因子, 实验表明步进值取在范围[0.01, 0.03]之间效果较好。图像垂直方向变换同理, 不过为了突出低头和抬头的姿势增加了积分变换, 结果令人意外的是同时获得了轻微表情, 使得抬头时人脸产生难过、抑郁的表情, 低头时有微笑、喜悦之神, 这将使得训练结果对部分表情也有一定的鲁棒性, 最后同时结合以上两中情况生成复杂姿态变化的图像, 生成的虚拟图像效果如图3所示。
图3生成图像从左到右依次是左旋转5°、右旋转7°、上仰8°、下俯8°、左旋转7°并上仰6°、右旋转5°并低头5°。从直观上可看出, 生成的虚拟图像真实感较好, 且保持了一定的姿态旋转, 人脸整体仍处于居中位置。为了测试本文提出方法的人脸识别效果, 本文选择2DPCA方法提取特征训练样本的特征值, 用最近邻分类法进行分类识别。
2 特征提取与分类
在子空间方法中基于主成分分析 (PCA) 的方法较为常用, 该方法的基本思想就是用正交变换将图像转换为一维向量, 这样得到的向量维度非常高, 计算量大, 而且丢失部分结构信息[9]。而二维主成分分析 (2DPCA) 的方法, 是对图像矩阵直接进行协方差矩阵的计算, 无需将图像转化为一维向量[10]。因此本文选择2DPCA提取特征。
设输入图像A为M×N矩阵, X表示N维的单位列向量, 那么将A投影到X向量的线性变换如下所示
得到一个M维的投影向量Y, 称为A的投影特征向量。投影特征向量的总体散布矩阵刻画了投影向量X的分类能力。因此, 为使总体散布矩阵最大化, 等价于找到使投影特征向量的协方差矩阵的迹最大化的投影向量X, 这个X称为最优投影轴。标准函数如下
式中, Sx表示Y的协方差矩阵;tr (Sx) 表示Sx的迹, 用J (x) 表示。则Sx表示为
定义图像散布矩阵G
假设有M个人脸训练图像, 第j个训练图像定义为矩阵Aj, 所有图像的均值为, 则G可由下式计算得出
则式 (4) 就变为
最大化该标准函数得到的投影特征向量X就是最优投影轴, 而X就是散布矩阵G的最大特征值对应的特征向量, 通常一个投影方向是不够的, 文中取前d个使J (X) 最大化的特征值对应的标准正交化特征向量{X1, X2, …, Xd}, d满足以下条件
其中, λi是G的特征值, 通常θ≥0.9。经以上的计算就得到Y=[Y1, Y2, …, Yd]称为最优投影轴。最后, 2DPCA的特征提取过程是
分类方法本文选择了最经典的最近邻分类法, 最近邻分类器计算待分类的样本到各个已知类别的中心的距离, 将训练集中的每一个样本作为判别依据, 寻找距离待分类样本最近的训练集中的样本, 以此为依据来分类。
假设有N个训练样本{X1, X2, …, X3}分别属于M个模式类, 定义待分类的第i个样本Xi到训练样本Xj的欧式距离为
若存在
且Xk∈ωt, 则最近邻分类器的分类决策为Xk∈ωt。可证明最近邻分类器的分类错误率为
其中, P*是最小贝叶斯错误率分类器;C是模式类别数。
3 实验分析
为验证本文所提方法的有效性, 分别在自建二代身份证照库和YALE人脸库中进行试验。本文从每个人中挑选正面标准照作为输入样本, 用本文中的方法共生成15张虚拟图像, 加上原样本一共16张作为训练样本, 然后再用2DPCA进行特征提取, 用最近邻分类器进行分类识别。实验中分别对单样本、简单方法生成样本、文献虚拟样本生成、本文改进方法生成图像进行单独实验, 从而来对实验方法进行充分的比较。
自建身份证照库通过二代身份证读卡器得到36张不同人的身份证照, 分别进行相应的预处理和归一化, 通过虚拟图像生成技术共得到576张作为训练样本。同时拍摄每个人不同光照、姿态、表情的图像8张用作测试样本。实验结果如表1所示。
YALE人脸数据库是由耶鲁大学计算机视觉与控制中心建立的[11], 包含15个人的165张不同姿态、光照、表情的人脸图像, 是人脸识别研究领域中中常用的标准人脸数据库。其中, 每个人有11张照片, 选择其中一张用于训练样本, 其余10张用作测试样本。该方法的实验数据如表2所示。
实验结果表明, 本文提出的方法较原方法人脸识别率得到了有效提高, 尤其是正面证件照, 识别效果最佳, 对于有光照和姿态变化的人脸识别率也得到了明显提升, 但对于带表情的样本识别率不是很高, 这主要是由于生成虚拟图像时没有对表情的虚拟, 这也是下一步的工作重点。总之, 综合识别率较单样本、简单方法、原方法都得到了明显提高。
4 结束语
对于单样本识别问题, 本文从训练样本集出发通过各种方法来生成多姿态虚拟样本, 将特殊单样本问题转化为一般模式识别问题。在文献[2]的基础上的对空间人脸姿态旋转问题进行研究, 分析了原方法中的不足和存在的问题, 提出的一种改进型异步旋转人脸映射方法, 针对人脸不同位置进行不同的线速度旋转, 变速依据人脸行直径统计值, 同时为了消除旋转力一部分转化为位移力, 在变换中引入旋转因子, 旋转因子与旋转角度和行直径值有关, 因此因人而异。最后, 通过在不同数据库上进行试验, 可以看出改进型方法识别率比原方法提高不少, 对带有轻微光照、表情、姿态变化的图像具有较好的鲁棒性。接下来进一步的研究将考虑如何增加类间虚拟图像。
摘要:研究单样本如何转化为普通模式识别问题, 在平面范围内通过简单二维变换操作生成多张不同的虚拟图像, 同时考虑三维空间内人脸姿态问题, 在二维平面内映射三维运动, 生成具有真实感的多姿态人脸图像。并分析了目前文献中相关方法存在的不足, 在已有方法的基础上提出一种改进型异步旋转映射方法。实验结果表明, 生成的图像具有姿态旋转、畸变率少、真实感好, 且识别率较原方法得到了有效提高。