仲元红 周宇杰 张 静 张晨旭
(重庆大学微电子与通信工程学院 重庆 400044)
压缩感知(Compressive Sensing, CS)理论[1–3]打破了传统奈奎斯特采样定理的约束,不再对采样频率提出2倍最高频率的要求,该理论指出,在信号具有稀疏性的前提下,利用将高维信号映射到低维信号的方式直接实现信号的压缩和采样,最后通过非线性优化问题的求解就可以实现原始信号的精确重构。压缩感知理论将压缩和采样相结合,自提出后迅速在图像视频处理[4]、雷达[5]、医学核磁共振[6]等领域成为研究热点。
重构问题是压缩感知理论研究的一个重点,主要是通过求解一个NP-Hard问题来实现信号的精确重构,但该问题不存在唯一解,因此,学者针对重构问题的求解展开了大量的研究。多年来,关于压缩感知重构算法的研究主要分为两类:传统的重构算法以及基于深度学习的重构算法。
传统的重构算法除了较早的非凸优化算法[7,8]、贪婪匹配追踪算法[9–11]、凸优化算法[12,13],基于模型的重构算法是最为普遍的一种重构方法。前3种重构算法都是在信号稀疏性的基础上展开的,但是恢复效果通常不尽如人意。基于模型的重构算法则是围绕信号的先验信息进行研究,即利用不同的先验信息来建立不同的重构模型,其重构效果优于其他3类算法。针对低秩先验,Dong等人[14]提出了非局部低秩正则化压缩感知(Compressive Sensing via Nonlocal Low-rank Regularization, NLR-CS)方法来利用结构化稀疏性,Friedland等人[15]提出了一种用于高阶张量CS的统一框架—广义张量压缩感知(Generalized Tensor CS, GTCS),该框架在保留了张量数据的固有结构的同时,还降低了重构过程的计算复杂度。Zhang等人[16]利用组的概念作为稀疏表示的基本单位,每个组是由具有相似结构的非局部块组成,在此基础上建立了一种新颖的基于组的稀疏表示(Group-based Sparse Representation, GSR)。但是,上述算法需要耗时的图像块搜索或矩阵反转操作,明显增加了计算时间,降低了算法效率。
深度学习在各种高级图像处理任务中表现出的良好性能,广泛地受到了各个领域的研究学者的推崇和研究。近年来,有学者提出将深度学习框架应用到压缩感知领域中来,该想法一经提出就得到了许多学者的认同,也研究出了很多优秀的深度压缩感知重构算法[17–22],在一定程度上有效地克服了传统压缩感知算法的弊端。
最开始将压缩感知理论和深度学习相结合的是由Mousavi等人[17]提出的堆叠去噪声自动编码器(Stacked Denoising Autoencoder, SDA),它采用无监督的方式实现了测量值和真实值之间的端到端映射。非迭代重构网络(Non-Iterative Reconstruction Network, ReconNet)[18]首次将卷积神经网络使用到压缩感知中,通过全连接层和卷积层实现图像的有效重构,但ReconNet仍是采用随机高斯矩阵作为测量矩阵。在ReconNet的基础上提出的深度残差网络(Deep Residual Reconstruction Network,DR2-Net)[19]结合了ReconNet的结构和残差的思想,进一步提高了重构图像的质量。与此同时,许多学者也对测量矩阵进行了相关的设计,CSNet(Compressive Sensing Network)[20]不再采用传统的矩阵采样的方式,而是利用一层卷积层直接实现信号的采样。上述提出的网络虽然都能有效地提高重构图像的质量,但都需要针对不同采样率的单独训练,这极大地增加了训练成本。因此,Shi等人[21]提出了一种可伸缩的卷积神经网络SCSNet(Scalable Compressive Sensing Network),该网络仅使用一个模型来实现任意采样率下的采样和重构。
将传统的基于图像先验重构算法和深度学习相结合也是深度压缩感知重构算法的一个研究方向,受迭代收缩阈值算法(Iterative Shrinkage-Thresholding Algorithm, ISTA)的启发,Zhang等人[22]提出了一个深度重建框架ISTA-Net,该模型将基于先验信息的图像重构模型在深度学习的框架下展开,建立了基于深度学习的图像重构网络,取得了非常好的效果。在ISTA-Net的基础上,Zhang等人[23]提出了一个受优化思想启发的端到端的深度网络OPINE-Net (OPtimization-INspired Explicable deep network),通过采样子网,初始化子网和重构子网建立完整的重构模型,实现了图像的有效重构。这类重构算法不仅为压缩感知理论的发展提供了理论基础,而且其重构性能也不亚于基于纯深度学习的重构网络。
ISTA-Net虽然实现了图像的重构,但其仍存在块效应等问题,且并未很好地利用图像的先验信息。与此同时,考虑到图像非局部先验在传统重构算法中有效提升了图像的重构质量。因此,本文结合稀疏性先验与非局部先验,提出了一种新的基于深度学习的图像重构算法,主要创新点有:(1)提出一个结合稀疏性与非局部自相似性先验的图像重构模型;(2)在半二次方分裂框架下展开求解,将重构问题转化为3个简单的子优化问题;(3)每个子问题的求解都在深度学习的框架下展开,最后联合采样重构建立端到端的可训练的重构网络。
压缩感知中,对于信号x∈RN,其经采样后的测量值y∈RM可以表示为
其中,A∈RM×N表示测量矩阵,且M≪N,通常为随机高斯矩阵。根据压缩感知理论,如果信号x满足稀疏性要求,则可以根据测量值对原始信号进行精确重构,即可以从等式(1)直接恢复x。但由于测量值y远远小于x,因此这是一个不适定的问题。为了求解上述问题,通常通过添加信号固有的先验信息作为约束,于是建立了优化问题
上述重构算法都是基于图像先验来建立重构模型,而基于深度学习的重构算法更是使得重构算法的性能得到了进一步的提升,其中,较为突出的基于卷积神经网络的重构算法(CS-Net),用卷积层取代了传统重构算法中的测量矩阵,完全在深度学习的框架下实现压缩感知的采样和重构过程,但CS-Net对每一个采样率都需要单独训练,训练成本高。可伸缩的图像重构算法(SCS-Net)实现了任意采样率下的图像重构,有效解决了CS-Net存在的问题,但其模型的参数数量较大。相比于传统的重构算法,基于深度学习的重构算法能够有效地实现图像的实时重构,提升图像的重构质量。
除了基于深度学习的重构算法,基于迭代收缩阈值算法的深度重构网络ISTA-Net结合了传统的图像先验和深度学习,提出了一种结构化深层网络。ISTA-Net是在优化算法的基础上,提出了图像重构模型
ISTA-Net通过设计结构化深度网络能够进一步提升图像的重构质量。受ISTA-Net的启发,本文通过稀疏先验和非局部先验相结合,提出了基于非局部先验深度图像重构模型,该模型能够将多种先验与深度网络相结合,实现不同采样率下的图像重构质量的提升。
根据对压缩感知重构算法的大量研究发现,单独利用稀疏性进行重构时,在采样率较低的情况下图像的重构质量较差,并且重构算法的性能得不到更好的提升[16]。但在传统压缩感知方法中,利用非局部相似性、低秩、组稀疏重构算法能够更有效地去除图像块效应,提升图像重构性能。深度先验已被证明能在压缩感知图像重构领域取得良好的效果,因此,本文提出一种基于非局部先验的深度图像重构网络,整体结构如图1所示,分为采样、初始重构和深度重构网络,网络通过将稀疏、非局部先验和深度网络相结合进行学习的方式达到提升重构性能的目的,接下来的内容将详细介绍网络的各个结构。
图1 本文提出的网络模型的整体结构
在深度重构网络中,本文首先结合稀疏先验和非局部相似性先验,建立如下优化模型
其中,R(x)表 示正则项,即先验信息,Rl1(x)为L1稀疏正则,Rnon-local(x)为非局部正则。通过对上式进行求解就可以实现图像的准确重构。但对上式直接求解计算复杂度很高,为了简化等式的求解,本文利用半二次分裂(Half Quadratic Splitting,HQS)进行求解。
半二次分裂是针对如下的优化目标
上述半二次方分裂能够有效地简化求解,因此,对于本文的模型,采用半二次方分裂,引入辅助变量b和q,可以将式(7)等价为以下子问题交替求解
式(12)若直接使用数学求解的方式,存在计算复杂度高且模型性能不高的问题。受到ISTANet深度模型求解的启发,本文针对上述3个子问题的求解做如下处理:对于x子问题,采用卷积神经网络(Convolutional Neural Network, CNN)实现;对b子问题,利用ISTA-Net,通过学习的方式对其进行求解;对q子问题,在可学习的非局部网络的基础上进行求解。本文模型的整体网络结构如图1所示。接下来本文将对上述3个子问题的网络结构做详细的介绍。
3.2.1 x子问题
对x子问题,其表达式为
如图2所示,x子问题的求解是一个非线性重构过程。利用CNN来实现此功能。该网络包含5层,其中,除第1层和最后1层以外,中间3层的网络结构相同。中间层为大小为3× 3的卷积核,每一层输出为32个通道下的特征图。第1层是在初始重构输出上运行的,它具有大小为3× 3的卷积核的32个特征图,最后1层由大小为3× 3的32通道的单个滤波器组成。
图2 x子问题的求解模型
3.2.2 b子问题
根据ISTA-Net的求解思路,存在非线性变换使得
针对上述b子问题的求解过程,其网络结构如图3所示。
图3 b子问题的模型结构
对于b子问题的网络,其中,每个阶段的参数都是需要训练来进行优化的,其中,卷积层中卷积核的大小设置为3×3,特征图的通道数为32,激活函数选择ReLU。
3.2.3 q子问题
针对q子问题,本文采用非局部神经网络(Nonlocal Net)[28]的思想进行求解。非局部神经网络是根据非局部均值方法的原理,实现了将某个位置的响应计算为所有位置的特征的加权总和的非局部运算,q子问题的模型结构如图4,其非局部模块的结构如图5所示。
图4 q子问题的模型结构
对于q子问题,本文将其视为一个非线性优化问题,通过非局部神经网络实现信号的重构过程,该网络参数如图5所示。其中,θ, ψ, δ是 大小为1×1的卷积核,×表示张量乘积。输入x和输出z保持相同的维度。
图5 非局部模块结构
为了验证本文提出的网络的有效性和图像重构质量,本文的训练集采用与多个主流基于深度学习的重构算法一致的数据集91image[16,19],即有91张图像的数据集,本文提取88912个随机裁剪的图像块生成训练集,每个图像块的大小为33×33。对于测试集,本文选择了3个广泛使用的基准数据集:Set5[29], Set11[16], BSD68[30],分别含有5张、11张和68张灰度图像。
本文所有实验均在Intel i7-8700K处理器、3.2 GHz主频、15.6 GB内存的计算下运行,并使用GTX1080Ti GPU 进行加速,操作系统为Ubuntu 16.04发行版。评价标准采用峰值信噪比(Peak Signal- to-Noise Ratio, PSNR)作为客观的质量评价指标。
在本文中,首先测试了Set11中8张大小为256× 256的常用灰度图像,如图6所示
图6 测试图像
为了验证所提网络的有效性,本文在10%,20%和30%这3个采样率下,将ReconNet, ISTANet, CSNet和SCSNet 4种算法作为对比算法继续了测试。这4种算法均为当前具有代表性的基于深度学习重构算法。ReconNet是较早将卷积神经网络与压缩感知相结合的图像重构算法,CSNet是首次将图像的压缩和重构联合进行训练,以1层卷积层作为采样,然后通过设计的重构网络实现图像信号的准确重构,是当前的一种优秀的端到端重构算法,其重构性能也优于当前重构算法。SCSNet则是在CSNet的基础上提出的可实现多采样率的图像重构网络,其性能较CSNet更优。ISTA-Net通过深度展开的方式建立了基于图像先验的重构网络,其性能不亚于当前的基于纯深度学习的重构算法。
表1给出了10%, 20%和30% 3种采样率情况下的各个算法重构图像的PSNR值。从表1可以看出,本文模型重构图像的PSNR值相对比SCSNet算法具有相当的结果并略高于SCSNet,明显高于其他3种对比算法的PSNR值。在采样率为20%时,本文提出的重构网络算法的PSNR均超过了其他3种重构算法的结果,分别比Recon-Net, ISTA-Net+,CSNet和SCSNet平均提升7.47 dB, 1.70 dB, 1.98 dB和0.24 dB。也就是说,本文提出的重构网络性能优于当前的基于深度学习的重构算法,是一种高效且准确的图像重构网络,在一定程度上实现了图像信号的有效重构。
表1 不同图像下各种重构算法的PSNR(dB)对比
为了对模型性能进行更进一步的评估,本文测试了3个数据集下的模型重构效果,分别为Set5,Set11和BSD68,这3个数据集都是压缩感知理论中广泛使用的自然灰度图像数据集。不同数据集下的重构结果在表2给出,通过该表可知,在Set11和BSD68数据集下,本文的重构网络的平均PSNR高于其他4种重构算法,在测试的采样率与数据集下本文提出的重构网络的PSNR与当前主流的重构算法SCSNet相比平均提升了0.18 dB,与CSNet算法相比平均提升了约1.70 dB,与ISTA-Net+算法相比平均提升了约2.09 dB,与ReconNet算法相比平均提升了约5.70 dB。
表2 不同数据集下各种重构算法的PSNR(dB)对比
为了更直观地给出重构图像的对比结果,图7给出了在10%的采样率下,各个对比算法对图像Parrots和House的重构结果,图8给出了在20%的采样率下各个对比算法对图像Monarch的重构质量。从图中可以看出,ReconNet重构出的图像整体较为模糊,图像纹理结构不够清晰,ISTA-Net+和CSNet能够有效地重构图像,但ISTA-Net+存在较强的块效应。SCSNet的重构效果在CSNet的基础上得到了进一步的提升,重构图像具有更高的质量。本文提出的算法重构出的图像相比于上述4种重构算法具有更高的视觉质量,图像纹理更为清晰。综上所述,本文提出的重构算法是一种有效且准确的重构算法。
图7 在10%采样率情况下图像Parrots和House的重构图像
图8 在20%采样率情况下图像Monarch的重构图像
为了更直观地展示出非局部网络通过加权融合的不同信息,本文对非局部模块中的特征图进行可视化分析。具体操作为提取非局部模块最后一层的特征权重,做全局平均池化运算后叠加原图,如图9所示,颜色相同的区域即为非局部相似区域,说明非局部模块起到了非局部注意的作用,其通过计算各个位置上的相似度,有效提升了模型的效率和重构效果。
图9 非局部模块特征图
为了衡量本文网络的稳定性,图10(a)给出了在Set11数据集下不同采样率的PSNR迭代变化曲线;图10(b)给出了在20%采样率下,本文算法、ISTA-Net+与ReconNet3种算法在本文所采用的训练集下重新训练后,在Set11数据集下的收敛曲线;图10(c)给出了在20%采样率Set11数据集下变量b和q的收敛曲线;图10(d)给出了在20%采样率训练时,损失函数中均方误差损失和对称约束损失的收敛曲线。随着训练次数的增加,PSNR值逐渐趋于稳定,损失函数收敛,模型能够减小重构误差且满足对称约束,说明本文提出的重构算法是一种稳定有效的重构算法。
图10 算法收敛性分析
本文结合图像先验信息和深度学习提出了一种基于非局部先验的深度图像压缩感知网络,该网络联合训练测量矩阵和重构网络,本文利用卷积层模拟采样过程,相比较传统的采样方式更利于进行多个图像块训练,利用卷积层和像素洗牌进行初始重构,在深度图像压缩感知网络中结合图像稀疏先验和非局部相似性先验建立对应的数学模型,然后利用半二次方分裂将其分解为多个子问题,每个子问题都在深度学习的框架下进行求解。本文利用卷积神经网络、ISTA-Net和非局部网络实现各个子问题的求解,最后联合建立了一个完整的端到端的可训练的图像压缩重构模型,本文提出的重构网络和其他主流的重构算法相比具有较为明显的质量提升,同时整个框架既是可解释的又保留了良好的数学特性。未来将基于本文工作,探索在视频压缩感知中的应用。