一种全序保持投影的人脸年龄估计方法与流程

文档序号:12471062阅读:255来源:国知局
一种全序保持投影的人脸年龄估计方法与流程

本发明涉及图像特征表示、应用技术,人脸年龄估计技术,特别涉及一种能够寻找保持年龄全序结构的投影的人脸年龄估计技术。



背景技术:

人的面部蕴含着十分丰富的信息,通常我们仅通过人的面部就能轻松地获悉这个人的身份、表情、性别、年龄等等特征,我们把这一从人脸获得信息的过程称之为人脸识别。在计算机视觉研究中,从给定的人脸图像中估计出目标的年龄就是人脸年龄估计问题。这项技术在模式识别、媒体计算、人机交互等领域有广阔的应用前景。

目前的研究主要基于传统的回归或者分类技术设计人脸年龄估计方法。首先使用人脸检测技术在包含人脸的图像中对人类进行定位,然后从人脸区域提取图像特征,接着使用某些分类算法或者回归算法对年龄进行估计。人脸年龄估计问题面临的一项挑战是很难收集到非常大规模的具有准确年龄标记的人脸图像数据集,因此目前老化数据集中人脸图像数目非常有限,如何在设计算法的时候充分利用少量数据中蕴含的信息变得十分重要。传统的分类或者回归方法仅利用了年龄标记的基本信息,而忽视了年龄标记间所蕴含的全序关系。而对于年龄估计问题来说,这种全序关系能够帮助我们进行更准确的年龄估计,如果我们能够维持人脸图像关于年龄的全序结构,即在空间中人脸图像按照其年龄序顺序依次排列,那么在对未知年龄的人脸进行年龄估计时,我们不太会将其错误分类到与真实年龄偏差过大的年龄。而传统的方法并没有刻意去维持年龄间的这种全序结构,因此需要一种能够维持这种全序结构的人脸年龄估计方法。



技术实现要素:

发明目的:针对现有人脸年估计算法没有利用年龄标记间的全序信息来维持全序结构的问题,本发明提出一种全序保持投影的人脸年龄估计方法,将人脸图像映射到一个能够保持年龄全序的低维子空间,利用这种全序结构提升人脸年龄估计的性能,避免出现将人脸图像误分类为偏差较大年龄的现象。

技术方案:本发明提出一种全序保持投影的人脸年龄估计方法,首先针对人脸图像提取原始高维特征;然后寻找一种投影,这种投影能够将这原始的高维特征映射到一个低维子空间中,而在这个低维子空间中,所有人脸图像构成的点能够按对应的年龄顺序呈现出最清晰的全序结构;最后,在得到的低维子空间中使用有序回归方法进行年龄估计,具体包括训练人脸年龄估计模型和人脸年龄估计模型进行年龄估计两个阶段;

所述训练人脸年龄估计模型的步骤具体为:

步骤100,提取训练人脸图像的特征。

所述步骤100从训练人脸图像中提取特征是指将图像数据转化为一维向量的图像特征,采用的特征提取方法包括主动外观模型(Active Appearance Model)、局部二值模式(Local Binary Patterns)和生物启发特征(Biologically Inspired Features)等等。

步骤101,寻找将高维特征空间映射到低维特征空间的投影矩阵,使映射到的低维特征空间能够最大程度的保持年龄全序结构。

所述步骤101寻找投影矩阵的方法包括如下步骤:

步骤1:使用不同的年龄,将训练集划分为不同的高龄人脸和低龄人脸集合。划分高龄人脸和低龄人脸集合的具体方法为:设有m张训练人脸图像,第i张图像得到的特征记为xi,其年龄为li(1≤li≤c),使用1,2,…,c-1这c-1种年龄分别对训练数据集进行划分,得到c-1种高龄人脸和低龄人脸的划分,其中使用年龄k划分得到的高龄人脸和低龄人脸集合分别记为和和分别指训练集中年龄大于k和年龄不大于k的人脸对应的特征组成的集合,c表示最大年龄,为了避免出现空集,k的取值范围是1,2,…,c-1。

步骤2:对于每一种划分方案,计算低维特征空间中低龄人脸和高龄人脸之间的距离,使用年龄k划分方案对应的距离记为distk,是投影矩阵W的函数。计算第k种划分方案对应的低龄人脸和高龄人脸之间的距离distk的具体公式为:

<mrow> <msub> <mi>dist</mi> <mi>k</mi> </msub> <mo>=</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> </mrow>

式中,表示所有训练样本的中心,表示低龄人脸的样本中心,表示高龄人脸的样本中心,表示训练样本中年龄为i样本的中心,xi为第i张图像得到的特征,m为所有训练样本的数目,mi为年龄为i的样本数目,为低龄人脸样本数目,为高龄人脸样本数目,表示二范数。

步骤3:计算低维特征空间中所有样本到样本中心的距离,记为disttotal,是投影矩阵W的函数。计算低维特征空间中所有样本到样本中心的距离disttotal的具体公式为:

<mrow> <msub> <mi>dist</mi> <mrow> <mi>t</mi> <mi>o</mi> <mi>t</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> </mrow>

步骤4:将所有划分方案中低龄人脸和高龄人脸之间的距离进行求和,并使用disttotal进行规范化得到目标函数,即

步骤5:最大化目标函数获得投影矩阵最优解W*,使映射到的低维特征空间能够最大程度的保持年龄全序结构,即

代入上述distk和disttotal计算公式,则可写成:

<mrow> <mi>W</mi> <mo>*</mo> <mo>=</mo> <mi>arg</mi> <mi> </mi> <msub> <mi>max</mi> <mi>W</mi> </msub> <mfrac> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>c</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mo>|</mo> <mo>|</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mi>&mu;</mi> <mo>|</mo> <msubsup> <mo>|</mo> <mn>2</mn> <mn>2</mn> </msubsup> </mrow> </mfrac> </mrow>

经过化简可以写成

<mrow> <mi>W</mi> <mo>*</mo> <mo>=</mo> <mi>arg</mi> <mi> </mi> <msub> <mi>max</mi> <mi>W</mi> </msub> <mfrac> <mrow> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>c</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>(</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>(</mo> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>+</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>)</mo> <mi>W</mi> <mo>)</mo> </mrow> <mrow> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <mo>(</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>)</mo> <mi>W</mi> <mo>)</mo> </mrow> </mfrac> </mrow>

式中,tr(·)表示矩阵的迹。若定义矩阵St和So如下:

<mrow> <msub> <mi>s</mi> <mi>t</mi> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>&mu;</mi> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow>

<mrow> <msub> <mi>s</mi> <mi>o</mi> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>c</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>(</mo> <mrow> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> </mrow> <mo>)</mo> <msup> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>-</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> </mrow> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>+</mo> <msubsup> <mi>m</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>(</mo> <mrow> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> </mrow> <mo>)</mo> <msup> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&mu;</mi> <mi>k</mi> <mo>+</mo> </msubsup> <mo>-</mo> <mi>&mu;</mi> </mrow> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>)</mo> </mrow> </mrow>

则优化目标可以进一步书写为:

<mrow> <mi>W</mi> <mo>*</mo> <mo>=</mo> <mi>arg</mi> <mi> </mi> <msub> <mi>max</mi> <mi>W</mi> </msub> <mfrac> <mrow> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msub> <mi>S</mi> <mi>o</mi> </msub> <mi>W</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>t</mi> <mi>r</mi> <mrow> <mo>(</mo> <msup> <mi>W</mi> <mi>T</mi> </msup> <msub> <mi>S</mi> <mi>t</mi> </msub> <mi>W</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

步骤102,在低维特征空间,使用有序回归方法训练得到有序回归分类模型。这里传统的有序回归方法都可以使用,如中值k近邻算法。

所述人脸年龄估计模型进行年龄估计的步骤具体为:

步骤200,使用步骤100的特征提取方法,提取待估计人脸图像的特征;

步骤201,使用步骤101得到的投影矩阵,将待估计人脸的特征投影到低维特征空间;

步骤202,在低维特征空间,使用步骤103得到的有序回归分类模型估计该人脸的年龄。

有益效果:与现有技术相比,本发明所提供的全序保持投影方法,实施过程中能够充分利用有标记间蕴含的全序关系来寻找低维子空间,适合用于解决人脸年龄估计这一年龄标记间有全序且通常训练数据量不充分的问题。

附图说明

图1为本发明实施例的训练人脸年龄估计模型的工作流程图;

图2为本发明实施例的人脸年龄估计模型进行年龄估计的工作流程图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

人脸年龄估计模型训练的工作流程如图1所示。人脸年龄估计模型在训练阶段需要收集一定数量的具有年龄标记的人脸图像,在提取特征之前需要对图像进行预处理,如灰度化,直方图均衡等等,在完成预处理之后,可以使用常用的主动外观模型(Active Appearance Model)、局部二值模式(Local Binary Patterns)和生物启发特征(Biologically Inspired Features)等方法对图像进行特征抽取(步骤10);然后根据不同的年龄划分点将这些人脸图像分成高龄人脸集合和低龄人脸集合,例如根据10岁来划分时,所有年龄小于等于10岁的人脸都被归入低龄人脸集合,所有年龄大于10岁的人脸都被归入高龄人脸集合(步骤11);接着假设映射到子空间的投影矩阵为W,计算在这个子空间里每一种划分方案中低龄人脸和高龄人脸之间的距离,可以使用上文中提及的计算方式,这个距离记为distk(步骤12);接下来计算在这个子空间里所有人脸到样本中心的距离和,同样可以使用上文中介绍的计算方式,这个距离记为disttotal(步骤13);假设训练数据集中涉及的年龄为1,2,…,c,那么上述的年龄划分点的选择为1,2,…,c-1总共c-1种,将所有划分方案中得到的高龄人脸和低龄人脸之间的距离进行求和,即再使用disttotal对该变量进行规范化,得到因为该变量是W的函数,可将该变量记为该变量刻画了在W对应的子空间中年龄全序结构的清晰程度(步骤14);若distk和disttotal使用上述的计算方式,则可以使用求解广义特征值问题的方法来近似求解得到最优投影W(步骤15);使用得到的W将训练集中人脸图像的特征投影到低维子空间,在子空间中使用有序回归算法(如中值k近邻等)得到模型M(步骤16)。

人脸年龄估计模型进行年龄估计的工作流程如图2所示。首先使用相同的图像预处理方法对人脸图像进行预处理,然后使用同特征提取方法对处理过后的人脸图像提取特征(步骤20),根据训练过程中得到的W,将该特征投影到子空间中(步骤21),然后使用训练得到的模型M对该人脸进行年龄估计。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1