自从05、06年开始,稀疏表示开始成为研究的热点。自从陶哲轩和他的小伙伴们解决了稀疏表示的理论问题,压缩感知或Sparse Representation成为学术界的研究热点。2008年,有Wright在PAMI上发表了一篇Sparse Representation based Classifier(SRC)的文章《Robust Face Recognition via Sparse Representation》。该文章从训练样本中抽取一定的样本构建词典,然后使用词典来表示测试样本,选取对应最小残差值的类作为预测的结果。下面简单介绍该算法的过程。
若Xi表示第i类的训练样本,大小为d*li,d为特征维数,li为样本数量。将所有类别(K类)的训练样本组合成一个矩阵为D=[X1 ... Xi ... XK],大小为d*l。对于任意一个测试样本,可以表示成如下的线性方式:
y = Da (1)
根据线性代数的知识,已知D和y,系数a可以方便的求解出来。但是,一般情况下,l 远大于d。因此,公式(1)没有唯一的解。为了得到唯一的解,需要添加一个约束条件,即系数 a 尽可能的稀疏。因此公式(1)演变为如下的最优问题
y = Da s.t. min ||a|| 1 (2)
上述的问题等同于如下问题:
min ||a|| 1 s.t.y = Da (3)
该问题属于一种线性约束的最优化问题。已经有很多人研究了如何求解该问题,常用的方法包括梯度法,牛顿法等,这里不一一介绍了。
求解得到合适的最优系数a*后,利用残差来确定相应的类别,方法如下:
y* = arg mini ei(y), ei(y) = ||y - Xiai*||2 (4)
通过公式(4)求解对应的类别。下面给出一个测试样本的求解结果。
图中左边图片为一个测试样本;中间为根据公式(3)求解出的稀疏系数a*;最右边是通过公式(4)计算的残差,可以看出第一个类别的残差最小,因此对应的类别为第1类。