您现在的位置是:首页 >技术交流 >压缩感知重构之基追踪网站首页技术交流

压缩感知重构之基追踪

骑着单车去流浪 2024-09-08 12:01:03
简介压缩感知重构之基追踪

压缩感知中很重要的一步就是重构算法,重构算法关系着重建信号的质量。基追踪算法是凸松弛法是很有代表性的一种算法。

由于我们所要求解的问题是方程的个数远远大于未知数的个数,用0范数求解是很难求解出来的,这样就找到一种用范数来代替范数求解的方法,BP (Basis Pursuit )算法就是利用范数求解的一种很好的方法。BP算法不是直接寻求信号的稀疏表示,只是表示的用于最小化的的系数[1],通过等价信号的最小化的范数表示。下面介绍BP算法的原理。

     BP算法中0范数的模型为:

 范数是稀疏变换中不为零的个数,(1)式的求解比较困难,通过上面的说明,0范数可以用范数进行代替,则(1)式可以表示为:

(2)式表示的是理想的一种情况,在实际的应用中,会混入噪声,也就是:

那么(2)式可表示为:

 

(4)式中为噪声的能量。由于实际模型中会混入噪声,这就需要一种抑制噪声的模型,也就是改进后的BP算法,改进后的BP算法对噪声有一定的抑制作用,那么改进后的模型为 :

BP算法的信号重构

  本节对BP算法进行重构,采用一维离散信号和二维lena信号对其进行信号重构,来观察BP算法的重构功能。

(1)一维离散信号的BP算法仿真

  本次仿真使用matlab随机生成的一维离散信号,稀疏度k=30,信号长度N=1000,观测向量的长度M=200,那么采样率M/N=0.2,其中的观测矩阵是高斯随机矩阵。采用BP算法对一维信号进行重构,重构图如图1:

图1:BP算法一维信号重构图

由图1可以得到,BP算法对一维信号有很好的重构功能。

 

2)二维lena图像的BP算法重构

BP算法对二维信号进行重构,在这里我们采取和MP算法二维信号重构的方法,也是先采取离散余弦变换(dct)使数据稀疏,算法重构结束之后再进行离散反余弦变换(idct),这样就转化为了我们所需要的。本次在matlab中的仿真,我们采用的是256X256的Lena的二维图像,M=180,N=256,稀疏度k=40,M/N=0.7,观测矩阵是高斯随机矩阵,采用BP算法对二维图像进行重构,重构效果如图2(b):

(a) 原始图像             (b) BP算法重构图片

(M/N=0.7)

 

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。