具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
线性判别分析(Linear Discriminant Analysis,简称:LDA)方法是对不同类的高维样本(设为d维,d>>1,d为整数)进行监督的线性降维方法,通过寻找一个低维的线性子空间,使不同类的样本在该线性子空间上投影的类内样本分布更紧密、类间样本散布得更分散,以便于对高维样本进行识别和分类。
本发明实施例所述的三维平均脸样本是通过标定已有的3D人脸数据库中的人脸样本的人脸特征点,获取人脸特征点坐标,通过将人脸特征点坐标进行旋转、平移、缩放归一化到统一的坐标系下后对3D坐标求均值建立的特征点模型。
图1为本发明人脸姿态参数获取方法一个实施例的流程示意图,如图1所示,本实施例包括如下步骤:
步骤101、检测二维图像内的人脸所在的矩形区域。
步骤102、将矩形区域内的人脸根据与姿态识别基相对应的第一基准角度进行分类,得到人脸的第二基准角度。
步骤103、根据与第二基准角度相对应的纹理系数和形状系数提取矩形区域内的人脸的二维特征点。
步骤104、通过二维特征点和三维平均脸样本的二维投影点获取矩形区域内的第一人脸姿态参数。
本发明实施例提供的人脸姿态参数获取方法,通过姿态识别基相对应的第一基准角度计算得到第二基准角度,获取到矩形区域内的人脸的初始粗略估计的第二基准角度;根据与第二基准角度相对应的纹理系数和形状系数提取出精度较高的矩形区域内的人脸的二维特征点;由精度较高的二维特征点与三维平均脸样本的二维投影点获取第一人脸姿态参数,提高了获取到的人脸姿态参数的精度。
图2为本发明人脸姿态参数获取方法又一个实施例的流程示意图,图3为图2所示实施例三维平均脸的头部坐标系示意图,图4为图2所示实施例步骤205中标定的人脸特征点示意图,图5为图2所示实施例步骤206中三维平均人脸的二维投影点的示意图,图6为图2所示实施例步骤207中第一外接矩形的示意图,图7为图2所示实施例步骤209中调整朝向和尺度后的第一外接矩形和第二外接矩形的示意图。
在图2~图7所示的实施例中,需要建立目标函数
其中,U为弱透视相机模型,
s为缩放因子,X
i为三维平均脸样本以正视姿态呈现时在三维空间中第i个特征点的坐标向量,d
i为提取到的矩形区域内的人脸第i个二维特征点的坐标向量,t是平移向量,R是三维旋转矩阵,并且有
为了使三维平均脸的投影特征点尽可能逼近矩形区域内的人脸的二维特征点,需要使三维平均脸的N个投影特征点通过旋转、投影、缩放、平移之后与矩形区域内的人脸的二维特征点的距离尽可能小,使各个二维特征点满足sURXi+t→di,此时,获取到的平移向量t、缩放因子s、以及第一偏转角度α、第二偏转角度β、第三偏转角度γ形成图2所示实施例中的第一人脸姿态参数。如图3所示,在三维平均脸的头部坐标系中,第一偏转角度α、第二偏转角度β、第三偏转角度γ分别表示绕X、Y、Z轴的旋转角度。
如图2所示,本实施例包括如下步骤:
步骤201、检测二维图像内的人脸所在的矩形区域。
步骤202、将矩形区域缩放成与姿态识别基相同的维数后展开成列向量。
步骤203、将列向量在姿态识别基上投影,得到列向量的投影值。
步骤204、将投影值与第一基准角度的投影值进行最邻近判决,得到人脸的第二基准角度。
步骤205、根据与第二基准角度相对应的纹理系数和形状系数提取矩形区域内的人脸的二维特征点。
步骤206、平移二维特征点的集合形成的第一点集,使第一点集的质心与三维平均脸样本的二维投影点的集合形成的第二点集的质心重合,并获取第一点集的平移向量。
步骤207、旋转第一点集的第一外接矩形,使第一外接矩形与第二点集的第二外接矩形的偏转角度一致,并获取第三偏转角度。
步骤208、获取第一外接矩形与第二外接矩形的缩放因子。
步骤209、调整第一外接矩形与第二外接矩形,使第一外接矩形的第三偏转角度和尺度与第二外接矩形的第三偏转角度和尺度一致。
步骤210、获取使得第一点集内的二维特征点与可调整的相对应的第二点集内的二维特征点的距离的平方和最小时所对应的第一偏转角度和第二偏转角度;将第一偏转角度、第二偏转角度、第三偏转角度、缩放因子、平移向量作为矩形区域内的第一人脸姿态参数。
步骤211、将第一人脸姿态参数作为初始值根据LM方法获取第二人脸姿态参数,其中,第二人脸姿态参数的精度高于第一人脸姿态参数的精度。
上述步骤201中,若输入图像中存在人脸,则执行步骤202,若输入图像中不存在人脸,则停止后续步骤的执行。具体地,可以采用Paul Viola和Michael Jones于2001年提出的基于AdaBoost的人脸检测方法实现检测输入图像中的人脸所在的矩形区域。AdaBoost人脸检测方法通过组合大量的简单分类器实现人脸的检测,由于每个简单分类器均具有较快的计算速度,因此可进一步提高人脸姿态识别的速度。
上述步骤202中,姿态识别基可以通过以下方法获取:将N(N为整数)幅二维人脸图像按行序或者列序排列成列向量x
i∈R
d,i=1,2,...N。此时,一幅二维人脸图像对应高维空间中的一个样本。假设N幅二维人脸图像所对应的样本存在c(c为整数)类具有相同的人脸姿态,每类有N
i个样本,则有总均值
各类均值
(i=1,2,...,c),类内散布矩阵
类间散布矩阵
进一步地,构成LDA子空间的姿态识别基
可由广义特征分解S
bw
i=λ
iS
ww
i,(i=1,2,...,m)得到。通过计算
的特征值,选择非0的m个特征值(m<c-1,取特征值最大的前m个特征值,m为整数)对应的特征向量组成一个LDA的姿态识别基W
LDA,在对样本进行训练和识别时,每一个输入的d维特征点矢量x
i可以转换为m维的新的特征向量y
i=W
LDAx
i。也可以采用基于主成分分析(Principal Components Analysis,简称:PCA)、独立成分分析(Independent Components Analysis,简称:ICA)等方法获取姿态识别基。
根据上述姿态识别基的获取方法将二维人脸图像在摇摆、俯仰、平面内旋转三个方向上每隔设定的角度组合训练一个LDA姿态识别基,将矩形区域缩放成与LDA姿态识别基相同的维数后展开成列向量。本实施例中,设定的角度可以较佳地为10度,即在摇摆、俯仰、平面内旋转三个方向上每隔10度组合训练一个LDA姿态识别基。
上述步骤203中,将列向量投影到LDA子空间中相对应的姿态识别基WLDA上得到列向量的投影值。
上述步骤204中,第一基准角度为人脸样本在摇摆、俯仰、平面内旋转三个方向已训练的各角度的范围。通过将投影值与第一基准角度相对应的投影值做最邻近判决,得到人脸的第二基准角度,该第二基准角度为矩形区域内的人脸姿态参数的初始粗略估计。
由于上述步骤202中的LDA姿态识别基是二维人脸图像在摇摆、俯仰、平面内旋转三个方向上的不同角度组合训练得到的,因此当矩形区域内的人脸在摇摆、俯仰、平面内旋转角度小于45度时,步骤204可仍以获取到精度较高的第二基准角度,从而可以根据精度较高的第二基准角度获取到精度较高的第一人脸姿态参数。
上述步骤205中,纹理系数和形状系数可以通过如下方法获取:假设
表示具有N幅二维人脸图像的训练集,其中,
表示第t个二维人脸图像中的人脸上的v个特征点坐标矢量,S
t∈R
2v。如图4所示,标定的二维人脸图像中的人脸上的特征点为能够反映人脸的面部特征的点,如眼角、嘴角、鼻尖、鼻翼角点、以及脸部轮廓等。通过主分量分析(Principal Component Analysis,简称:PCA)方法对二维人脸图像的形状建模可以得到
其中S
0表示平均形状矢量,ξ=[S
1,S
2,K,S
m]为形状的PCA基。设形状矢量S
t所围成的区域为U
t,A
t为区域内的所有特征点变形到平均形状所围成的区域U
0上所得到的纹理图像,可以采用图像形变(image warping)的方法实现。对于纹理A
t有
其中,A
0是平均形状下的平均纹理图像,A
i是纹理的PCA的基,
和
分别为第t个人脸图像的形状系数和纹理系数,表示为矢量
通过上述方法获取到本实施例中的形状系数p和纹理系数q,对于矩形区域内的人脸,使与形状系数p和纹理系数q有关的目标函数最小化,则有
其中,A
0(x)和
可以重建出形状S,假设形状S围成的区域为U,W(x|p)表示区域U
0上的所有特征点形变(warping)到区域U后的坐标。通过投射(Project-Out)方法先在纹理基的正交补空间上迭代形状系数p,由于补空间的基和纹理基正交,此时,等式
中的
为零,因此代价函数可以简化为
其中,
为纹理基的补空间。在满足矩形区域内的人脸与理想的输入图像中矩形区域的人脸之间的误差最小的情况下得到精度较高的二维特征点。
上述步骤206中,三维平均脸样本的二维投影点的集合形成第二点集P′={d′i|i=1,...,N},其中,d′i为三维平均脸样本投影后的第i个特征点的坐标向量,如图5所示,“○”表示第二点集内的二维投影点,“虚线矩形”表示第二点集的第二外接矩形r′,该第二外接矩形r′能够将第二点集内的二维投影点全部包括在矩形区域内,第二点集是三维平均脸的二维投影点在正视视图时的二维投影点,由于已经对三维平均脸的坐标向量模进行了归一化操作,因此图5所示的坐标系只反映二维投影点的相对尺度,并不反映二维投影点真实的坐标值,并且相对尺度与真实尺度存在一个缩放比例关系。
矩形区域内的人脸的二维特征点的集合形成第一点集P={di|i=1,...,N},其中,di为偏转投影后的第i个二维特征点的坐标向量,平移第一点集P={di|i=1,...,N},使第一点集P={di|i=1,...,N}的质心与第二点集P={d′i|i=1,...,N}的质心重合,计算得到第一点集P={di|i=1,...,N}的平移向量t。
上述步骤207中,第一外接矩形r如图6所示,该第一外接矩形r能够将第一点集内的二维特征点全部包括在矩形区域内,“+”表示第一点集中的二维特征点,“点线矩形”表示第一点集的第一外接矩形r,由于图6所示的坐标系只反映二维特征点的相对尺度,因此不反映二维特征点真实尺度的坐标值,并且相对尺度与真实尺度存在一个缩放比例关系。旋转第一点集P={di|i=1,...,N}的第一外接矩形r,使第一外接矩形r与第二点集P′={d′i|i=1,...,N}的第二外接矩形r′的偏转角度一致,从而得到第一外接矩形r的第三偏转角度γ。
上述步骤208中,计算得到第一外接矩形r的长边与第二外接矩形r′的长边的比值,将该比值作为缩放因子s。
上述步骤209中,调整第一外接矩形r,使第一外接矩形r的第三偏转角度和尺度与第二外接矩形r′的第三偏转角度和尺度一致,调整后的第一外接矩形r和第二外接矩形r′如图7所示,“○”表示第二点集内的二维投影点,“+”表示第一点集中的二维特征点,“虚线矩形”表示的第二点集的第二外接矩形r′与“点线矩形”表示的第一点集的第一外接矩形r偏转角度一致。本实施例能够使三维平均脸的二维投影点充分地逼近矩形区域内的二维特征点。在具体实施时,需要计算出使第二外接矩形r′的长边与第一外接矩形r的长边方向一致所需的旋转角度,由于存在两个符合的旋转方向,并且该两个旋转方向相差180°,可以采用以眼睛在矩形中的位置为参考获取到正确的旋转角度。较佳地,当第一外接矩形r和第二外接矩形r′中的任一个为正方形时,位于人脸的眉毛区域的第一点集P内的二维特征点和第二点集P′内的二维投影点可以不参与计算,由此可以避免矩形退化为正方形时长边方向计算的不确定性并减少计算量。
上述步骤210中,计算第二点集P′={d′
i|i=1,...,N}和第一点集P={d
i|i=1,...,N}之间的距离值
获取距离值D中最小距离值D
min,则得到与D
min对应的第一偏转角度α和第二偏转角度β。
上述步骤211中,将第一人脸姿态参数中的平移向量t、缩放因子s、以及第一偏转角度α、第二偏转角度β、第三偏转角度γ作为初始值根据LM方法获取第二人脸姿态参数。由于第一人脸姿态参数经过LM方法的迭代运算,因此第二人脸姿态参数的精度高于第一人脸姿态参数的精度。
本发明实施例提供的人脸姿态参数获取方法,通过姿态识别基相对应的第一基准角度计算得到粗略的第二基准角度,获取到矩形区域内的人脸的初始粗略估计的第二基准角度;根据与第二基准角度相对应的纹理系数和形状系数提取出精度较高的矩形区域内的人脸的二维特征点;由精度较高的二维特征点与三维平均脸样本的二维投影点获取到第一人脸姿态参数;为进一步获取精度更高的人脸姿态参数,将第一人脸姿态参数作为初始值,根据LM方法进行迭代进一步获取到比第一人脸姿态参数精度更高的第二人脸姿态参数,提高了获取到的人脸姿态识别参数的精度。
图8为本发明人脸姿态参数获取装置一个实施例的结构示意图,如图8所示,本发明实施例包括:检测模块81、分类模块82、提取模块83、第一获取模块84。
其中,检测模块81检测二维图像内的人脸所在的矩形区域;分类模块82将检测模块81检测到的矩形区域内的人脸根据与姿态识别基相对应的第一基准角度进行分类,得到人脸的第二基准角度;提取模块83根据与分类模块82得到的第二基准角度相对应的纹理系数和形状系数提取矩形区域内的人脸的二维特征点;第一获取模块84通过提取模块83提取到的二维特征点和三维平均脸样本的二维投影点获取所述矩形区域内的第一人脸姿态参数。
本发明实施例提供的人脸姿态参数获取装置,分类模块82通过姿态识别基相对应的第一基准角度计算得到第二基准角度,获取到矩形区域内的人脸的较粗略第二基准角度;提取模块83根据与第二基准角度相对应的纹理系数和形状系数提取出精度较高的矩形区域内的人脸的二维特征点;第一获取模块84由精度较高的二维特征点与三位平均脸样本的二维投影点获取第一人脸姿态参数,提高了获取到的人脸姿态参数的精度。
图9为本发明人脸姿态参数获取装置又一个实施例的结构示意图,如图9所示,本发明实施例包括:检测模块91、分类模块92、提取模块93、第一获取模块94、第二获取模块95。
其中,检测模块91检测二维图像内的人脸所在的矩形区域;分类模块92将检测模块91检测到的矩形区域内的人脸根据与姿态识别基相对应的第一基准角度进行分类,得到人脸的第二基准角度;提取模块93根据与分类模块92得到的第二基准角度相对应的纹理系数和形状系数提取矩形区域内的人脸的二维特征点;第一获取模块94通过提取模块93提取到的二维特征点和三维平均脸样本的二维投影点获取所述矩形区域内的第一人脸姿态参数;第二获取模块95将第一获取模块94获取到的第一人脸姿态参数作为初始值根据LM方法获取第二人脸姿态参数,其中,第二人脸姿态参数的精度高于第一人脸姿态参数的精度。
进一步地,分类模块92还可以包括:展开单元921、投影单元922、判决单元923。其中,展开单元921将矩形区域缩放成与姿态识别基相同的维数后展开成列向量;投影单元922将列向量在姿态识别基上投影,得到列向量的投影值;判决单元923将投影值与第一基准角度的投影值进行最邻近判决,得到人脸的第二基准角度。
进一步地,第一获取模块94还可以包括:平移单元941、旋转单元942、第一获取单元943、调整单元944、第二获取单元945。其中,平移单元941平移二维特征点的集合形成的第一点集,使第一点集的质心与三维平均脸样本的二维投影点的集合形成的第二点集的质心重合,并获取第一点集的平移向量;旋转单元942旋转第一点集的第一外接矩形,使第一外接矩形与第二点集的第二矩形的偏转角度一致,并获取第三偏转角度;第一获取单元943获取第一外接矩形与第二外接矩形的缩放因子;调整单元944调整第一外接矩形,使第一外接矩形的第三偏转角度和尺度与第二外接矩形的第三偏转角度和尺度一致;第二获取单元945获取使得第一点集内的二维特征点与可调整偏转角度的相对应的第二点集内的二维特征点的距离的平方和最小时所对应的第一偏转角度和第二偏转角度。
进一步地,旋转单元942还可以包括:第一获取子单元、计算子单元、第二获取子单元。其中,第一获取子单元获取第一外接矩形中长边的第一倾斜角度,以及获取第二外接矩形中长边的第二倾斜角度;计算子单元计算第一倾斜角度与第二倾斜角度的差值;第二获取子单元根据差值获取第三偏转角度。
本发明实施例提供的人脸姿态参数获取装置,分类模块92通过姿态识别基相对应的第一基准角度计算得到粗略的第二基准角度,获取到矩形区域内的人脸的初始粗略估计的第二基准角度;提取模块93根据与第二基准角度相对应的纹理系数和形状系数提取出精度较高的矩形区域内的人脸的二维特征点;第一获取模块94由精度较高的二维特征点与三维平均脸样本的二维投影点获取到第一人脸姿态参数;为进一步获取精度较高的人脸姿态参数,第二获取模块95将第一人脸姿态参数作为初始值,根据LM方法进行迭代进一步获取到比第一人脸姿态参数精度较高的第二人脸姿态参数,提高了获取到的人脸姿态识别参数的精度。
本发明人脸姿态参数获取装置实施例中所提供各个单元之间的交互及相关信息均可以参考前述各个方法实施例所提供的流程,具体功能和处理流程请参见前述各实施例,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本发明方法实施例和装置实施例可以适用于视频图像处理中,尤其视频图像中的人脸仅有单一方向大范围偏转。本发明实施例还可以对其它固定形态的物体进行姿态参数估计。此外,本发明装置实施例还可以安装在驾驶室的合适位置用于监督驾驶员,通过检测驾驶员的姿态可以判断出驾驶员是否集中精神驾驶,是否在左顾右盼,是否已经疲劳驾驶,是否张望幅度太大。本发明实施例还可以利用人脸姿态进行电子地图的导航,或者可以利用人脸姿态参数控制轮椅的前进方向。利用精确的姿态参数估计可以近似得到输入人脸的三维特征点,从而能够部分用于人脸的三维建模及人脸卡通化夸张、人脸动画等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。