发明名称 一种人脸表情的识别方法
摘要 本发明一种人脸表情的识别方法,涉及用于识别图形的方法,是一种使用中心对称三值模式(Center Symmetrical Ternary Patterns,以下简称CSTP)算法提取表情纹理特征的人脸表情的识别方法,步骤是:人脸表情图像预处理;提取每一人脸表情图像的子块上的人脸表情纹理特征;确定人脸表情图像最终的人脸表情纹理特征;完成人脸表情的识别。本发明方法克服了现有技术识别背景复杂导致的纹理描述不精细,识别率不高的缺陷。
申请公布号 CN105069447A 申请公布日期 2015.11.18
申请号 CN201510621774.0 申请日期 2015.09.23
申请人 河北工业大学 发明人 郭迎春;唐红梅;乔帆帆;师硕;于洋;刘依;翟艳东
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 天津翰林知识产权代理事务所(普通合伙) 12210 代理人 胡安朋
主权项 一种人脸表情的识别方法,其特征在于:是一种使用CSTP算法提取人脸表情纹理特征的人脸表情的识别方法,具体步骤如下:第一步,人脸表情图像预处理:采用已经进行了人脸检测和几何归一化的人脸表情库中的人脸表情图像,并在原数据库上应用如下的公式(1)进行高斯滤波处理,由此完成人脸表情图像预处理,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>&pi;&sigma;</mi><mn>2</mn></msup></mrow></mfrac><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac></mrow></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000011.GIF" wi="1129" he="161" /></maths>其中(x,y)是像素点坐标,σ是方差;第二步,提取每一人脸表情图像的子块上的人脸表情纹理特征:对第一步预处理完成的人脸表情图像进行分块,将其分成5×5个非重叠的子块,利用CSTP算法提取每一人脸表情图像子块上的人脸表情纹理特征,步骤如下;(1)计算在(P,R)邻域内关于中心像素对称的像素对差Δg<sub>i</sub>:Δg<sub>i</sub>=g<sub>i</sub>‑g<sub>i+P/2</sub>,i=0,1,…,P/2‑1   (2),其中,g是像素,P是周围邻域个数,R是半径,R=2;(2)统计该(P,R)邻域的像素对差的均值<img file="FDA0000809271700000012.GIF" wi="106" he="79" /><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mover><mrow><msub><mi>&Delta;g</mi><mi>i</mi></msub></mrow><mo>&OverBar;</mo></mover><mo>=</mo><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><mi>P</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000809271700000013.GIF" wi="1100" he="142" /></maths>(3)设定上限值U和下限值L:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>U</mi><mo>=</mo><mover><mrow><msub><mi>&Delta;g</mi><mi>i</mi></msub></mrow><mo>&OverBar;</mo></mover><mo>*</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000014.GIF" wi="1111" he="79" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>L</mi><mo>=</mo><mover><mrow><msub><mi>&Delta;g</mi><mi>i</mi></msub></mrow><mo>&OverBar;</mo></mover><mo>*</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000015.GIF" wi="1104" he="85" /></maths>其中,t为阈值参数,是经验值,t∈(0,1),t随光照的变化而调整;(4)提取每一像素的CSTP人脸表情纹理特征:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>CSTP</mi><mrow><mi>P</mi><mo>,</mo><mi>R</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn></mrow></munderover><msup><mn>2</mn><mi>i</mi></msup><mo>&CenterDot;</mo><mi>S</mi><mrow><mo>(</mo><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>,</mo><mi>U</mi><mo>,</mo><mi>L</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000016.GIF" wi="1305" he="136" /></maths>其中,<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>S</mi><mrow><mo>(</mo><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>,</mo><mi>U</mi><mo>,</mo><mi>L</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>&gt;</mo><mi>U</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><mi>L</mi><mo>&le;</mo><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>&le;</mo><mi>U</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>&Delta;g</mi><mi>i</mi></msub><mo>&lt;</mo><mi>L</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000809271700000017.GIF" wi="1510" he="242" /></maths>CSTP的编码过程是,从左上角顺时针起,当周围像素点的灰度值g<sub>i</sub>与以中心像素为对称的g<sub>i+P/2</sub>的差值Δg<sub>i</sub>大于U,则该位编码为1,当Δg<sub>i</sub>小于L,则该位编码为‑1;把编码中的所有“‑1”清为“0”,称为正模式,把编码中的“1”清为“0”,然后把“‑1”置为“1”,称为负模式,在完成正、负两个模式的编码后对正负模式进行相应的“或”运算,每个子块内的每一像素都进行CSTP的特征提取,即提取每一像素的CSTP人脸表情纹理特征,统计每个子块的CSTP直方图H就是提取的每一人脸表情图像子块上的人脸表情纹理特征;第三步,确定人脸表情图像最终的人脸表情纹理特征:(1)计算第二步中的每一人脸表情图像子块的信息熵E<sub>j</sub>:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>E</mi><mi>j</mi></msub><mo>=</mo><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>P</mi><mi>j</mi><mi>i</mi></msubsup><msubsup><mi>logP</mi><mi>j</mi><mi>i</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000021.GIF" wi="1134" he="141" /></maths>其中,<img file="FDA0000809271700000022.GIF" wi="50" he="80" />表示第j个子块第i级像素出现的概率,m代表级数,取256;(2)计算每一人脸表情图像子块的权值W<sub>j</sub>:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>W</mi><mi>j</mi></msub><mo>=</mo><msub><mi>E</mi><mi>j</mi></msub><mo>/</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>E</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000809271700000023.GIF" wi="1118" he="143" /></maths>其中,n为每一人脸表情图像子块个数;(3)计算每一人脸表情图像各个子块加权后的直方图向量<img file="FDA0000809271700000025.GIF" wi="80" he="62" /><img file="FDA0000809271700000024.GIF" wi="1161" he="148" />其中H<sub>j</sub>是利用第二步提取的每一人脸表情图像第j个子块的直方图;串联每一人脸表情图像各个子块加权后的直方图向量<img file="FDA0000809271700000026.GIF" wi="50" he="70" />作为最终的人脸表情纹理特征;第四步,完成人脸表情的识别:采用SVM Kernel Methods工具箱训练SVM分类器,具体流程如下:(1)输入训练样本和测试样本提取到的人脸表情纹理特征,该人脸表情纹理特征是经过上面的第二步和第三步后所得,根据这些人脸表情纹理特征样本构造出训练样本人脸表情纹理特征矩阵和测试样本人脸表情纹理特征矩阵分别对应的训练和测试类别样本矩阵,类别样本矩阵中的值为样本的分类类别;(2)针对局部人脸表情纹理特征采用高斯核函数,核数设为8,拉格朗日因子c=100,二次最优方法的调节参数λ=10<sup>‑7</sup>,首先将训练样本人脸表情纹理特征矩阵和训练类别样本矩阵送入svmmulticlassoneagainstall函数得到支持向量、权重和偏置,再将训练样本纹理特征矩阵、支持向量、权重、偏置和高斯函数送入svmmultival函数中进行训练,最后将测试样本纹理特征矩阵、支持向量、权重、偏置和高斯函数送入svmmultival函数中进行预测,由此完成人脸表情的识别,在JAFFE库中实验得到生气、厌恶、害怕、高兴、中性、伤心和惊讶7种表情,而CMU‑AMP库中实验得到生气、高兴和惊讶3种表情,由此完成人脸表情的识别。
地址 300130 天津市红桥区丁字沽光荣道8号河北工业大学东院330#