主权项 |
1.一种基于全监督非负矩阵分解的人脸识别方法,包括如下步骤:(1)将训练图像数据集表示为非负矩阵X;(2)对非负矩阵X进行全监督非负矩阵分解,得到对应的基矩阵U:2a)根据训练图像数据集的类标信息s<sub>ij</sub>,构造约束矩阵S=[s<sub>ij</sub>]<sub>N×N</sub>,其中,<img file="FDA00003468672900011.GIF" wi="842" he="166" />i,j=1,2,...,N,N为训练图像的个数,x<sub>i</sub>和x<sub>j</sub>分别代表第i个人和第j个人的人脸图像,δ为小于1的正数,设置为0.01;2b)构造全监督非负矩阵分解的目标函数G:<maths num="0001"><![CDATA[<math><mrow><mi>G</mi><mo>=</mo><msubsup><mrow><mo>|</mo><mo>|</mo><mi>X</mi><mo>-</mo><msup><mi>UV</mi><mi>T</mi></msup><mo>|</mo><mo>|</mo></mrow><mi>F</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><mi>α</mi><mn>2</mn></mfrac><mi>Σ</mi><msub><mrow><mo>(</mo><msup><mi>U</mi><mi>T</mi></msup><mi>U</mi><mo>)</mo></mrow><mi>ij</mi></msub><mo>+</mo><mfrac><mi>β</mi><mn>2</mn></mfrac><mi>tr</mi><mrow><mo>(</mo><msup><mi>V</mi><mi>T</mi></msup><mi>SV</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,U=[u<sub>1</sub>,u<sub>2</sub>,...,u<sub>K</sub>]代表全监督非负矩阵分解的基矩阵,V=[v<sub>1</sub>,v<sub>2</sub>,...,v<sub>N</sub>]<sup>T</sup>代表全监督非负矩阵分解的系数矩阵,K为全监督非负矩阵分解的低维表示维数,|| ||<sub>F</sub>代表矩阵的F范数,tr()代表矩阵的迹,α和β均为正数,分别为正交约束项Σ(U<sup>T</sup>U)<sub>ij</sub>和约束信息保持项tr(V<sup>T</sup>SV)的权重大小;2c)将基矩阵U和系数矩阵V中的所有元素的值初始化为(0,1)之间的随机数;2d)设定全监督非负矩阵分解的目标函数G的最小值、低维表示维数K值、正交约束项权重大小α的值以及约束信息保持项权重大小β的值;2e)设定最大迭代次数I,利用<img file="FDA00003468672900013.GIF" wi="484" he="209" />迭代更新基矩阵U中元素u<sub>ik</sub>,利用<img file="FDA00003468672900014.GIF" wi="446" he="160" />迭代更新系数矩阵V中元素v<sub>jk</sub>,其中i=1,2,...,M,j=1,2,...,N,k=1,2,...,K,M为图像数据像素个数,D为一个对角矩阵,其对角元素为<maths num="0002"><![CDATA[<math><mrow><msub><mi>D</mi><mi>ii</mi></msub><mo>=</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>s</mi><mi>ij</mi></msub><mo>,</mo></mrow></math>]]></maths>i=1,2,...,N;2f)每次迭代完成后计算目标函数G的值,重复迭代直到目标函数值G小于设定的最小值或者迭代次数达到最大迭代次数I,得到更新后的基矩阵U′和更新后的系数矩阵V′;(3)将测试图像数据集表示为非负矩阵T;(4)利用更新后的基矩阵U′对测试图像数据集的非负矩阵T进行投影,得到测试数据的投影系数H;(5)将更新后的系数矩阵V′和训练图像数据集的类标信息s<sub>ij</sub>做为训练数据,将测试数据集的投影系数H做为测试数据,然后利用最近邻分类器根据测试数据和训练数据之间的欧式距离对测试数据进行分类,输出分类结果。 |