基于深度学习SDA的压缩感知图像重构方法

2018-11-17 01:47谢雪晴
计算机工程与设计 2018年11期
关键词:复杂度线性重构

谢雪晴

(重庆工业职业技术学院 信息工程学院,重庆 401120)

0 前 言

压缩感知(CS)是在信号具有稀疏表示的情况下解决线性逆问题的过程,CS框架通过测量矩阵、重构算法和稀疏表示3个方面实现信号的压缩与重构[1-3],目前CS在这3个方面已经取得相当大的进展。

对于测量矩阵:测量矩阵的一个重要性质是必须满足有限等距性质(RIP)[4,5]。常见的随机测量矩阵其元素是独立同分布高斯或伯努利随机变量的随机矩阵[6,7],主要缺点是没有根据所采集的信号来优化设计;自适应方法[8]测量中每个测量是从以前的测量得到信息设计,降低了不确定性,主要缺点是时间复杂度高;确定性测量矩阵的每个测量值是固定的[9,10],可以进行构造,主要缺点是重构质量较随机测量矩阵低。对于重构算法:常见的重构算法分为贪婪算法(重构精度低)、凸优化算法(计算复杂度高)和其它算法等[11-13]。对于信号稀疏表示,常用的稀疏基为小波基或DCT基[14,15],主要缺点是它们是人为构造的,因此限制捕获信号的不同元素之间的复杂依赖性。

本文通过对深度学习和CS理论的研究,针对传统CS算法中线性测量与重构算法的计算复杂度高及重构精度低的问题,提出了一种深度学习SDA的压缩感知框架来测量适应原始信号,用前馈深度神经网络代替传统重构算法,不需要解决线性程序来重构原始信号。该方法能够有效测量适应原始信号,提高重构精度,减少重构时间,达到较好的重构效果。

1 压缩感知

CS过程即存在一个N×N维的稀疏基矩阵Ψ=[Ψ1,Ψ2,…,Ψn],使得x=Ψs,x∈RN,其中s只有K个非零值,且K≪N。因此,CS主要关注从一组欠采样线性测量值中恢复K稀疏信号x的问题,M个测量值通过y=Φx=ΦΨs获取,其中y∈RM是测量向量,Φ∈RM×N为测量矩阵,满足RIP条件

(1)

(2)

这个线性规划可以基于凸优化方法或迭代贪婪算法来求解,这些算法都需要解决优化问题,所以重构计算复杂度较高,本文SDA的压缩感知信号重构方法不需要解决任何优化问题,只使用前馈神经网络从测量中重构图像,使得重构时间大大缩短。

2 基于SDA的CS结构化信号重构

本文方法分为两种情况:①线性测量SDA的CS信号重构方法;②非线性测量SDA的CS信号重构方法。

2.1 线性测量SDA的CS信号重构

在线性测量范式中,测量向量y表示为y=Φx,每个yi(1≤i≤M)是xjs(1≤j≤N)的线性组合。考虑到典型的监督学习框架,其中训练集Dtrain由l个原始信号和相应的测量结果组成的对,Dtrain={(y(1),x(1)),(y(2),x(2)),…,(y(l),x(l))}。基于这个训练集,学习从测量向量y到其原始信号x的非线性映射。然后测试经过训练的深层架构在测试集Dtest中的性能,其组成是由原始信号和它们相应的测量组成的对,Dtest={(y(1),x(1)),(y(2),x(2)),…,(y(s),x(s))}。

用于稀疏重构的SDA结构每一层具有N维(原始信号的维度)的输入和M维(测量向量的维度)的输出,反之亦然。我们使用3层SDA,其中每个层对输入的映射变换应用非线性,接收测量向量作为其输入的第一隐藏层被表示为

xh1=T(W1y+b1)

(3)

其中,W1∈RN×M和b1∈RN分别是第一层的权值矩阵和偏置向量。T(·)是非线性的输入映射函数,使用sigmoid函数作为非线性函数,则T(z)=1/1+e-z。给定权重矩阵W1和偏差向量b1,根据式(3)计算xh1,计算复杂度为O(MN),这与CS贪婪重构算法的一次迭代算法复杂度相同,为了保持每层的计算复杂度,第二个隐藏层和输出层被表示为

(4)

(5)

我们使用反向传播算法来最小化式(5)中定义的损失函数,图1给出了通过原始信号的线性测量馈送的SDA结构,这相当于一个3层神经网络,用原始信号的线性测量值进行馈送,并重构原始信号。

图1 基于SDA的CS线性测量信号重构

2.2 非线性测量SDA的CS信号重构

非线性测量范例的SDA的结构与第2.1节中的结构几乎相同,不同之处在于从原始信号到其测量向量的映射作为SDA的一个层。这个额外的层将使SDA适应其训练集Dtrain的结构。因此,如果有足够的数据,则能够使得测量矩阵很好地适应正在实验的信号类别,这个额外的层表示为SDA的第一层,表达式如式(6)所示

y=F(W1x+b1)

(6)

(7)

图2给出了了非线性测量范式的SDA结构,这相当于有一个4层神经网络从原始信号进行非线性和自适应测量。用于进行测量的非线性函数为了适应反向传播框架,不同于其它层中使用的非线性函数,它是分析性的。

图2 基于SDA的CS非线性测量信号重构

3 实验结果与分析

对于图像压缩与重构的评价指标,本文采用峰值信噪比(PSNR)作为实验评价指标,实验图像的灰度级数为256级,计算方法如式(8)所示

(8)

其中,MSE即为2.1节与2.2节中式(5)和式(7)中的损失函数。

本次实验使用来自imagenet图像数据集中的图像来训练和测试网络。提取每幅图像的中心256×256部分,将其转换成灰度图像并将其分割成32×32的子图像进行实验。SDA压缩感知重构结构中,使用0均值和标准差为0.2的高斯噪声来破坏SDA每一层输入,并让该层将其破坏的输入进行重构作为预训练阶段,之后,使用反向传播算法来调整权重和偏差,实验中使用Theano包实现深度神经网络。

在本节中,将对本文提出的线性SDA和非线性测量SDA的CS信号重构性能进行验证,并与其它CS重构算法进行性能比对,其它重构算法包括:平滑投影landweber(SPL)算法、基于降噪的近似消息传递(D-AMP)算法和全变分(TV)算法。

表1中是对图3中图像的图像重构结果比对结果,压缩采样比M/N=0.25。

表1 不同重构算法的图像重构效果

图3 训练的部分样本图像

从表1中数据可以得到,本文所提线性SDA和非线性SDA压缩感知重构方法与SLP、D-AMP和TV算法相比,本文提出的SDA结构算法具有更好的性能。另外由于图3(a)中Damselfly的重构PSNR较高,是因为具有较多非常平滑和规则的结构,能够使得重构效果更好,图3(e)中Dog重构PSNR较高低,是因为具有较多不规则的结构和纹理,使得重构效果差。

重构效果以Lena图像作为测试图像进行实验。图4给出压缩采样比M/N=0.1的条件下,不同CS重构算法对Lena图的重构。

图4 不同算法对Lena图的重构

从图4可以看出来本文所提的线性和非线性SDA的压缩感知图像重构效果较好,表2给出了不同压缩采样比条件下,不同CS重构算法对Lena图的重构时间性能。由于本文方法不需要解决任何优化问题,只使用前馈神经网络从测量中重构图像,因此重构时间大大缩短。

表2 不同压缩采样比下不同算法的运行时间/s

从表2中可以看到本文所提方法重构时间仅为0.002 s,且不受压缩采样比的影响,在时间性能方面大大优于其它3种重构算法。

4 结束语

本文针对压缩感知现有重构算法的不足之处,提出了一个CS框架即深度学习SDA框架来测量与重构信号,该方法能够从训练数据中学习结构化表示,捕获特定信号的不同元素之间的统计依赖性,支持线性和非线性测量,且本文方法不需要解决任何优化问题,只使用前馈神经网络从测量中重构图像,因此重构精度提高且重构时间缩短。将本方法实验结果与压缩感知SPL算法、D-AMP算法和TV算法进行比较,验证了本文方法是可行与有效的。

猜你喜欢
复杂度线性重构
渐近线性Klein-Gordon-Maxwell系统正解的存在性
长城叙事的重构
线性回归方程的求解与应用
一种低复杂度的惯性/GNSS矢量深组合方法
北方大陆 重构未来
二阶线性微分方程的解法
北京的重构与再造
求图上广探树的时间复杂度
论中止行为及其对中止犯的重构
某雷达导51 头中心控制软件圈复杂度分析与改进