陈蒙蒙,乔志伟
(山西大学 计算机与信息技术学院,太原 030006)
计算机断层成像(Computed Tomography,CT)是临床上应用最广泛的医学成像模态,它是通过X 射线照射人体,将器官或组织投影至X 光片上供医学分析与诊断的一种技术。然而,过高的X 射线会诱发人体产生癌症等疾病。因此,为减少对病人的伤害,在稀疏角度下重建图像非常有必要[1]。稀疏重建可以有效地减少辐射剂量,然而该方法重建出的图像包含严重的条状伪影[2],会影响对疾病的判读。因此,高精度稀疏重建在医学图像领域具有重要价值。
近年来,卷积神经网络(Convolutional Neural Network,CNN)凭借易于提取局部信息的优势被广泛应用。与此同时,许多用于图像恢复的模块被开发出来,包括编码器-解码器结构[3]、残差学习[4]、注意力机制[5]、密集连接[6]、生成对抗机制[7]、多损失机制等。
将CNN 与上述模块结合,诞生了很多新模型。Ronneberger 等[8]提出了U-Net,通过编码器-解码器结构,将整个网络分为特征提取和特征融合两部分,为医学图像重建领域提供了很好的借鉴作用。Jin 等[9]提出了FBPConvNet,将传统的滤波反投影(Filtered BackProjection,FBP)[10]与残差U-Net 结合起来,有效地抑制了条状伪影。Chen 等[11]提出了残差编码-解码卷积神经网络(Residual Encoder-Decoder CNN,RED-CNN),借助残差学习[12]削减了解码过程带来的信息丢失问题,在CT 稀疏重建任务中效果显著。Momenta公司提出了SENet(Squeeze-and-Excitation Network)[13],通过在通道维度学习注意力分布,提升了网络性能。Zhang 等[14]提出了DD-Net(Densenet and Deconvolution Network),充分发挥密集块特征复用的优势,并结合反卷积[15]操作大幅提升了CT 图像重建网络的性能。Wolterink 等[16]将生成对抗网络(Generative Adversarial Network,GAN)应用于低剂量CT 图像重建任务,取得了不错的效果。
然而,图像任务计算量大,且CNN 容易忽视图像的全局信息。为了解决这一问题,受自然语言领域Transformer[17]的启发,研究者们将它迁移至图像任务中,提出了许多高效的算法。Dosovitskiy 等[18]提出了ViT(Vision Transformer)模型,将图像切割成patch 序列,并直接应用Transformer 的编码块,在图像分类任务中效果显著。Huang 等[19]提出了CCNet(Criss-Cross Network),采用一种十字交叉的注意力机制降低计算量。Liu 等[20]提出了Swin Transformer,通过在不重叠的局部窗口内执行自注意力计算并采用移动窗口机制,极大地降低了计算的复杂度。Wang 等[21]提出了非局部操作算子,通过直接计算两个空间位置的关系快速捕获全局依赖。
与CNN 适合捕获局部信息的性能不同,Transformer 更适合捕获数据的远程依赖关系。为进一步耦合二者的特性,Wang 等[22]提出了Uformer(U-shaped Transformer),通过卷积操作构建局部增强的Transformer 块提升了网络的局部依赖性。Peng 等[23]提出了特征耦合单元,通过设计CNN 与Transformer 双分支结构,并以交互的方式来融合局部和全局特征。Yuan 等[24]提出了一种卷积增强图像Transformer,在空间维度促进相邻图像块之间的相关性,且模型达到收敛时并不需要大量的训练数据和迭代次数。
因此,本文提出一种融合通道注意力的U 型Transformer(Channel Attention U-shaped Transformer,CA-Uformer)。该网络具有以下几个关键设计:1)U 型网络框架。使用编码器-解码器结构学习多尺度上下文信息,并加入跳跃连接,辅助图像特征融合。2)双注意力结合。将通道注意力与Transformer 中的空间自注意力结合,通过对图像每个部位赋予不同的权重,进一步细化传入的特征。3)卷积替换Transformer 中的前向反馈层。CNN 在图像任务中具有局部连接、权值共享、参数量少等优点。卷积操作能使网络更好地捕获局部上下文信息,与Transformer 易于捕获全局信息的能力互补。
本章首先介绍了CA-Uformer 的整体结构;之后,详细说明了网络中每个模块的具体设计,包括通道注意力块和Transformer 块。
如图1 所示,本文设计了一个编码器-解码器层次结构的U 型网络,将整个网络结构分为特征提取与特征融合两个阶段。在特征提取阶段,首先将经过FBP 稀疏重建后带条状伪影的CT 图像X∈R256×256×1作为输入,通过3×3 卷积、批归一化、带泄露线性整流函数(Leaky Rectified Liner Unit,LeakyReLU)激活函数,提取浅层特征X0∈R256×256×32;随后,X0被输入到通道注意力层,从而学习到不同通道的权重信息;操作结果X~随后被输入到Transformer 编码块中。自注意力计算和卷积是本文Transformer 块的关键操作。与一般方法不同,本文对获得了通道权重的特征图再进行空间自注意力计算,将通道与空间两种维度相结合,能有效地提取到图像更多的细节特征。执行通道注意力及Transformer 编码块操作前后不改变特征图大小和通道数。
图1 CA-Uformer的网络结构Fig.1 Network structure of CA-Uformer
之后,本文将卷积操作得到的结果X0与Transformer 编码块的结果进行残差连接,以充分利用图像的原始细节信息。在这一层的最后,将残差的结果输入到下采样,使用2×2 的最大池化使图像大小减半,得到X1∈R128×128×32。X1再通过3 个相同的层,每个层都包含3×3 卷积、批归一化、LeakyReLU、通道注意力块、Transformer 编码块、残差连接以及下采样操作。在每一层,利用卷积操作改变图像的通道数,如X1∈R128×128×32经过卷积之后得到X2∈R128×128×64。
在U 型结构底端,再次执行3×3 卷积、批归一化、LeakyReLU、通道注意力块、Transformer 编码块以及残差操作,图像大小变为16×16,更小的图像尺度利于编码块捕获到更长程的依赖关系。
在特征融合阶段,首先进行卷积核大小为2×2,步长为2的反卷积操作来实现上采样,作用是将特征通道数减半并将特征图大小翻倍。此时特征图XA∈R16×16×512经上采样变为XB∈R32×32×256。之后,XB与编码块经残差操作后对应的特征图进行拼接得到XC∈R32×32×512。此处不再进行卷积操作改变图像通道数,而是直接对拼接后的结果XC执行通道注意力和Transformer 解码两步操作,目的是复用更多的图像信息。随后,本文将拼接得到的结果XC与Transformer 解码块的结果进行残差连接。类似地,特征图再通过3 个相同的层,每层都包含上采样、特征图拼接、通道注意力块、Transformer 解码块及残差连接操作。在最后一层,本文使用3×3 的卷积将特征图XP∈R256×256×64变为Y∈R256×256×1。再将Y与原始图像X进行残差连接,从而得到高精度输出图像y=X+Y。
实验中,采用均方根误差(Root Mean Square Error,RMSE)损失函数训练CA-Uformer。
如图2 所示,本文中通道注意力块的操作主要分为压缩与恢复两部分。压缩部分通过全局平均池化实现,将特征图X0∈RH×W×C压缩为X01∈R1×1×C,此时空间的信息都被压缩到每个通道维度中。恢复部分包括全连接、线性整流函数(Rectified Linear Unit,ReLU)、全连接、Sigmoid。其中第一个全连接层通过缩小X01的通道数来降低维度,操作后的特征图可表示为;第二个全连接层再恢复它的通道数与X01一致,本文采用r=16。最终将得到的权重矩阵与特征图X0相乘,得到了具有各通道权重信息的通道特征图
图2 通道注意力块结构Fig.2 Structure of channel attention block
图3 展示了Transformer 块的总体结构。若给定Xl-1表示输入,则Transformer 块的大体操作可以表示为以下公式:
图3 Transformer块总体结构Fig.3 Overall structure of Transformer block
其中,Xa和Xl分别表示W/SW-MSA 层和Conv 层进行残差操作后的输出结果。
标准的Transformer 往往通过全局自注意力得到不同位置子空间的信息。而对于医学图像去伪影任务,在高分辨率特征图上采用全局自注意力会大大增加计算复杂度。因此,本文采用划分窗口的方法将自注意力计算限制在不重叠的窗口内,本质是在空间维度计算注意力,主要操作如图3 虚线框内所示。首先进行划分窗口操作,其次通过应用全连接层生成查询Q(Query)、键K(Key)和值V(Value)三个矩阵,并引入了相对位置编码。计算公式如下:
其中:d表示的维度;B表示相对位置编码。此外,引入Dropout 层来提高模型的鲁棒性。最后,对切割的窗口进行合并操作并加入移位窗口机制以增强窗口间的信息流动。
本文采用卷积替代标准Transformer 块中的前向反馈操作来捕获更多的图像局部信息。如图4 所示,本文设计了局部特征增强(Local Feature Enhancement,LFE)块,首先应用3×3 卷积与GELU(Gaussian Error Linear Unit)将图像的通道数扩大为原来的4 倍;之后,在扩大的通道维度上进行深度可分离卷积与GELU 激活函数操作,捕获更多的图像局部信息。其中,深度可分离卷积操作包括逐层卷积和逐点卷积两部分,将输入图的每个通道分别应用一个3×3 卷积,然后再通过1×1 卷积融合各通道的信息;最后,再应用一个3×3 卷积将图像通道数复原至与输入通道相同。相比常规的卷积操作,深度可分离卷积可以降低参数量和运算成本,还可以把网络训练得更深,捕捉更多的细节信息。
图4 卷积实现的LFE块的结构Fig.4 Structure of convolutional implemented LFE block
本章首先介绍了数据集的构建以及实验参数设置;之后通过对比不同算法以及不同稀疏角度数下网络的性能,验证了本文网络在图像去伪影任务中的有效性;最后,本文还进行了网络结构内部规律的探索,在缺少某一模块、模块位置不同及LFE 块不同实现方式的情况下进行实验对比。
本文的数据集下载自TCIA 数据集(https://www.cancerimagingarchive.net),从中选取了5 600 张包含头部、胸部和腹部的高精度图像。首先对高精度图像进行radon 变换得到对应的稀疏投影图像,再经过FBP 稀疏重建最终得到含条状伪影图像。本文将得到的含条状伪影图像作为输入,将高精度图像作为对应的标签来训练网络。默认情况下均取60 个稀疏角度下的图像对进行实验。
下载的图像中5 000 张作为训练集,300 张作为验证集,300 张作为测试集。输入图像大小为256 像素×256 像素。
实验中,窗口大小为8×8,训练轮数为100,学习率为0.000 3,batch_size 为3。所有的对比实验都采用同一组参数。实验配置CPU:Inter Xeon CPU E5-2620 v4@2.10 GHz;GPU:NVIDIA Geforce GTX1080 Ti,基于PyTorch1.8.0 框架编写,Python3.7.0 语言实现。
本文采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)、结构相似性(Structural SIMilarity,SSIM)及均方根误差(RMSE)三个指标来评价网络性能,计算公式如下:
其中:MAX表示图像的最大灰度值;x表示网络训练得到的预测图像;y表示标准的高精度图像;μx表示x的均值;μy表示y的均值;表示x的方差表示y的方差;σxy表示xy的协方差;C1和C2是常数。
此外,为衡量算法复杂度,本文增加了参数量、浮点运算量以及重建时间3 个指标。最后,为了使数据结果更具有说服力,本文实验部分的PSNR、SSIM、RMSE 以及重建时间都取测试集所得结果的均值,而参数量和浮点运算量则是针对模型本身。
2.4.1 不同算法对比分析
为了验证CA-Uformer 在图像去伪影任务中的性能,本文选取了4 种利用CNN 的经典算法DnCNN[25]、RED-CNN[11]、U-Net[8]和FBPConvNet[9],以及一种结合Transformer 的新型算法Uformer[22]作为对比实验,并对实验结果进行分析。
在测试集中随机选取一张腹部图片,在不同算法下的重建结果如图5 所示。将图5(a)、(b)作为参考,可以发现:DnCNN 的重建图带有明显伪影;RED-CNN 的重建图中伪影有所减少,但仍然可以通过肉眼观察到伪影的存在;U-Net 的重建图已无法直接观察到伪影,但是重建出的图像过于平滑,图像结构不明显;在FBPConvNet 的重建图与Uformer 的重建图中,伪影明显减少,并且图像局部信息保留得更多,图像的平滑现象有所缓和;在CA-Uformer 的重建图中,图像的结构信息与高精度图已经非常接近,而且每一个局部组织之间界限分明。观察图5(h)中箭头所指,CA-Uformer 重建出了非常细小的结构组织,而其他算法的重建结果都达不到如此精细。
图5 不同算法的腹部重建结果Fig.5 Abdominal reconstruction results of different algorithms
表1 为测试集中的实验结果对比。通过对比这些数值可以看出,Uformer 在对比算法中性能最好。与Uformer 相比,CA-Uformer 的PSNR、SSIM 提高了0.76 dB、0.31%,RMSE降低了8.33%;与经典的U-Net 相比,CA-Uformer 的PSNR、SSIM 提高了3.27 dB、3.14%,RMSE 降低了35.29%。此外,随着算法模型的增大,参数量和浮点运算量也会增大,对比重建时间可以发现,前4 种算法相近,后2 种算法相近。实验结果表明,虽然本文的CA-Uformer 模型比较大,但是性能最好、重建精度也最高,而本文的目的正是为了压制条状伪影,从而得到高精度图像,因此这是有意义的。
表1 不同算法在测试集上的实验结果Tab.1 Experimental results of different algorithms on test set
2.4.2 不同稀疏角度个数对比分析
为了探索CA-Uformer 在不同稀疏角度下的性能,本文分别在15、30、60 和90 个稀疏角度下对高精度图像经过radon变换及FBP 算法得到对应的含条状伪影图,并依次输入到网络中进行训练,最后对重建结果进行分析。
本文在测试集中随机选取了一张头部图片在不同稀疏角度数下的重建结果作为展示,如图6 所示。可以发现,在15 个稀疏角度下的含条状伪影图(图6(b))质量很差,最后重建出的结果(图6(f))也丢失了很多的细节信息;在30 个稀疏角度时,图6(g)保留了部分细节信息;在60 个稀疏角度时,观察图6(h)发现保留的细节信息明显增多;在90 个稀疏角度时,图6(i)中纹理及细节信息大部分被保留下来,图像结构也更明显。
图6 不同稀疏角度下头部的重建结果图Fig.6 Head reconstruction results under different sparse angles
定量的重建结果如表2 所示,表中数据均为测试结果的均值。由于该部分采用的算法均相同,因此不再将参数量、浮点运算量和重建时间作为评价指标。可以发现,90 个稀疏角度下重建出的图像效果最好,PSNR、SSIM 和RMSE 都取得了最优的结果。实验结果表明,稀疏角度数越少越不易于网络的训练;稀疏角度数越多则网络训练越容易。也就是说,随着稀疏角度个数的增加,网络去伪影能力越来越强。
表2 不同稀疏角度数时测试集的实验结果Tab.2 Experimental results on test set with different sparse angles
2.4.3 网络结构内部规律探索
1)不同模块对重建结果的影响。
为了充分说明网络的内部机制对实验性能的影响,本文分别在无通道注意力机制及无残差机制下进行实验,并与CA-Uformer 进行对比。
观察图7 中的重建结果及对应的放大图,可以发现,无通道注意力(No-CA)的结果中仍存在部分伪影,且细节信息较为模糊;在图7(c)与(d)中,各部位间的结构轮廓均不够明显,而在本文方法的重建结果中,能明显观察到各部位间的结构信息。
图7 不同模块的腹部重建结果Fig.7 Abdominal reconstruction results with different modules
表3 为测试集中的实验结果。可以看出,三者的重建时间都相同。无通道注意力(No-CA)模块会相应地减少参数量和浮点运算量,而无残差机制(No-Res)几乎不影响。与本文方法CA-Uformer 相比,无通道注意力的PSNR、SSIM 降低了2.86 dB、0.01,RMSE 增加了0.004;无残差的PSNR、SSIM降低了0.47 dB、0.001,RMSE 增加了0.001。即无通道注意力的效果最差,无残差的结果次之,本文方法最好。这表明通道注意力机制对实验结果的影响最大,而残差机制的影响较小。
表3 不同模块在测试集上的结果Tab.3 Results on test set with different modules
2)模块位置不同对实验的影响。
为了进一步探索通道注意力块的摆放位置对实验性能的影响,本文设计了3 种不同方式,如图8 所示。CA-Identity表示同时执行Transformer 与通道注意力,并将二者操作的结果进行残差连接;Transformer-CA 表示先执行Transformer 再执行通道注意力,之后在输入与输出之间加入残差连接;图8(c)是CA-Uformer 采用的方法,先执行通道注意力再执行Transformer,最后在输入与输出之间加入残差连接。
图8 通道注意力块的不同摆放位置示意图Fig.8 Schematic diagram of different positions of channel attention blocks
图9 为测试集中随机选取一张肺部的重建结果。可以发现,3 种方式的去伪影性能相当,但是重建出的肺泡细节依次变多。
表4 为测试集中的实验结果。由于只改变模块位置,并未影响算法,因此参数量、浮点运算量和重建时间都相同。可以发现,与本文方法相比,CA-Identity 的PSNR、SSIM 降低了1.26 dB、0.001,RMSE 增加了0.002;Transformer-CA 的PSNR、SSIM 降低了0.73 dB、0.002,RMSE 提高了0.001。结果表明,本文先执行通道注意力提取通道维度的信息,再进行后续处理的方法有效提升了网络性能,优先提取通道维信息更利于网络学习到较多的图像特征。
表4 模块位置不同在测试集上的结果Tab.4 Results of different module positions on test set
3)LFE 块的不同实现方式对实验的影响。
为了更多地捕获数据的局部特征,本文探索了LFE 块不同的设计方式,包括多层感知机(Multi-Layer Perception,MLP),3×3 卷积、批归一化、GELU(简称3×3Conv+BN+GELU),Uformer 中采用的局部增强的前向反馈网络(Locallyenhanced Feed-Forward network,LeFF)以及本文采用的Conv,并对实验结果进行分析。
如图10 所示,MLP 的重建图和3×3Conv+BN+GELU 的重建图中仍存在部分伪影,LeFF 的重建图中细节性有所增强。观察箭头所指以及红色圆圈内图像,可以发现本文方法的重建图中细节信息更多。
图10 不同LFE块的肺部重建结果及放大图Fig.10 Lung reconstruction results and magnification with different LFE blocks
从表5 可以看出:LeFF 方法的PSNR 和RMSE 较好,MLP方法的SSIM 值较高;而本文采用的Conv 的PSNR、SSIM 及RMSE 取得了最优值,即本文方法的重建精度最高。比较参数量和浮点运算量可以发现,本文方法的指标最高,而重建时间相近。结果表明,本文利用卷积替代前向反馈层的方法能捕捉到更多的图像细节信息。
表5 不同LFE块在测试集上的结果Tab.5 Results of different LFE blocks on test set
本文通过引入通道注意力机制,采用U 型架构,并利用CNN 与Transformer 的不同特性,提出了用于图像去伪影任务的CA-Uformer 方法。CA-Uformer 在通道与空间两种维度上进行注意力计算,进一步强调了有用信息;采用U 型架构融合了多尺度图像信息;利用卷积操作捕获更多的图像局部信息,与Transformer 易于提取全局特征的能力进行耦合。这几种机制的有效结合大幅提升了网络的性能。
此外,通过不同方法的对比及对网络结构内部规律的探索分析,验证得出CA-Uformer 的网络性能最优,它重建出的图像不仅包含伪影最少,而且保留的图像细节和结构信息更多,图像精度也更高。
本文方法在图像去伪影任务中表现出了强大的能力,未来将进一步探索其他模块对性能的影响并考虑将它们应用到更多场景中。