一种基于标记分布的头部姿态估计方法
【专利摘要】本发明公开了一种基于标记分布的头部姿态估计方法,步骤为:(1)获取用于训练的人脸图像的图像集并裁剪人脸图像使其只剩下人脸部分;(2)将所有裁剪后的人脸图像缩放到统一的分辨率;(3)提取图像特征向量;(4)收集每幅图像的类别信息,根据该类别信息,给予每幅图像一个标记分布;(5)根据头部姿态类别信息,赋予每个类别一个平滑权重向量;(6)使用图像特征向量及其标记分布训练模型,将最大熵模型与Jeffrey散度以及步骤S5中的平滑权重向量结合起来作为目标函数,并对该目标函数进行优化;(7)将待估计头部姿态的图像的特征向量送入训练出来的模型,从而计算出该图像的头部姿态。
【专利说明】一种基于标记分布的头部姿态估计方法
【技术领域】
[0001]本发明涉及模式识别、计算机视觉和机器学习,特别涉及标记分布学习和头部姿态估计。
【背景技术】
[0002]头部姿态估计是根据一幅人脸图像,估计出该图像中头部的偏转角度。头部姿态估计主要在两个方面有着十分重要的应用:(1)人机交互,智能机器通过估计头部姿态以及相邻时刻头部姿态的变化自动地做出不同的决策和操作(如:人通过头部的动作控制鼠标光标的移动,人通过头部姿态的变化向计算机下达命令);(2)为其他计算机视觉问题提供重要的预处理操作,人脸识别、人脸表情识别等计算机视觉问题需要提前知道头部的姿态,因此头部姿态估计精度的提升对其他计算机视觉问题的解决也有十分重要的意义。
[0003]我们提出的基于标记分布的头部姿态估计方法(如图1),在训练阶段使用一个标记分布(用向量表示)表示所有类别对该图像的描述程度,向量里的每一个元素表示对应类别对该图像的描述程度,称为描述度。如图3中,假设总共有五个类别(yl,i2, y3, y4, y5),如果一幅图像属于y3,训练中我们使用的类别信息并不是y3这个孤立的类别信息,而是生成一个标记分布[P (yl),P (y2),P (y3),P (y4),P (y5)]作为类别信息(注:标记分布向量中所有元素均大于等于O、小于等于1,且总和为I)。这样可以将更完整的类别信息用来训练模型。我们还考虑了头部姿态(类别)之间的相似性信息(如:我们普遍认为,同一个人的人脸图像中0°与1°的图像比0°与15。的图像更相似),利用这种相似性信息使头部姿态估计效果进一步提升。
[0004]在对目标函数进行优化的时候,我们使用了 Ι-bfgs算法(具体可参考:Dong C.Liu and Jorge Nocedalj〃0n the limited memory BFGS method for largeseal eoptimizat ion, "Mathematical Programming,45 (1-3),PP: 503-528,1989.),使训练参数模型的时候速度快、占用内存少,特别适合目标函数中待优化参数特别多(大于10000)的情况。
【发明内容】
[0005]本发明的目的是提供一种新的头部姿态估计方法(如图1),该方法对头部姿态估计的精度已经大幅超过人类的估计水平(在本文的“【具体实施方式】”部分会更详细解释这一点)。本发明的技术方案为:一种基于类别分布的头部姿态估计方法,包括以下步骤:
[0006]步骤SI,获取用于训练的头部姿态的图像集,将图像集中的每幅图像的人脸部分裁剪出来,裁剪掉头发、脖子、背景等部分,使图像中只剩下人脸;
[0007]步骤S2,将图像集中的所有图像缩放到统一大小的分辨率(如:32X32像素);
[0008]步骤S3,使用梯度直方图方法(具体可参考:N.Dalai and B.Triggs, "Histogramsof oriented gradients for human detection, 〃IEEE Computer Society Conference onComputer Vision and Pattern Recognition, PP:886-893, San Diego, USA, 2005.)从步骤S2中缩放后的图像中提取出图像特征向量;
[0009]步骤S4,收集每幅图像正确的类别(头部姿态)信息,根据每幅图像的类别信息以及类别之间的关系(头部姿态类别差异可以量化,如:-90°与90°之间相差180°,0°与15°之间相差15° ),给予每幅图像一个标记分布(如图3);
[0010]步骤S5,根据头部姿态的类别之间的关系,赋予每个类别一个平滑权重向量,如图4中(实线表示使用步骤S4计算出来的标记分布,P (yi)是该向量中类别Ji对应的描述度,虚线表示使用模型预测出来的标记分布,f (Yi)表示类别Ji对应的描述度,类别yg和类别yi+1是类别Ji相邻的类别),计算真实的标记分布向量中P(Yi)与模型估计出来的标记分布向量中f(yi)差异时,同时考虑进P(yi)与以及f(yi+1)的差异;
[0011]步骤S6,使用图像特征向量及其标记分布作为训练集,将最大熵模型(具体可参考:A.Berger, V.Pietra and S.Pietra, 〃A Maximum Entropy Approach to NaturalLanguage Processing,"Computational Linguistics, 22(I),PP:39-71,1996.) 与Jeffrey 散度(具体可参考:Jeffrey L.Thorne and Hirohisa Kishino, "DivergenceTime and Evolutionary Rate Estimation with Multilocus Data, "SystematicBiology, 51 (5), PP: 689-702, 2002.)以及步骤S5中的平滑权重向量结合起来作为目标函数,使用 l_bfgs 算法(具体可参考:Dong C.Liu and Jorge Nocedal, 〃0n the limitedmemory BFGS method for large scale optimization, "Mathematical Programming, 45(1-3), PP:503-528, 1989.)优化该目标函数,得到可以用于头部姿态估计的参数模型;
[0012]步骤S7,将待估计头部姿态的图像经过步骤SI中的裁剪,然后使用步骤S2、S3中的方法提取出图像的特征向量,接着使用步骤S6中训练出来的参数模型计算得到一个向量,表示各个类别对该图像的描述度,选择该向量中最大的描述度对应的类别作为该图像的头部姿态。
[0013]根据本发明的方法,可以快速、有效地训练出用于头部姿态估计的模型。利用该方法对新的人脸图像进行头部姿态估计,其准确率大幅超过了人类的估计水平。利用该方法进行头部姿态估计,速度快、占用内存小,甚至可以达到实时的效果。
【专利附图】
【附图说明】
[0014]图1是基于标记分布的头部姿态估计方法的流程图。
[0015]图2是头部姿态图像示例。
[0016]图3是标记分布示例。
[0017]图4是平滑向量示例。
[0018]图5是邻居类别示例。
【具体实施方式】
[0019]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0020]步骤SI,获取用于训练的头部姿态的图像集,将图像集中的每幅图像的人脸部分裁剪出来,裁剪掉头发、脖子、背景等部分,使图像中只剩下人脸;
[0021]在该步骤中,可以借助于目前的多视角人脸检测技术完成,也可手工完成,只保留脸部轮廓及其轮廓以内的信息即可,人脸轮廓以外的信息都可以裁剪掉;
[0022]步骤S2,将图像集中的所有图像缩放到统一大小的分辨率(如:32X32像素,也可以是其它分辨率,但一般不低于此分辨率);
[0023]步骤S3,使用梯度直方图方法从步骤S2中缩放后的图像中提取出图像特征向量;
[0024]在该步骤中,从图像集合中提取出图像特征{Qif=i。其中,N表示图像集合
中样本个数,Ii表示第i个样本的图像,Qi表示第i个样本的特征。提取梯度直方图特征时,需要设置每个bin的大小作为参数(具体可参考:N.Dalai and B.Triggs, "Histogramsof oriented gradients for human detection, 〃IEEE Computer Society Conference onComputer Vision and Pattern Recognition, PP:886-893, San Diego, USA, 2005.),这个参
数往往需要调试确定。
[0025]步骤S4,收集每幅图像对应的类别信息、Pi,根据每幅图像的类别信息以
及类别之间的关系(头部姿态类别差异可以量化,如:-90°与90°之间相差180°,0°与15。之间相差15° ),给予每幅图像一个标记分布Yi (如图3);
[0026]在该步骤中,yi表示每个样本图像的类别(由于头部姿态最多可以有三个自由度,因此Ji有可能是一个2维或者3维的向量,也有可能是标量),根据所有图像的类别信息可以在类别空间中得到类别集合L=(L1; L2,…,Lm},M表示类别空间中类别的个数,Lj可能是一个二维向量或者三维向量,也可能是标量(由图像集决定)。令Pij = A(Lj),其中fi〇表
示以Yi为均值向量,Σ为协方差矩阵的多维高斯密度函数,得到
【权利要求】
1.一种基于标记分布的头部姿态估计方法,其特征在于,包括如下步骤: 步骤Si,获取用于训练的头部姿态的图像集,将图像集中的每幅图像的人脸部分裁剪出来,裁剪掉头发、脖子、背景等部分,使图像中只剩下人脸; 步骤S2,将步骤SI中得到的所有图像缩放到统一大小的分辨率; 步骤S3,从步骤S2中得到的所有图像中提取特征向量; 步骤S4,收集每幅图像对应的类别信息,根据每幅图像的类别信息以及类别之间的关系,给予每幅图像一个标记分布,所述标记分布用向量表示; 步骤S5,根据所述图像的类别信息,赋予每个类别一个平滑权重向量,相邻类别赋予比较大的权重,相距较远的赋予较小权重,甚至可以是O ; 步骤S6,使用图像特征向量及其标记分布作为训练集,将最大熵模型与Jeffrey散度以及步骤S5中的平滑权重向量结合起来作为目标函数,对该目标函数进行优化,训练得到可以用于头部姿态估计的参数模型; 步骤S7,将待进行头部姿态估计的图像经过步骤SI中的裁剪人脸,然后使用步骤S2、S3中的方法提取出图像的特征向量,接着使用步骤S6中训练出来的参数模型计算得到一个向量,所述向量表示各个类别对该图像的描述度,选择所述向量中最大的描述度对应的类别作为该图像的头部姿态。
2.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S5中计算出的平滑权重向量以权重的形式引入到步骤S6的训练中。
3.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S4中,给予每幅图像一个标记分布向量,将标记分布向量作为训练中所需的图像的类别信息。
4.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S6中,使用最大熵模型作为头部姿态估计的参数模型。
5.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S6中,使用加权的Jeffrey散度作为目标函数,并用l_bfgs优化方法作为最小化目标函数的参数优化方法。
6.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S7中,进行头部姿态估计时,先计算出标记分布向量,然后计算头部姿态的类别。
7.如权利要求1所述的基于标记分布的头部姿态估计方法,其特征在于,步骤S3中,提取特征向量使用梯度直方图方法。
【文档编号】G06K9/62GK103530651SQ201310500424
【公开日】2014年1月22日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】耿新, 夏昱 申请人:东南大学