基于改进CNN的压缩感知自然图像重建方法

2022-10-14 05:51许富景陈长颖杜少成
中国测试 2022年9期
关键词:残差卷积向量

许富景, 陈长颖, 杜少成

(1. 山西大学自动化与软件学院,山西 太原 030013; 2. 山西大学数学科学学院,山西 太原 030006)

0 引 言

随着压缩感知(compressed sensing,CS)及其重建方法的不断发展[1-2],该方法被广泛应用在遥测遥感、海洋探测、医疗影像等三维图像重建领域[3-5],并且推动了相关领域新型成像设备的研制[6-7]。然而,传统压缩感知图像重建算法存在着压缩率低、所需存储空间量大等问题[8],尤其在高清成像领域,图像大数据给存储空间带来巨大的挑战,分块压缩感知理论[9]的提出大大减少了所需的存储空间。为了进一步提高图像的重建质量,Dinh等人提出了一种新的测量矩阵[10]来改善低采样率下图像的重建精度,Gao等人结合图像的局部平滑特点设计出局部结构测量矩阵[11]使得图像的重建精度得到明显提升。

基于神经网络的压缩感知图像重建算法能够有效改善图像的重建性能。Mousavi等人首次提出利用堆叠式降噪自动编码器(SDA)[12]从少量测量向量中重建图像的方法取得了很好的重建效果。文献[13]在重建阶段使用卷积从高斯测量向量中重建图像,在其网络结构基础上,文献[14]在重构阶段引入残差网络来缩小初始重建图像与原图像之间的差距进而得到更高的重建精度。Dong等人利用卷积神经网络(CNN)[15]通过端到端的学习方式从低分辨率图像中重建出高分辨率图像。上述这些重建方法均利用随机测量向量来重建图像,而随机测量向量不能有效保留原信号的主要信息,为此,自适应测量向量被人们提出来。Wang等人使用深度神经网络[16]来模拟信号的稀疏编码过程,获得的测量向量中保留了原图像的更多有用信息。Xie等人利用全连接层[17]获得从原始信号中学习得来的自适应测量向量,利用该测量向量重建出来的图像的PSNR值有明显的提高。然而,由于全连接层的参数冗余,利用全连接层获得测量向量的方法不仅增加了运算时间还容易造成过拟合。

针对上述问题,本文提出了一种基于改进CNN的压缩感知自然图像重建方法,该方法将传统压缩感知图像重建算法与卷积神经网络相结合,它的主要创新思路如下:首先采用卷积网络自适应获得测量向量,这比采用传统压缩感知测量矩阵(随机高斯、伯努利等)得到的随机测量向量更多地保留了原图像的主要信息。其次,在初始重建阶段使用的子像素卷积网络的放大倍数是通过训练、学习得到的,其放大性能比传统的双线性插值、双三次插值及反卷积网络等更加准确,从而重建出了更高质量的图像。最后,利用深度残差网络进一步缩小初始重建图像与原图像之间的残差,该方法有效提升了传统压缩感知图像重建方法的重建精度。

1 基础理论

1.1 压缩感知图像重建的测量矩阵

压缩感知理论打破了传统奈奎斯特采样定理最低采样频率的局限,当信号能被稀疏表示时,压缩感知理论可以利用亚采样得到的少量测量向量重建原信号。压缩感知理论的观测过程将采样和压缩集为一体,测量矩阵的设计关系着测量向量和重建信号的质量,它必须满足约束等距性质(RIP)[18]。图1所示的压缩感知原理图中存在如下等式关系:

图1 压缩感知原理图

其中,y∈RM×1,x∈RN×1,Φ∈RM×N。

测量向量y中 的元素可看作是原信号x通过观测矩阵Φ从高维空间到低维空间的线性映射,因此测量向量y中保留了原信号的有用信息能够用来重建原信号。若原信号x在 稀疏域Ψ 上为K阶稀疏信号,则x在Ψ域上可以表示为:

将等式(2)代入等式(1)中有:

其中,等式(3)中常见的观测矩阵Φ有随机高斯矩阵、随机伯努利矩阵等。

1.2 压缩感知传统的重建算法

传统压缩感知理论重建算法包括贪婪算法[19-20]、凸优化算法[21]和迭代算法[22]。这些重建算法通过测量矩阵Φ得到测量向量y, 利用M维的测量向量y和测量矩阵Φ求 解出N维的原信号x。 由于M≪N,所以不能通过直接逆向求解等式(1)来求出原信号x的唯一解。然而,当原信号x在某个变换域Ψ上有稀疏信号θ,它的稀疏度为K且满足K≪M,那么可根据等式(3)求解出稀疏信号θ,再结合等式(2)便求出原信号x,即传统重建算法是将高维的原信号线性映射到某变换域后得到原信号的稀疏表示再进行优化求解,该过程可表示为求公式(4)中的优化目标:

这种通过迭代方式求优化解的重建算法的计算复杂度高并且在低采样率下图像的重建精度很低。近几年,结合卷积神经网络的压缩感知图像重建算法在重建图像任务中发挥了很好的作用。

1.3 卷积神经网络基础理论

卷积神经网络是常见的深度学习算法之一,它是一个多层网络结构能够自动提取图像特征,还可以直接把图像作为输入使多维图像处理更加简便,因而被广泛应用在图像处理领域。卷积神经网络结构图如图2所示,它的运算主要有:卷积运算、池化运算、全连接运算和识别运算。卷积运算通过卷积核与输入的图像做卷积得到特征值,由于卷积运算属于线性操作而实际的图像处理多为非线性问题,故需要在卷积层后加入激活函数层,以此来增加卷积运算的非线性拟合能力并加快训练网络模型,常用的激活函数有ReLU、Tanh和PReLU,它们的函数分别对应如下:

图2 卷积神经网络结构图

卷积运算的过程可以表示为:

式中:xij——当前层的特征映射;

f(·)——激活函数;

xii-1——上层特征映射;

wiij——第l层 ,(i,j)位置的权重;

bij——偏置。

池化运算可看作是对上一运算结果做进一步的特征提取和压缩,常用的池化类型有最大池化和平均池化,最大池化输出局部接受域的最大值,该过程可表示为:

平均池化输出局部接受域的平均值,该过程可表示为:

式中:yu,v——池化运算对应的特征图上的区域;

i,j——索引;

ai,j——池化的激活值。

池化运算对卷积的运算结果做了特征降维,使模型的容错性得到提高并有效缓解过拟合。

全连接运算对前面提取的特征进行分类起到分类器的作用,它把卷积和池化运算的结果进行组合并提取整合输出的有用信息,把信息从高维变换到低维,然而全连接层的参数过多会增加运算时间并容易造成过拟合。

卷积神经网络输入与输出之间本质上可以看作是一种映射关系,通过训练可以把图像中的主要信息提取整合并将数据特征映射保留在神经网络中。

2 基于改进CNN的压缩感知重建算法

2.1 结合卷积神经网络的压缩感知重建算法

压缩感知图像重建算法的目的是从测量向量y中重建原信号x, 其中,y∈RM×1,x∈RN×1。因为M≪N,所以同一个测量向量y可以重建出多个不同的信号x。 把从y到x的映射近似看作线性映射,该映射关系可以表示为:

其中W∈RN×M是线性映射矩阵,方程y=Φx(M≪N)不是唯一解。原信号和它相对应的测量向量分别表示为:xi∈RN×1,yi∈RM×1, 把包含N个训练样本的训练集表示为:{(y1,x1),(y1,x1),···,(yN,xN)}。通过评估映射矩阵Wf来保证的偏差最小。损失函数如式(12)所示:

式中:xi——第i个原信号(训练样本);

N——训练集中的样本总数。

利用自适应矩估计优化算法(Adam)[23]优化网络模型参数并通过反向传播来最小化损失函数,可以得到最优映射矩阵Wf

和等式(13)中训练样本所对应的自适应测量向量yi:

基于卷积神经网络的压缩感知自然图像重建算法结构示意图如图3所示,其第一个卷积层后面引入最大池化层来压缩图像,最大池化层可以输出局部接受域中的最大值能更好保留图像的纹理特征,因此被广泛应用在图像处理领域,它的原理为:首先利用卷积网络自适应获得测量向量yi, 把yi作为初始重建阶段子像素卷积的输入并恢复出低分辨率初始重建图像,生成初始重建图像的过程可以表示为:

图3 基于改进CNN的压缩感知自然图像重建算法结构示意图

其次,为进一步缩小初始重建图像与原图像xi之 间的误差,在它们之间引入残差网络Fr(,Wr)来估计差值, 其中,是Wr残差网络的参数,该过程可以表示为:

将初始重建图像与从残差网络得到的残差估计值相融合,该过程可以表示为:

把和分别代入等式(14)和等式(15)中便得到经过残差网络改善后的重建图像,该过程可以表示为:

2.2 子像素卷积网络

子像素卷积原理图如图4所示,子像素卷积利用像素清洗层将输入图像的像素重新排列从而实现对图像的上采样运算[24]。当一个上采样操作的放大倍数为r时,子像素卷积需要输入r2个由图像构成的同等大小的特征张量。上采样后的图像上位于(x,y)处 像素的值由第c张特征图中位于处的像素点。该过程可以表示为:

图4 子像素卷积原理图

假设要利用子像素卷积进行缩放因子为r的上采样操作,记上采样之前特征图的大小为:H×W×C,首先通过卷积运算输出大小为rH×r2W×C的特征图,然后经过像素清洗层将特征图的大小调整为:rH×rW×C,如:要利用子像素卷积将二维图像放大2倍,则需要生成(22=4)4个同等大小的特征图,即通道数被扩充为原来的4倍。特征图的大小调整为:rH×rW×C,如:要利用子像素卷积将二维图像放大2倍,则需要生成(22=4)4个同等大小的特征图,即通道数被扩充为原来的4倍。特征图做完卷积后再经过像素清洗层作特定排列,像素清洗后的特征通道数又恢复为初始输入时的大小,而每个特征图的尺寸则会变大为原来的2倍。

本文使用子像素卷积来初始重建图像,其结构图如图5所示。该子像素卷积网络由两个结构相同的子像素卷积模块组成,每个子像素卷积模块包括一个卷积层、一个像素清洗层和一个激活函数PReLU层。由于子像素清洗层能确保前面的卷积运算在低分辨率空间上运行所以减少了卷积的运算时间,而激活函数的使用给神经网络中引入了非线性特性使得输出不再只是输入的线性组合,增强了神经网络的表达能力。假设特征通道数为16,卷积核的大小为3×3,则该卷积核的特征通道数为16×放大倍数的2次方。

图5 子像素卷积网络结构图

由于像素的扩展方式由其对应的卷积决定,而卷积的参数是通过学习得到的,所以子像素卷积这种基于学习的图像上采样方法较传统放大方法(双线性插值、双三次插值等)可以更好地拟合像素之间的关系,从而得到更高质量的初始重建图像。

2.3 残差网络

训练网络模型的数据集中常存在冗余信息导致降低了神经网络学习图像特征的效果,且随着网络深度的增加,训练产生的错误也逐渐累积,冗余的网络层因学习了非恒等映射参数而导致模型退化,为解决此问题本文引入了残差网络。

传统的残差结构包含直线向下的残差映射方式和弧线向下的捷径连接映射方式。前一种可以学习给定输入与期望输出之间的残差,后一种则能确保残差网络中的每个卷积层都有一条将自己的输出直接传给较前卷积层的短连接并通过前向传播特征实现恒等映射,恒等映射可以保证误差在反向传播过程的梯度信息不受影响地通过捷径连接传向浅层并达到缓解梯度消失现象的效果。该捷径连接映射方式还可提高神经网络提取目的特征的能力,促进网络模型的优化和训练。

用x表示给定的输入参数,H(x)表示底层映射的期望输出,文献[25]中使用几个卷积运算来拟合H(·)并 且期望H(·)是一个恒等映射。然而现实中很难直接把H(·)优 化为恒等映射,给定输入x与期望输出H(x)之 间会产生残差F(x),即:

若H(x)与x近 似相等则残差F(x)将趋于0,由于卷积层的权值常被零初始化所以容易通过训练卷积层来实现让等式(15)中的残差F(x)趋于0并得到恒等映射的输出H(x)。

本文的残差网络是由四个结构相同的残差块组成,每个残差块包含两个卷积和一个跳连接,如图6所示。其中,卷积核的大小为3×3,每个卷积核有16个特征通道,卷积层后跟有批处理归一化层[26]和激活函数PReLU层,批处理归一化可以增强响应大的元素同时抑制响应小的元素,有效提升了模型的泛化性,残差网络中的激活函数为网络模型引入的非线性特性不仅增强了神经网络的表达能力,还提高了网络模型的精度,使重建质量得到进一步提升。

图6 残差网络结构图

残差网络进一步缩小了初始重建图像与原图像xi之间的误差,可以通过方程(21)求出它们之间的残差估计值:

将初始重建图像与从残差网络得到的残差估计值相融合,得到经过残差网络改善后的重建图像x*i,该过程如等式(17)所示。本文所提的基于深度学习的压缩感知自然图像重建方法中引入残差网络使得模型退化和梯度消失问题得到有效解决,并提升图像的重建精度。

3 实验结果与分析

3.1 实验设置

本节用峰值信噪比(PSNR)和结构相似性(SSIM)来评估本文所提算法的性能,分别比较了压缩感知理论的典型重建算法和基于卷积神经网络的压缩感知重建方法,它们的仿真实验均在Windows 10系统下的python3.6中实现,建模采用版本为torch1.4.0的Pytorch深度学习框架,并利用CuDNN进行加速。实验中设置:学习率为0.000 1,批归一化大小为 128,迭代轮数为400。

模型训练使用COCO2014数据集中的train2014(7 007张图片)和val2014(3 504张图片),利用这10 511张图像随机裁剪成64×64的子图像来训练网络模型,测试集使用了数据集Set5(5张图片)和Set14( 14张图片)[27-28]。

3.2 仿真与分析

3.2.1 与传统压缩感知重建算法比较

如图7、图8所示,在采样率为0.25的情况下将本文所提算法(Pro)与文献[20]的正交匹配追踪算法(OMP)和文献[9]的分块压缩感知算法(BCS)分别对set14中的man和bridge进行图像重建,从图中观察到基于迭代的正交匹配追踪算法和分块压缩感知算法在采样率为0.25时SSIM的值很低,图像细节不清晰甚至损失,而本文所提算法在PSNR、SSIM和视觉效果这三方面要明显优于压缩感知理论的传统图像重建算法,并且其PSNR值较正交匹配追踪算法和分块压缩感知算法高出17.6 dB 和11.28 dB,值得注意的是,由于传统压缩感知图像重建算法属于迭代运算其重建过程耗时,本文所提算法重建一张图像仅需要几秒并且在低采样率下有着较高的图像重建精度。

图7 在采样率为0.25时,对Set14man图像重建性能比较

图8 在采样率为0.25时,对Set14bridge图像重建性能比较

3.2.2 与传统卷积神经网络重建算法比较

为了比较使用卷积网络获得自适应测量向量的优势,与文献[15]中使用插值方式获得随机测量向量的超分辨率图像重建算法(SRResnet)以及Pro_bili和Pro _bicu做比较,其中,Pro_bili和Pro_bicu分别为去掉图3网络结构中的最大池化层并保持其他结构和参数不变的情况下利用双线性插值和双三次插值来获得随机测量向量的算法。如图9、图10所示,在采样率为0.25和0.062 5的情况下将本文所提算法(Pro)、超分辨率图像重建算法(SRResnet)、Pro _bili和Pro _bicu对Set5中的woman进行图像重建。上述算法中只有 Pro是使用最大池化层自适应获得测量向量,其他均使用插值方式获得随机测量向量,通过仿真数据和图像重建质量的对比可以看出Pro的SSIM值在低采样率下有明显的优势,其PSNR比SRResnet、Pro _bili和Pro _bicu 高出1.78~4.72 dB,这是由于最大池化层的输出是局部接受域中的最大值,这能更有效地保留图像的纹理特征从而重建出更高质量的图像,实验结果表明在低测量率下本文所提算法自适应获得的测量向量能保留图像更多主要信息从而有效提升图像的重建质量。

图9 在采样率为0.25时,对Set5woman图像重建性能比较

图10 在采样率为0.062 5时,对Set5woman图像重建性能比较

为了验证初始重建阶段使用子像素卷积的优势,将本文算法与初始重建阶段使用反卷积网络的全卷积重建算法做比较。如图11、图12所示,在采样率为0.25和0.062 5的情况下使用本文所提算法(Pro)与文献[2]的全卷积重建算法(Fully_Conv)和Pro _nor*分别对Set14中的foreman进行图像重建,其中:Pro _nor*为去掉图3模型结构中的残差网络并保持其它结构参数不变的方法,它是为了验证最后重建阶段使用深度残差网络的优势。在不同采样率下三种重建算法的SSIM结果相差不大,Pro的PSNR值比Fully_Conv高出2.36~2.38 dB,它们的实验结果反映出本文所提算法使用子像素卷积进行初始重建的重建性能优于使用反卷积进行初始重建的Fully_Conv,这是由于子像素卷积通过像素清洗层将输入图像的像素重新排列实现对图像的上采样运算,相较于反卷积它有更高的计算性能,所以基于学习的子像素卷积能得到更高质量的重建图像。Pro _nor*和Pro的实验结果展示出残差网络对图像重建精度的影响,在不同采样率下含有残差网络的PSNR值比不含残差网络高1.57~2.74 dB,这是由于引入的残差网络能进一步缩小初始重建图像与原图像之间的误差从而有效提升图像的重建精度,该实验结果验证了在重构阶段引入残差网络的优势。

图11 在采样率为 0.25时,对Set14foreman图像重建性能比较

图12 在采样率为0.062 5时,对Set14foreman图像重建性能比较

3.3 整体对比

本节使用六种重建算法SRResnet、Pro _bili 、Pro _nor*、Pro _bicu、Fully_Conv和Pro对六张图片man、bridge、foreman、woman、zebra和butterfly进行重建并对比它们的PSNR和SSIM值。表1和表2中黑色加粗数据是本文所提算法的PSNR、SSIM结果,红色加粗数据是其他重建算法重建六张图片的PSNR和SSIM的平均值。在采样率为0.25和0.062 5的情况下本文所提算法达到了最高的平均PSNR和SSIM,它的平均PSNR值分别高出其他方法1.58~4.56 dB和 1.86~3.55 dB,这表明在低采样率下本文所提算法具有更高的重建精度。

表1 采样率为0.25和0.062 5时的PSNR结果

表2 采样率为0.25和0.062 5时的SSIM结果

4 结束语

针对传统压缩感知图像重建算法存在的运算量大和重建精度低等问题,本文提出了一种基于改进CNN的压缩感知自然图像重建方法,该方法首先利用卷积网络自适应获得测量向量,其次,将保留了原图像更多有用信息的自适应测量结果输入到子像素卷积网络中来初始重建图像,由于子像素卷积可有效避免引入过多人工因素,能较好地整合像素之间的关系,从而得到更高质量的初始重建图像。最后,利用深度残差网络进一步缩小初始重建图像与原图像之间的残差,实现了对重建图像的高精度重建。对比OMP、BCS、SRResnet、Pro _bili 、Pro _nor*、Pro _bicu和Fully_Conv的实验结果表明本文所提算法在低采样率下的PSNR和SSIM结果都明显高出其他方法且随着采样率的增大其优势更加明显,在采样率为0.062 5时它的PSNR和SSIM的平均结果分别为31.55 dB和0.925 3。

猜你喜欢
残差卷积向量
基于全卷积神经网络的猪背膘厚快速准确测定
基于残差-注意力和LSTM的心律失常心拍分类方法研究
向量的分解
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
基于深度残差网络图像分类算法研究综述①