您的位置:首页 > 其它

稀疏表示《Robust Face Recognition via Sparse Representation》

2016-01-28 15:13 316 查看

文献:《Robust Face
Recognition via Sparse Representation》  08年马毅等发表PAMI上的经典利用稀疏表达识别人脸的文章

 马毅给人网站点击打开链接   
 

稀疏人脸表示描述:

即一张人脸图像,可以用数据库中同一个人所有的人脸图像的线性组合表示。而对于数据库中其它人的脸,其线性组合的系数理论上为零。

由于数据库中一般有很多个不同的人脸的多张图像,如果把数据库中所有的图像的线性组合来表示这张给定的测试人脸,其系数向量是稀疏的。

因为除了这张和同一个人的人脸的图像组合系数不为零外,其它的系数都为零。

算法描述:

 SRC
(Sparse Representation for classification)相当于一种分类的方法,但是不同于传统的NN, SVM等分类方法。SRC是利用字典得到一系列的稀疏系数,然后利用系数的性质得到test data的所属类别。

论文内容:



上图最左边是一张test image(上下两张图片分别是occluded和corrupted),每个test image可以表示字典和对应的系数相乘然后加上一个误差。等号右边第一列就是图像,第二列是字典的可视化,第三列是误差。红色的系数对应的就是字典中红色框出的人脸,实验中用AR库700个样本构建字典,一共100类人脸,每类7个样本。指出,这里的字典是过完备字典(即字典的行数小于列数),最简单的字典我们可以直接把每一个训练样本拉成列得到,具体构建方法如下:

                                                   



(K=100 ,  Vi,j为第i类内第j个图片)

A就是我们要构造的字典,A1~Ak对应k类,其中




那么给定一张测试样本y就可以表示成这样:

                                              





线性表达,其中ai,j为系数。

提出问题:

给定一个test
样本,怎么才能让这个系数很好的表示?

ai,j看成是一个向量,如果test对应那一类的样本的系数比较大,而其他类对应的系数为零,这样我们就能用ai,j很好的表示test了,且这样的系数也是稀疏的。

如何让ai,j足够稀疏,可以归结到数学上的问题。给定要求的式子:

                                                                       



    其中y是test样本, A是字典,x0是待求的系数,我们的目的是要使得x0足够稀疏。那么必须要求字典是“过完备字典”。


为什么字典必须是过完备?

假设我们的字典不是过完备的,那么上式是过定的,对应的x0就只有唯一解了,而这个解往往不是稀疏的。相反,如果字典是过完备的,那么上式就是欠定的,对应着无穷多的解。转化成一个最优化的问题,找出这无穷多解里最稀疏的作为上式的解,而这个解对应着就是同类系数非零,其他类系数全零的情况了。(即A的行数>列数,m>n)。



(lena照片图像字典)


怎么才能找到这个最稀疏的解?

   最优化问题----最小L0范数(L0范数表示一个矢量中非0系数的个数)

                                                                



    由于求解这个0范数是一个NP难问题,所以文中想到放宽稀疏条件,转而求解1范数问题:

                                                                   



   由于实际情况中往往会引入噪声,所以我们求解中我们实际上是求解这个式子

(其中Z是噪声),那么在求解这个优化问题的约束项就变成了这样

                                                                      



   通过求解这个最优化问题,我们就可以得到最稀疏的1范数解,理论上说这个解肯定没有0范数解稀疏,但是通过不断的迭代这个解可以求出来的,并且这个解在分类问题上效果已经很好了。

   这样我们就可以通过求出的解(也就是稀疏系数),来判断y到底属于哪一类。之前不是说过我们的字典用了700张image,100individual(7each)。

假设test对应的是第三类的样本,那么理论上说第三类的7个系数非零,而其他的99类的系数全零。由于实际中求出的解不可能如此理想,所以我么可以通过判断residual(残差)来决定y属于哪一类。residual

如下:

                                                                                    



    其中,

对应的是第i类的系数,A是字典,y是测试样本。这样我们可以把100类每类的7个系数

分别代入上式,哪一类使得

最小,y就属于那一类。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息