分割原始图像为若干个的块. 这些图像块就是样本集合中的单个样本. 在固定的字典上稀疏分解后,得到一个稀疏向量. 将所有的样本进行表征一户,可得原始图像的稀疏矩阵. 重建样本时,通过原子集合即字典中少量元素进行线性组合即可:
其中,是在上的分解系数,也称为稀疏系数.
字典矩阵中的各个列向量被称为原子(Atom). 当字典矩阵中的行数小于甚至远小于列数时,即,字典是冗余的。所谓完备字典是指原子可以张成纬欧式空间. 如果在某一样本在一过完备字典上稀疏分解所得的稀疏矩阵含有大量的零元素,那么该样本就可以被稀疏表征,即具有稀疏性。一般用$l_0$范数作为稀疏度量函数,图像的稀疏表征数学模型如下:
稀疏表征不仅具有过完备性,还应该具有稀疏性。对于一个过完备字典,为了可以分解出更合适且稀疏的稀疏表征,应当含有更多的原子。
在稀疏表征理论方面的研究主要可分为两个方面:字典的构建和稀疏编码.
稀疏编码的目标就是在满足一定的稀疏条件下,通过优化目标函数,获取信号的稀疏系数. 经典的算法有匹配追踪(Matching Pursuit,MP)、正交匹配追踪(Orthogonal Matching Pursuit,OMP)、基追踪(Basis Pursuit,BP)算法等.
MP算法是稀疏表征中用于稀疏求解的最基本方法之一. 我在学习过程中参考网上一些资料,觉得大部分写得比较理论化,看起来稍微吃力一些. 阅读了Koredianto Usman的Introduction to Matching Pursuit(MP)一文,我觉得这篇文章写得很不错,从实例出发,很好接. 这篇博文是我对该文章翻译的基础上而写的.
注:
考虑下面一个简单例子:
给定稀疏信号
字典矩阵A为:
(注:原文中称为measurement matrix)
所以,
现在,给定和,
如何求得$x$呢?
在上面的列子中中的列向量称之为Basis(基)或者Atoms(原子). 所以,我们有如下原子:
因为,如果我们令.
是原子,,的线性组合
从上面的方程可以看出,对值的贡献最大,然后是,最后是. 匹配追踪算法刚好逆方向进行计算:我们首先从,,中选出对值贡献最大的,然后从差值(residual)中选出贡献次大的,以此类推.
而贡献值的计算通过内积(点积)进行计算,MP算法步骤如下:
下面进行实例计算:
首先,分别计算和,,的内积:
取绝对值以后,我们可以发现与得到最大的内积值. 然后,在第一步中我们选择. 接下来计算差值:
接来下,计算差值和,的内积:
取绝对值以后,对值的贡献最大。
接下来,计算差值
最后,计算与的内积:
所以,最后的三个稀疏稀疏是
这和准确的系数很接近
反酸回去,和给定的也很接近.
从下面的图,我们可以很清楚地看到MP算法的实质:就是利用原子向量的线性运算去逐渐去逼近信号向量,经过不停地迭代,最后达到给定的稀疏度.
匹配追踪算法可以直接得到信号稀疏性的表达. 以贪婪迭代的方法选择$\mathrm{D}$的列,使得在每次迭代的过程中所选择的列与当前冗余向量最大程度的相关.
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有