基于条件生成对抗网络的医学手术图像去烟算法
2021-01-27马悦
马 悦
(陕西中医药大学,陕西 咸阳 712046)
0 引 言
在过去的10年里,随着腹腔镜设备的技术进步,医学成像和对微创手术的需求导致了腹腔镜手术数量逐渐增加。在腹腔镜手术中,如医生做了一些小切口,然后插入一根针,用二氧化碳气体扩张腹部,为其他器械留出空间。此外通过使用专门的仪器,如内窥镜、超声波探头来观察腹腔[1-2]。腹腔镜所拍摄的视频、图像是手术中最重要的数据形式之一,高质量清晰的视频、图像对于医生的手术过程和基于计算机视觉的导航系统至关重要。
然而,腹腔镜手术中的伪影包括烟气、血液、动态光照条件、镜面反射等都会造成图像质量降低。特别是由激光烧蚀和电灼等引起的烟显著降低了场景区域的对比度和亮度信息[3],如图1所示。医生在手术过程中的视觉可见性不可避免地会受到这种退化图像的影响。另外,在图像导航系统中发展起来的计算机视觉算法主要是面向清晰的图像,烟会影响它们的性能,尤其是在浓烟区域。因此当烟被检测到时,利用图像处理技术在腹腔镜手术中去烟为医生提供一个清晰可视化的手术影像和避免计算机视觉算法性能下降是非常必要的。
图1 腹腔镜手术中烟雾模糊图像
通常,描述烟雾模糊图像的经典模型之一是大气散射模型[4],用公式可以表示为:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,I(x)和J(x)分别是观察到的模糊图像和要恢复的图像,A是全局大气光,t(x)是介质透射图,可以进一步用t(x)=e-βd(x)来表示。其中β是大气散射系数,d(x)是传输距离。
文献[5]提出了基于大气散射模型的暗通道去雾算法,这是一种简单但有效的方法,用于根据对无雾图像自然特性的观察来预测传输图。但这种方法在医学手术场景中会引起色彩变化和逼真度损失,因为光源直接到组织表面的近距离产生组织反射等高亮度像素,脂肪组织上的浅色会被错误地检测为模糊区域,违反了暗通道先验假设[6]。
虽然去雾和去烟是相近的问题,但雾度信息与景深有关,而手术中烟的产生是一种局部现象,并不取决于景深,而是取决于烟的厚度。大气散射模型基于一个强有力的假设,即烟雾是均匀的,光源距离很远,因此光线和光束(如阳光)是平行的。相比之下,在医学手术场景中,烟浓度变化很大,光源离场景很近,很难预测t(x)。此外,在腹腔镜图像中,光源来自分布不均匀的器械,并且器官表面不是朗伯曲面[7]。因此这些性质违反了公式(1)的假设,这使得直接将大气散射物理模型应用于腹腔镜医学图像是不合适的。
医学影像去烟是一个新兴的研究应用领域,文献[8]使用了一种结合直方图均衡化的自适应算法来去除内窥镜图像中的烟,然而它们在所有颜色通道中使用相同的传输图,产生了不真实的结果。文献[9]提出了一种去烟算法,它们的目的是去除场景中的烟并提高外科医生的可见性。它们不同于去雾方法那样估计传输图和大气光,而是基于强度线性变换来估计无烟图像。虽然它们的结果有效地减少了烟并保留了图像的重要感知信息,但是该方法需要额外的时间来解决参数优化问题。最近,文献[10]提出了一种利用深层神经网络提高手术视频质量的去烟算法,深度学习方法的引进需要额外的时间来完成数据预处理和训练模型以达到去烟目的,但该算法在处理浓烟时有一定的局限性。
本文提出一种新的基于条件生成对抗网络的图像去烟算法,与现有方法相比,本文网络对内窥镜图像的去烟效果更好。此外,该方法也为提高医学图像的视觉质量提供了一种有效的途径。
1 原理概述
1.1 生成对抗网络
生成对抗网络(GAN)[11],由Goodfellow等人提出,可以在给定噪声分布作为输入的情况下生成输出分布。所谓的对抗,指的是生成网络和判别网络的互相对抗。生成网络尽可能生成逼真样本,判别网络则尽可能去判别该样本是真实样本,还是生成的假样本,如图2所示。然而,GAN在训练过程中不稳定,常常在合成图像中产生噪声和颜色偏移等伪影。这时将条件信息合并到GAN中可以提高学习效率,条件变量增加了学习过程的稳定性,从而提高了生成器的表示能力。条件生成对抗网络(CGAN)[12]具有基于输入图像的噪声分布,它们在一些图像翻译应用中被验证是非常有效的。近些年来,生成对抗网络的引入在图像重建等清晰化任务中也大受欢迎,如图像去噪、图像去雾、超分辨率等[13],故本文探索其用于图像去烟的任务中。
图2 生成对抗网络示意图
1.2 编码器-解码器结构
在生成对抗网络中,编码器-解码器架构常被用作生成器。编码器层通常具有卷积操作,图像被逐渐地下采样,直到一个瓶颈层,在此之后,被处理反转以获得输出图像。在典型的图像转换问题中,通过使用跳过连接的U-Net[14]结构来共享网络输入和输出的大量信息[15]。
随着Dense-Net[16]体系结构的引入,它所使用的参数更少。该核心组件是密集块,它将每一层的输出与其输入连接起来,并将其馈送到下一层,这增强了信息和梯度流。100层的Tiramisu架构与U-Net架构相似,区别在于它使用了密集块。研究表明,它们在参数效率极高的情况下,性能得到了很好的提高[17]。
2 网络模型
本文提出一个端到端的条件生成对抗网络,该网络由生成器子网络和鉴别器子网络构成。
2.1 生成器子网络
本文用54层的Tiramisu代替传统的U型网络作为生成器,具体结构如图3所示。因为存在密集块,故增强了网络间的信息和梯度流,该模型在编码器端有5个密集块,在解码器端有5个密集块,在瓶颈层有1个密集块。在编码器端,每个密集块后面跟着一个向下的过渡层,每一个过渡层包括BatchNorm和Relu操作。
图3 生成器子网络结构示意图
同样地,在解码器端,每个密集块后面跟着一个向上转换的过渡层,该过渡层只有反卷积作用。编码器和解码器中的每个密集块都有4层,瓶颈密集块有15层,增长率值设定为12。
图像的空间尺寸在通过下一个过渡层后减半,在通过上一个过渡层后加倍。与普通U-Net相比,生成器的参数数量大幅减少[18]。各层设置如表1所示。
表1 生成器子网络各层输出形状
2.2 鉴别器子网络
本文使用与原始条件GAN中相同的鉴别器网络,具体结构如图4所示。该网络对目标图像和生成图像进行逐块比较,这里使用70×70的补丁,在最后一组特征图上应用逐像素比较。特征图上的有效接收场大于一个像素,因此它覆盖了图像的一小块,这样可以去除图像中大量的人工制品[19]。各层设置如表2所示。
图4 鉴别器子网络结构示意图
表2 鉴别器子网络各层输出形状
2.3 损失函数
本文用来优化网络的损失函数由2部分组成,它们被加权相加以得到总损失,总损失计算如下:
Losstotal=Wgan×Ladv+WL1×LL1
(2)
条件GAN的对抗损失计算如下:
Ladv=E(x,y)[log(D(x,y))]+E(x,z)[log(1-D(x,G(x,z)))]
(3)
其中,D表示鉴别器,G表示生成器。输入的模糊图像定义为x,对应的清晰图像定义为y,使用dropout作为噪声源。在本文的模型中,执行一次生成器更新,然后每次迭代执行一次鉴别器更新。将结果乘以标量权重,并将其添加到总损失中。
在输出图像中使用加权L1损失和对抗性损失来减少人工制品。目标图像y和生成图像之间的L1损耗计算如下:
LL1=Ex,y,z[‖y-G(x,z)‖1]
(4)
结果与标量权重相乘,并添加到总损失中。
3 实验过程
3.1 数据集
寻找大量数据用于训练神经网络是一项极其昂贵和耗时的工作,尤其是医学数据集不仅占用了宝贵的医学资源,而且还需要很大的精度和数量来满足医学实践标准。由于需要图像对(有烟和无烟)和烟密度掩模,这导致烟的去除任务更加困难。通过人工标记几乎不可能获得这些图像对和密度掩模[20]。
为了解决这个问题,本文采用了Adobe Photoshop图形渲染引擎,在腹腔镜图像上连续渲染烟,生成合成图像。使用渲染引擎而不用基于物理的烟形成模型来在程序上生成烟的优点有2个:1)在腹腔镜场景中,手术过程中的烟通常是局部产生的,并且与深度无关,因此没有理由使用传统的大气雾模型来渲染手术的烟;2)图形渲染引擎可以产生接近真实的烟形状和密度变化,拥有开发良好的内置模型,这些模型也是基于物理设计的[21]。
本文使用文献[22]中手动选择1250张无烟图像作为基本真实图像,然后通过在渲染引擎面板上调整烟的透明度值、密度大小两者百分数参量来控制渲染过程。具体来说,透明度值和密度值同步设定为10%、25%、40%、55%和70%这5个百分数,百分数值越大代表渲染合成的烟形状越浓,从而产生6250对不同效果的合成烟图像。为了确保网络不会过度适合特定形状的烟,还对合成的图像进行了90°、180°和270°的不同位置翻转以进行数据增强。最后,共计渲染产生25000对实验合成图像,其中训练集、验证集、测试集分别按照8∶1∶1的比例划分。
3.2 训练细节
在本文实验中,Wgan设定为2,WL1设定为100,网络学习率值固定在0.001。本文使用Adam优化器来执行梯度下降。该模型是在TensorFlow框架下用Python语言编写的。然后,它被训练在一台Nvidia GTX 1080(8 GB)显卡上。使用这些配置,每个步骤大约需要1.6 s。
4 实验结果对比与分析
为了说明本文深度学习网络的有效性,在合成和真实数据集上分别做了定量和定性的分析对比实验,将其与文献[5]、文献[8-10]这4种现有的去烟算法进行可视化比较。
4.1 合成图像对比实验
首先,在合成数据集上对本文网络进行测试评估,图5展示了其中的一个对比场景。
(a)输入合成烟图像 (b)文献[5]结果图
此外,图像清晰化算法的性能还可以通过几个因素来评估,其中最常用的2个因素是PSNR和SSIM。峰值信噪比(PSNR)衡量算法去除噪声的能力,2个相同图像的PSNR值为无穷大。对于烟去除能力的测量,较高的PSNR值表示更好的性能。结构相似型(SSIM)用来衡量2幅图像的相似程度,2个相同的图像的SSIM为1[23]。表3列出了用于定量分析的PSNR、SSIM指标值。从定性和定量分析,显然本文的模型在综合测试数据集上表现出较其他算法更优越的性能。
表3 不同算法在合成数据集上的定量比较
4.2 真实图像对比实验
为了最终验证本文模型的有效性,还对一些真实手术过程中的起烟图像进行了评估。图6展示了其中的一个对比场景,可以从结果对比中很直观地看到本文算法的鲁棒性。
(a)输入真实烟图像 (b)文献[5]结果图
从图6注意到,通过本文的网络去除烟是最彻底的。可以发现以往的传统方法,如文献[5],在医学图像上表现出不稳定的结果,无法恢复烟覆盖区域的正确颜色,同时对无烟区域造成颜色扭曲。然而,基于非学习的烟去除方法通常涉及参数化模型,这些模型通常不是针对医学图像而是针对自然图像进行调整的。现有的深度学习去烟算法,如文献[10],仍保留了残留的烟气未能有效去除,这可能是由于训练过程中强度不够造成的。相比之下,本文方法完全可以克服这些问题。本文方法不仅可以聚焦于烟覆盖区域和保留无烟区域,而且可以根据网络学习到的特征信息恢复正确的组织颜色。
4.3 鲁棒性测试实验
图像信息的丢失通常是不可逆的,这取决于烟的大小。为了进一步评估网络在不同大小烟下恢复无烟图像的能力,本文对5种不同浓度烟的去烟性能进行鲁棒性研究。其密度值分别对应渲染面板中设定的10%、25%、40%、55%和70%这5个百分数渲染参量。为了保证实验的公平性,在含每个密度各25张的测试集(共125张)中进行,图7和图8分别展示了5种不同烟度下去烟图像的平均PSNR和SSIM变化曲线。
图7 不同算法鲁棒性测试PSNR结果曲线图
图8 不同算法鲁棒性测试SSIM结果曲线图
从以上定量结果可以看出,随着烟密度值的不断升高,指标曲线均呈下降趋势,说明浓烟比薄烟更难处理。而本文结果在5种不同密度水平下都产生了最高的PSNR和SSIM值,这表明本文算法对于不同大小烟图像都产生了非常稳健的结果,因此本文模型具有比其他算法更好的鲁棒性。
4.4 消融实验
为了充分验证本文网络设计的合理性,对关键组件进行了消融实验,分别考虑Tiramisu模型的优越性和加权损失函数的有效性。在合成数据测试集上进行测试,平均PSNR和SSIM计算如表4所示。
表4 不同组件的消融分析实验
通过以上数据发现,用Tiramisu模型代替U-Net模型使得去烟性能有进一步提高,在PSNR指标上提升了3 dB左右。此外,由于引入对抗损失构成了加权总损失,使得网络结果达到最优,由此验证了本文每一个关键组件都起到重要作用。
5 结束语
本文提出了一种新的基于条件生成对抗网络的图像去烟算法,将其用于微创手术,如腹腔镜中来清除烟。此外,利用图形渲染引擎将烟形状随机渲染到腹腔镜图像上,用来大量合成训练数据集。在网络中,用Tiramisu模型代替U-Net模型,同时通过使用对抗损失和平滑L1损失的共同优化,来提高模型的参数效率和性能。最后将本文的模型与其他现有的图像去烟算法进行了定量和可视化的比较,验证了本文模型的优越性和鲁棒性。值得注意的是,该方法对计算机视觉在临床医生手术中的应用具有一定借鉴作用。