发明名称 基于随机森林的级联位置回归用于人脸对齐的方法
摘要 本发明公开了一种基于随机森林的级联位置回归用于人脸对齐的方法,其特征在于,包括如下步骤:1)得到归一化人脸图片; 2)计算人脸的平均形状; 3)生成人脸对齐框架的候选特征点;4)生成人脸形状索引灰度值;5)生成人脸形状索引特征X;6)构建人脸对齐框架;7)初始化人脸形状,不断迭代后,输出最终的估计人脸形状。这种方法在光照、表情变化、遮挡等情况下能够保持很好的鲁棒性,并且能提高精度、减少失败率。
申请公布号 CN105631436A 申请公布日期 2016.06.01
申请号 CN201610054837.3 申请日期 2016.01.27
申请人 桂林电子科技大学 发明人 莫建文;彭倜;张彤;袁华;陈利霞;首照宇;欧阳宁;高宇;匡勇建
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 桂林市华杰专利商标事务所有限责任公司 45112 代理人 刘梅芳
主权项 基于随机森林的级联位置回归用于人脸对齐的方法,其特征在于,包括如下步骤:1)得到归一化人脸图片:读入训练集图像库中的图片及对应的人脸属性,并对图片进行归一化,人脸属性包含人脸位置矩形区域信息即x<sub>1</sub>轴、y<sub>1</sub>轴、w宽、h高信息和已知标定的关键点坐标信息即x<sub>2</sub>轴、y<sub>2</sub>轴信息;2)计算人脸的平均形状:给每一个人脸训练样本确定M个初始化形状,除自身的形状外,即组成N×M个训练样本,对训练样本的关键点坐标信息进行旋转、缩放相似变换,计算出人脸的平均形状:<maths num="0001"><math><![CDATA[<mrow><mi>M</mi><mi>S</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><mrow><mo>(</mo><mi>&Sigma;</mi><msub><mover><mi>S</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000916221100000011.GIF" wi="344" he="126" /></maths>N表示训练样本数,<img file="FDA0000916221100000012.GIF" wi="43" he="70" />表示已知标定的关键点人脸形状信息;3)生成人脸对齐框架的候选特征点:用随机函数生成二个关键点V<sub>1</sub>和V<sub>2</sub>的坐标标号,则这二个关键点中点坐标值为<img file="FDA0000916221100000013.GIF" wi="132" he="98" />将中点坐标作为候选特征点μ<sub>α</sub>,循环步骤3),产生P个候选特征点;4)生成人脸形状索引灰度值ρ:利用步骤3)得到的P个候选特征点,提取候选特征点的图片灰度值I(μ<sub>α</sub>),灰度值I(μ<sub>α</sub>)作为人脸形状索引灰度值ρ,其大小为N行P列的矩阵;5)生成人脸形状索引特征X:利用步骤4)得到的ρ,令ρ<sub>ij</sub>表示ρ中第i行、第j列的一个元素值,第一层循环让i从1到N,计算ρ<sub>ia</sub>和ρ<sub>ib</sub>的差值,其中a和b的范围是1到P,循环步骤5),可得到大小为N行P×P列的人脸形状索引特征X;6)构建人脸对齐框架:所述人脸对齐框架是基于随机森林级联回归方法构建,人脸对齐框架第一层弱回归器的级联、即弱回归器的个数为T,每一个弱回归器由一个随机森林组成,随机森林将很多弱分类器集成为一个强分类器,实现并行结构,弱分类器即为决策树,一个随机森林由L个决策树<img file="FDA0000916221100000014.GIF" wi="580" he="73" />并行组成,其中,k和t均表示下标号,r表示决策树,每一个决策树的构建过程一样,过程如下:(1)选择决策树的训练样本:从N个训练样本中随机抽取Ω<sub>k</sub>个样本作为该决策树的训练样本,Ω<sub>k</sub>的范围是N/8到N/2;(2)生成节点特征:根据步骤5)中得到的人脸形状索引特征X中的值与回归目标ΔS的相关性corr(ΔS,X<sub>ij</sub>),其中X<sub>ij</sub>表示X矩阵中的第i行、第j列的元素,选择F个最相关的人脸形状索引特征,作为节点特征,F为决策树的深度,其范围5‑10;(3)生成节点阈值:阈值直接从‑0.2C到0.2C范围中随机得到一个值作为阈值,其中C表示步骤(2)过程选择的节点特征值;(4)得到人脸形状增量即叶子节点的输出:利用上述步骤(1)中选择的Ω<sub>k</sub>个训练样本送入由步骤(2)、(3)构建的决策树,得到的叶子节点的输出即为人脸形状增量<img file="FDA0000916221100000028.GIF" wi="109" he="68" />该决策树的输出δS<sub>k</sub>,即为叶子节点的加权组合,如公式所示:<maths num="0002"><math><![CDATA[<mrow><msub><mi>&delta;S</mi><mi>k</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mfrac><mrow><mo>|</mo><msub><mi>&Omega;</mi><msub><mi>c</mi><mi>j</mi></msub></msub><mo>|</mo></mrow><mrow><mo>|</mo><msub><mi>&Omega;</mi><mi>k</mi></msub><mo>|</mo></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>&delta;S</mi><msub><mi>c</mi><mi>j</mi></msub></msub></mrow>]]></math><img file="FDA0000916221100000021.GIF" wi="406" he="151" /></maths>其中M为该决策树的叶子节点个数M=2<sup>F‑1</sup>经过上述步骤后,即可得到决策树,重复步骤(1)、(2)、(3)、(4)得到随机森林,随机森林的输出δS<sup>t</sup>为L个决策树的加权组合,如公式所示:<maths num="0003"><math><![CDATA[<mrow><msup><mi>&delta;S</mi><mi>t</mi></msup><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mfrac><mrow><mo>|</mo><msub><mi>&Omega;</mi><mi>i</mi></msub><mo>|</mo></mrow><mi>N</mi></mfrac><mo>&CenterDot;</mo><msub><mi>&delta;S</mi><mi>i</mi></msub></mrow>]]></math><img file="FDA0000916221100000022.GIF" wi="374" he="141" /></maths>最后对人脸形状进行更新S<sup>t</sup>=S<sup>t‑1</sup>+δS<sup>t</sup>,其中S<sup>t‑1</sup>表示第t‑1个循环过程的人脸形状信息,同理S<sup>t</sup>表示第t个循环中人脸形状信息;7)初始化人脸形状:采用直方图统计的方法进行人脸形状初始化,初始化过程如下:①对输入的M个初始化形状送入人脸对齐框架模型中,执行级联回归过程的10%;②得到人脸关键点的初始化坐标信息:关键点g点的坐标为<img file="FDA0000916221100000023.GIF" wi="406" he="87" />统计<img file="FDA0000916221100000024.GIF" wi="336" he="82" />的分布,以x坐标值为横坐标,以频数M为纵坐标,划分各小区间及其对应的频数高度,输出频数最大的区间对应的横坐标值<img file="FDA0000916221100000025.GIF" wi="66" he="83" />对<img file="FDA0000916221100000026.GIF" wi="330" he="86" />执行相同的过程,得到<img file="FDA0000916221100000027.GIF" wi="71" he="79" />③重复步骤②,得到q个人脸关键点的初始化坐标信息;④将步骤②中的q个人脸关键点的初始化坐标信息构成的形状<img file="FDA0000916221100000035.GIF" wi="764" he="75" />作为级联回归剩下90%的过程的初始化形状;⑤结合步骤①‑步骤④,得到一个初始化人脸形状,其中初始化人脸形状为<maths num="0004"><math><![CDATA[<mrow><msup><mi>S</mi><mrow><mn>0</mn><mi>m</mi></mrow></msup><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mn>0</mn><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>0</mn><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>q</mi><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>q</mi><mrow><mn>0</mn><mi>m</mi></mrow></msubsup><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000916221100000031.GIF" wi="1046" he="84" /></maths>q为关键点个数,初始化形状个数记为M,M个初始化形状记为S<sup>01</sup>,S<sup>02</sup>,…,S<sup>0m</sup>,把S<sup>0m</sup>送入步骤6)构建人脸对齐框架中,不断迭代后,输出最终的估计人脸形状。
地址 541004 广西壮族自治区桂林市七星区金鸡路1号