发明名称 一种人脸图像快速特征提取方法
摘要 一种人脸图像快速特征提取方法,第一步,初始化读入训练图像集,将获得的彩色人脸图像转换到灰度空间;第二步,对图像进行线性插值和直方图均衡化;第三步,构造训练集数据矩阵;第四步,训练集应用主成份分析法,求取其低维表述矩阵;第五步,求原训练图像的低维表述矩阵的隶属度矩阵;第六步,计算低维表述矩阵的类内散度矩阵和类间散度矩阵;第七步,求得训练人脸图像集的特征表述矩阵。本发明充分考虑了训练集中各个人的人脸图像之间的关系,利用了其对于某一人脸子集的属于和不属于的信息,得到较好的类中心估计,弱化了某一图像的剧烈扰动对于该人其他图像的扰动,从而更加有效地提取人脸特征。
申请公布号 CN102831425A 申请公布日期 2012.12.19
申请号 CN201210312362.5 申请日期 2012.08.29
申请人 东南大学 发明人 路小波;徐千州;曾维理;杜一君
分类号 G06K9/46(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/46(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 汤志武
主权项 1.一种人脸图像快速特征提取方法,其特征在于按照以下步骤进行:步骤1:初始化,采集包含R个人的彩色人脸图像组成含有M个人脸图像的集合,R为人数且为正整数,M为正整数,第r个人的人脸图像数为t<sub>r</sub>(r=1,2,...,R,t<sub>r</sub>为自然数且t<sub>r</sub>≥4),r为正整数,每幅人脸图像的数据大小为W<sub>c</sub>×H<sub>c</sub>×3,其中,c为正整数且c=1,2,...,M,W<sub>c</sub>,H<sub>c</sub>为正整数,分别表示第c幅人脸图像的列数和行数,然后将获得的彩色图像转化为灰度图像,得到灰度图像的大小为W<sub>c</sub>×H<sub>c</sub>;步骤2:对步骤1中处理后的人脸图像进行图像预处理,方法如下:步骤2.1:用公知的线性插值法分别对第g个图像进行尺度调整,g为正整数且g=1,2,...,M,将第g个图像规格化为W×H的图像,W,H为正整数,分别表示尺度归一化之后的人脸图像统一的列数和行数;步骤2.2:对步骤2.1中处理后的人脸图像进行直方图均衡化;步骤3:构造训练集矩阵:对步骤2中得到的M幅人脸图像的数据格式进行调整,令原来的一幅图像的像素数据矩阵为A,则有A=[A<sub>1</sub>,A<sub>2</sub>,…,A<sub>W</sub>]                   (1)其中W表示该图像的列数,A<sub>w</sub>表示像素数据矩阵A的第w列,w为正整数且w=1,2,...,W,将像素数据矩阵A中数据按照如下方法进行调整,得到新的W×H行1列的像素数据矩阵A':<maths num="0001"><![CDATA[<math><mrow><msup><mi>A</mi><mo>&prime;</mo></msup><mo>=</mo><msup><mrow><mo>[</mo><msubsup><mi>A</mi><mn>1</mn><mi>T</mi></msubsup><mo>,</mo><msubsup><mi>A</mi><mi>W</mi><mi>T</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>A</mi><mi>W</mi><mi>T</mi></msubsup><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>将原来的M幅图像均按照上述方法,调整为W×H行1列,再将每一幅图像转换后的数据作为另一矩阵的一列,构造训练集矩阵,即Γ=[Γ<sub>1</sub>,Γ<sub>2</sub>,...,Γ<sub>M</sub>]                 (3)其中,Γ即为由M个人脸图像构成的训练集矩阵,Γ<sub>l</sub>是第l个图像数据经过式(1)和式(2)变换得到的数据,l为正整数,且l=1,2,...,M;步骤4:对训练集矩阵应用主成份分析法,求取训练集矩阵的低维表述矩阵,其方法如下:步骤4.1:求取训练集矩阵Γ的均值向量,对训练集矩阵Γ每一行对应位置的数据进行数值平均,得到训练集矩阵Γ的均值向量,即<maths num="0002"><![CDATA[<math><mrow><mover><mi>&Gamma;</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>&Gamma;</mi><mi>u</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,u为正整数,且u=1,2,...,M,<img file="FDA00002071814100022.GIF" wi="34" he="43" />为训练集矩阵Γ的均值向量;步骤4.2:将训练集矩阵Γ根据其均值向量<img file="FDA00002071814100023.GIF" wi="30" he="46" />进行中心化,并求取中心化之后的协方差矩阵的转置矩阵,即<maths num="0003"><![CDATA[<math><mrow><mi>C</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>y</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msup><mrow><mo>(</mo><msub><mi>&Gamma;</mi><mi>y</mi></msub><mo>-</mo><mover><mi>&Gamma;</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><msub><mi>&Gamma;</mi><mi>y</mi></msub><mo>-</mo><mover><mi>&Gamma;</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,C即为中心化后的训练集矩阵的协方差矩阵的转置矩阵,y为正整数,且y=1,2,...,M,Γ<sub>y</sub>为原训练集矩阵的第y列;步骤4.3:对步骤4.2中求得的矩阵C求取特征值和特征向量,并将特征值按照数值大小降序排列,按照排列后的特征值的顺序重新排列特征值对应特征向量,使矩阵C的特征向量排序后构成新的特征向量矩阵,即:Q=[Q<sub>1</sub>,Q<sub>2</sub>,...,Q<sub>M</sub>]                          (6)U=[μ<sub>1</sub>,μ<sub>2</sub>,...,μ<sub>M</sub>],μ<sub>1</sub>>μ<sub>2</sub>>...>μ<sub>M</sub>    (7)其中,Q为矩阵C的特征向量排序后构成的特征向量矩阵,U为矩阵C的特征值组成的行向量,μ<sub>ρ</sub>为矩阵C的特征值,Q<sub>ρ</sub>为μ<sub>ρ</sub>对应的特征向量,ρ为正整数,且ρ=1,2,...,M;步骤4.4:求取简化特征向量矩阵,对步骤4.3中求的特征向量矩阵Q选取前L列,构成矩阵C的简化特征向量矩阵,L为正整数,且L=M-R,即S=[Q<sub>1</sub>,Q<sub>2</sub>,...,Q<sub>L</sub>]                          (8)其中S为矩阵C的简化特征向量矩阵;步骤4.5:将中心化之后的训练集矩阵在简化特征向量矩阵S上投影,得到特征脸矩阵F,特征脸矩阵F的每一列按照下式求取:<maths num="0004"><![CDATA[<math><mrow><msub><mi>F</mi><mi>x</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>&Gamma;</mi><mi>x</mi></msub><mo>-</mo><mover><mi>&Gamma;</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mi>S</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,F<sub>x</sub>是特征脸矩阵F的第x列,x为正整数,且有x=1,2,...,L;步骤4.6:将训练集矩阵Γ在特征脸矩阵F上投影,得到训练集矩阵Γ的基于特征脸矩阵F的低维表述矩阵X,即X=F<sup>T</sup>Γ                            (10)其中,X为低维表述矩阵;步骤5:求取步骤4中所得的低维表述矩阵X的隶属度矩阵,方法如下:步骤5.1:设定一个M行M列的矩阵G,求取低维表述矩阵X中第a列与第b列的欧几里德距离,作为矩阵G的第a行第b列的元素G<sub>ab</sub>,a,b是正整数且有a,b∈[1,M],特别地,当a=b时,设置G<sub>ab</sub>为无穷大;步骤5.2:创建矩阵G的副本G',将矩阵G′每一列中的元素按照数值大小升序排列,再将矩阵G'的元素替换为矩阵G的同一列中与该元素数值相等的元素的在矩阵G中的行标号,特别地,若G'的某列中存在数值相等的元素,则用矩阵G的对应列中与该元素数值相等的元素的行标号按照数值大小以升序的方式替换G′中出现的相等元素;步骤5.3:提取训练集矩阵Γ中每列的属于信息,选取G′的前k行元素构成新的矩阵B,k为正整数且k=3,则矩阵B的第e行第f列元素B<sub>ef</sub>的值Δ<sub>ef</sub>表示在低维表述矩阵X中,与X的第f列欧几里德距离最小的k个列按照与第f列欧几里德距离升序排序,则X的第Δ<sub>ef</sub>列排在第e位,其中,e,f为正整数,且有e=1,2,3和f=1,2,...,M,B<sub>ef</sub>为矩阵B的第e行第f列元素,Δef为B<sub>ef</sub>的数值且为正整数;步骤5.4:提取训练集矩阵Γ中每列的不属于信息,选取G′的除最后一行之外的后q行元素构成新的矩阵D,q为正整数且q=10,则矩阵D的第d行第h列元素D<sub>dh</sub>的值θ<sub>dh</sub>表示在低维表述矩阵X中,与X的第h列欧几里德距离最大的q个列按照与第h列欧几里德距离升序排序,则X的第θ<sub>dh</sub>列排在第d位,其中,d,h为正整数,且有d=1,2,...,10和h=1,2,...,M,D<sub>dh</sub>为矩阵D的第d行第h列元素,θ<sub>dh</sub>为D<sub>dh</sub>的数据且为正整数;步骤5.5:创建一个R行M列的矩阵E作为低维表述矩阵X的隶属度矩阵,并按照下式计算隶属度矩阵E的元素值:<maths num="0005"><![CDATA[<math><mrow><msub><mi>&xi;</mi><mi>ij</mi></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0.51</mn><mo>+</mo><mrow><mo>(</mo><msub><mrow><mn>0.49</mn><mi>n</mi></mrow><mi>ij</mi></msub><mo>-</mo><msub><mrow><mn>0.49</mn><mi>o</mi></mrow><mi>ij</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>k</mi><mo>,</mo><msub><mi>&Gamma;</mi><mi>j</mi></msub><mo>&Element;</mo><msub><mi>V</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mn>0</mn><mo>.</mo><msub><mrow><mn>49</mn><mi>n</mi></mrow><mi>ij</mi></msub><mo>-</mo><msub><mrow><mn>0.49</mn><mi>o</mi></mrow><mi>ij</mi></msub><mo>)</mo></mrow><mo>/</mo><mi>k</mi><mo>,</mo><msub><mi>&Gamma;</mi><mi>j</mi></msub><mo>&NotElement;</mo><msub><mi>V</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,i,j为正整数,且有i=1,2,...,R和j=1,2,...,M,ξ<sub>ij</sub>是低维表述矩阵X的隶属度矩阵E第i行j列的元素且表示用于训练图片中第j个人脸图像隶属于第i个人的程度,V<sub>i</sub>表示训练集中所有表示第i个人的人脸图像的列的集合,Γ<sub>j</sub>∈V<sub>i</sub>表示训练集中第j幅人脸图像是第i个人的人脸图像,<img file="FDA00002071814100042.GIF" wi="136" he="57" />表示训练集中第j幅人脸图像不是第i个人的人脸图像,n<sub>ij</sub>表示矩阵B中第j列各元素数值所对应编号的人脸图像中属于第i个人的个数,o<sub>ij</sub>表示矩阵D中第j列各元素数值所对应编号的人脸图像中属于第i个人的个数,并且,当0.49n<sub>ij</sub>-0.49o<sub>ij</sub><0时,令0.49n<sub>ij</sub>-0.49o<sub>ij</sub>=0;步骤5.6:将步骤5.5中得到的低维表述矩阵X的隶属度矩阵E按列归一化,得到归一化之后的隶属度矩阵E',即:<maths num="0006"><![CDATA[<math><mrow><msubsup><mi>&xi;</mi><mi>IJ</mi><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><msub><mi>&xi;</mi><mi>IJ</mi></msub><mrow><munderover><mi>&Sigma;</mi><mrow><mi>I</mi><mo>=</mo><mn>1</mn></mrow><mi>R</mi></munderover><msub><mi>&xi;</mi><mi>IJ</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,I,J为正整数,且有I=1,2,...R和J=1,2,...,M,ξ′<sub>IJ</sub>是E′的第I行第J列的元素;步骤6:计算低维表述矩阵X的类内散度矩阵和类间散度矩阵,按如下方法进行:步骤6.1:计算低维表述矩阵X的类中心和平均中心,计算公式如下:<maths num="0007"><![CDATA[<math><mrow><msub><mover><mi>X</mi><mo>~</mo></mover><mi>p</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>&eta;</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&xi;</mi><mi>p&eta;</mi><mo>&prime;</mo></msubsup><msub><mi>X</mi><mi>&eta;</mi></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>&alpha;</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&xi;</mi><mi>p&alpha;</mi><mo>&prime;</mo></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><mover><mi>X</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>&epsiv;</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>X</mi><mi>&epsiv;</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,p为正整数且p=1,2,...,R,<img file="FDA00002071814100046.GIF" wi="59" he="55" />表示第p个人的人脸图像在低维表述矩阵X中对应的所有列数据的类中心,η,α,ε为正整数,X<sub>η</sub>表示低维表述矩阵X的第η列,ξ′<sub>pη</sub>表示归一化之后的隶属度矩阵E′第p行第η列;步骤6.2:按照如下公式计算低维表述矩阵X的类内散度矩阵和类间散度矩阵:<img file="FDA00002071814100051.GIF" wi="1198" he="147" /><maths num="0009"><![CDATA[<math><mrow><msub><mi>S</mi><mi>B</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mn>1</mn></mrow><mi>R</mi></munderover><msub><mi>t</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mover><mi>X</mi><mo>~</mo></mover><mi>r</mi></msub><mo>-</mo><mover><mi>X</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mover><mi>X</mi><mo>&OverBar;</mo></mover><mi>r</mi></msub><mo>-</mo><mover><mi>X</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,S<sub>W</sub>表示低维表述矩阵X的类内散度矩阵,S<sub>B</sub>表示低维表述矩阵X的类间散度矩阵,x,γ为正整数,且有x=1,2,...,R和γ=1,2,...,M,X<sub>γ</sub>表示低维表述矩阵X的第γ列,<img file="FDA00002071814100053.GIF" wi="61" he="56" />表示低维表述矩阵X中第x个人对应的所有列数据的类中心,X<sub>γ</sub>∈{V<sub>x</sub>}表示X<sub>γ</sub>属于X中对应于第x个人的所有列组成的集合,t<sub>r</sub>为正整数且表示第r个人的人脸图像数目;步骤7:获得训练人脸图像集的特征表述矩阵,方法如下:步骤7.1:求取<img file="FDA00002071814100054.GIF" wi="109" he="58" />的特征向量及其对应的特征值,并将特征值按照数值大小降序排列,按照排列后的特征值的顺序重新排列特征值对应特征向量,使矩阵<img file="FDA00002071814100055.GIF" wi="108" he="58" />的特征向量排序后构成新的特征向量矩阵,即:Λ=[Λ<sub>1</sub>,Λ<sub>2</sub>,...,Λ<sub>M</sub>]                        (17)<img file="FDA00002071814100056.GIF" wi="1242" he="47" />其中,Λ为矩阵<img file="FDA00002071814100057.GIF" wi="108" he="58" />的特征向量排序后构成的特征向量矩阵,Ф为矩阵<img file="FDA00002071814100058.GIF" wi="109" he="58" />的特征值组成的行向量,φ<sub>z</sub>为矩阵<img file="FDA00002071814100059.GIF" wi="109" he="58" />的特征值,Λ<sub>z</sub>为φ<sub>z</sub>对应的特征向量,z为正整数,且z=1,2,...,M;步骤7.2:求最优投影矩阵,对步骤7.1中求的特征向量矩阵Λ选取前R-1列,构成低维表述矩阵X的最优投影矩阵Y,即:Y=[Λ<sub>1</sub>,Λ<sub>2</sub>,...,Λ<sub>R-1</sub>]                       (19)步骤7.3:求特征表述矩阵,得到训练人脸图像集的特征表述,按照如下公式:P=Y<sup>T</sup>X                                       (20)其中,P 即为所提取的训练人脸图像集的特征表述矩阵。
地址 210096 江苏省南京市四牌楼2号