主权项 |
一种人脸运动非对称性计算方法,其特征在于:其步骤如下:步骤1:给定一个人的面部运动过程中的两幅图像,对这两幅图像进行灰度化,得到第一幅灰度图像为I1,第二幅灰度图像为I2,两幅图像尺寸相同,高为H0,宽为W0,I1(x,y)代表图像I1在坐标点(x,y)处的密度值,I2(x,y)代表图像I2在坐标点(x,y)处的密度值,0≤x<W0,0≤y<H0;采用类Haar小波特征提取和AdaBoost分类器对人脸图像I1进行眼睛检测,设检测到的左眼的中心点为eL,坐标为(xL,yL);设检测到的右眼的中心点为eR,坐标为(xR,yR);则左眼中心点和右眼中心点之间的中点坐标为(x0,y0),x0=[(xL+xR)/2],y0=[(yL+yR)/2];计算人脸的倾斜角θ,如式(1)所示: <mrow> <mi>θ</mi> <mo>=</mo> <mi>arctan</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mi>L</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>R</mi> </msub> </mrow> <mrow> <msub> <mi>x</mi> <mi>L</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>R</mi> </msub> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>其中θ>0表示人脸逆时针倾斜了θ角,θ<0表示人脸顺时针倾斜了‑θ角,θ=0表示人脸未倾斜;步骤2:将人脸图像I1和I2分别进行以(x0,y0)为轴心顺时针旋转θ弧度的仿射变换,得到人脸图像I1a和I2a;步骤3:确定人脸图像I1a和I2a的人脸中线皆为x=x0的垂直线;步骤4:计算人脸图像I1a和I2a的差值图像ID0,如式(2)所示:ID0(x,y)=I1a(x,y)‑I2a(x,y) (2)其中0≤x<W0,0≤y<H0;步骤5:在图像ID0上截取人脸差值图像ID,使其尽量少的包含人脸以外的背景信息,并使人脸中线为通过图像ID中心点的垂直线,ID高为H,宽为W,H≤H0,W≤W0,计算ID关于人脸中线的垂直映射图像I′D,如式(3)所示:I′D(x,y)=ID((W‑x‑1),y) (3)其中I′D(x,y)为坐标点(x,y)处的I′D值,0≤x<W,0≤y<H;步骤6:计算密度差D,如式(4)所示:D(x,y)=ID(x,y)‑I′D(x,y) (4)其中D(x,y)为坐标点(x,y)处的D值,0≤x<W,0≤y<H;步骤7:设定一个阈值p,0<p<255,对密度差D进行二值化,如式(5)所示: <mrow> <msup> <mi>D</mi> <mo>′</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mo>|</mo> <mi>D</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>≥</mo> <mi>p</mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mo>|</mo> <mi>D</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo><</mo> <mi>p</mi> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>其中0≤x<W,0≤y<H;步骤8:计算人脸运动非对称性指标M,如式(6)所示。 <mrow> <mi>M</mi> <mo>=</mo> <mfrac> <mrow> <munder> <mi>Σ</mi> <mrow> <mn>0</mn> <mo>≤</mo> <mi>x</mi> <mo><</mo> <mi>W</mi> <mo>,</mo> <mn>0</mn> <mo>≤</mo> <mi>y</mi> <mo><</mo> <mi>H</mi> </mrow> </munder> <msup> <mi>D</mi> <mo>′</mo> </msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>W</mi> <mo>×</mo> <mi>H</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> |