ResUNet++:用于医疗图像分割的高级架构
摘要
在结肠镜检查过程中,准确的计算机辅助息肉检测和分割可以帮助内窥镜医师切除异常组织,从而减少息肉生长成癌症的机会。
为了开发一种用于像素级息肉分割的全自动模型,提出了 ResUNet++——一种用于结肠镜图像分割的改进 ResUNet 架构。实验评估表明,建议的架构在公开可用的数据集上产生了良好的分割结果。此外,ResUNet++ 的性能明显优于U-Net 和 ResUNet 这两个关键的最先进的深度学习架构,在Kvasir-SEG数据集上获得了81.33%的Dice系数和79.27%的平均交并比(mIoU),在CVC-612数据集上则获得了79.55%的Dice系数和79.62%的mIoU。
1.介绍
病症相关
结直肠癌 (CRC) 是全球癌症相关死亡的主要原因之一。息肉是此类癌症的前身,因此临床医生通过结肠镜检查及早发现息肉很重要。通常切除肿瘤病变(例如腺瘤性息肉)可以减少 CRC 的发生。不幸的是,许多腺瘤性息肉在内镜检查中被漏诊。
解决方案
计算机辅助检测(CAD) 系统可以实时突出显示内窥镜视频流中息肉的位置,可以充当第二个观察者,有可能将内窥镜医师的注意力吸引到监视器上显示的息肉上,减少一些息肉被忽视的机会。为此,纯异常检测方法的一项重要改进,即仅识别图像中是否存在异常,此外增加 CAD 系统的像素分割能力,以便识别每个异常图像中的特定感兴趣区域。

挑战
为息肉设计精确 CAD 系统的挑战:
- 收集和标记适当的医学数据集以进行训练和测试的高成本。
- 息肉的形状、大小、颜色和外观多种多样,如图 1 所示。息肉的四大类:腺瘤、锯齿状、增生性和混合性(罕见),存在高度的类间相似性和类内变异。
- 背景对象也可能具有很高的相似性,例如,息肉的某些部分被粪便覆盖或当它们融入背景粘膜时。
尽管这些因素使任务具有挑战性,但据推测,设计性能可接受以供临床使用的系统仍然有很大的潜力。
架构
在生物医学应用的语义分割领域,一种流行的深度学习架构是 U-Net,它在 2015 年 ISBI 细胞追踪挑战赛中展示了最先进的性能。ResUNet架构是 U-Net 架构的一种变体,它为道路图像提取提供了最先进的结果。因此,本文将这种架构作为工作的基础,来提高自动息肉分割和检测的性能。
在本文中,提出用于医学图像分割的 ResUNet++ 架构,在两个公开可用的数据集上评估了的模型。实验结果表明,改进后的模型性能高效的,并实现与流行的 U-Net和 ResUNet架构相比,性能有所提升。
本文贡献
1)提出了新颖的 ResUNet++ 架构,这是一种语义分割神经网络,利用了残差块、挤压和激励块、Atrous 空间金字塔池化 (ASPP) 和注意力块。与其他最先进的方法相比,ResUNet++ 显着改善了结直肠息肉的分割结果,该体系结构适用于较少数量的图像。
2) 在胃肠病专家的帮助下,从 Kvasir 数据集中注释了息肉类别,以创建新的 Kvasir-SEG 数据集,并将此息肉分割数据集提供给研究界,以促进新方法的开发和可重复的研究。
2.相关工作
GI相关研究
RW 结肠镜视频中的自动胃肠道(GI) 疾病检测和分类在过去二十年中一直是一个活跃的研究领域,息肉检测尤其受到重视。机器学习软件的性能已接近内窥镜专家的水平。
(1)除了算法开发工作外,研究人员还为医学专家研究了完整的 CAD 系统,从数据注释、分析和评估到可视化。
(2)Thambawita等探索了各种方法,从机器学习(ML)到深度卷积神经网络(CNN),并提出了五种新模型作为将胃肠道发现分为16类的潜在解决方案。
(3)Guo等提出了两种全卷积神经网络的变体,它们在2017年胃肠道图像分析(GIANA) 挑战赛中获得第一名,在2018年GIANA挑战赛中获得第二名。
(4)Long 等提出了一种最先进的图像分割语义分割方法,称为全卷积网络 (FCN)。FCN 是端到端、像素到像素的训练,无需任何额外的后处理步骤即可输出分割结果。
(5)Ronneberger等修改了FCN架构并将其扩展到U-Net架构。基于 U-Net 架构有多种修改和扩展,以在自然图像和生物医学图像上实现更好的分割结果。
存在问题
- 息肉检测领域已发表的大多数工作在特定数据集上表现良好,测试场景经常使用较小的训练和验证数据集。在较小的数据集上评估的模型既不可推广也不健壮。
- 此外,一些研究工作只关注特定类型的息肉。目前的一些工作还使用非公开数据集,这使得比较和重现结果变得困难。
因此,ML 模型的目标是达到类似于或比结肠镜医师更好尚未实现。在提高系统性能方面存在改进的潜力。

3.ResUNet++
ResUNet++ 架构基于深度残差 U-Net(ResUNet),这是一种利用深度残差学习和 U-Net优势的架构。提出的 ResUNet++ 架构利用了残差块、挤压和激励块、ASPP 和注意力块。 残差块在各层上传播信息,允许构建更深层次的神经网络,以解决每个编码器中的退化问题。这提高了通道的相互依赖性,同时降低了计算成本。提议的 ResUNet++ 架构包含一个 stem 块,后跟三个编码器块、ASPP 和三个解码器块。
架构细节
建议的 ResUNet++ 架构的框图如图 2 所示。
残差块:残差单元是批量归一化、修正线性单元 (ReLU) 激活和卷积层的组合。
编码器块:每个编码器模块由两个连续的 3 × 3 卷积模块和一个身份映射组成。每个卷积块包括一个批量归一化层、一个 ReLU 激活层和一个卷积层。标识映射连接编码块的输入和输出。在编码器块的第一个卷积层处应用跨步卷积层将特征图的空间维度减少一半。编码器模块的输出通过挤压和激励模块。
ASPP:ASPP 充当桥梁,扩大了过滤器的视野以包含更广泛的上下文。
解码器块:解码路径也由残差单元组成。在每个单元之前,注意力块会增加特征图的有效性。接下来是来自较低级别的特征图的最近邻上采样,以及与来自相应编码路径的特征图的串 联。
解码器块的输出通过 ASPP 传递,最后,应用带有 sigmoid 激活的 1 × 1 卷积,以提供分割图。
ResUNet++ 的扩展是标记为浅蓝色的挤压和激励块,标记为深红色的 ASPP 块和标记为浅绿色的注意力块。以下小节对每个部分进行了简要说明。
A.残差单位
原因
随着网络深度的增加,训练深度神经网络可以提高准确性,但是它会阻碍训练过程并导致退化问题,相对具有挑战性。
ResUNet使用完整的预激活残差单位,深度残差单元使深度网络易于训练,网络内的跳跃连接有助于传播信息而不会降级,通过减少参数以及语义分割任务的可比性能或提高性能来改进神经网络的设计。
架构
由于这些优势,本文提出了一个深度残差学习框架,以促进训练过程并解决退化问题,并使用ResUNet 作为主干架构。
B.挤压和激励单元
原因
挤压激励网络通过采用通道之间的精确建模相互依赖关系来重新校准特征响应,从而提高了网络的代表性能力。挤压与激励块的目标是确保网络可以提高对相关特征的敏感度并抑制不必要的特征。
这个目标分两步实现:第一步是挤压(全局信息嵌入),其中通过使用全局平均池化来生成通道级统计数据,从而对每个通道进行压缩。第二步是激发(主动校准),旨在完全捕获通道依赖性。
架构
在本文所提出的架构中,挤压和激励块与残差块堆叠在一起,以增加对不同数据集的有效泛化并提高网络的性能。
C.Atrous 空间金字塔池化
原因
ASPP的思想来自空间金字塔池化,它成功地在多个尺度上对特征进行重采样。在 ASPP 中,上下文信息以各种尺度捕获,并且融合输入特征图中许多具有不同速率的并行 atrous 卷积。 Atrous卷积允许控制视野范围以精确捕获多尺度信息。
ASPP 模型通过提供多尺度信息,在各种分割任务上取得了有希望的结果。
架构
因此, ASPP在本文架构中充当编码器和解码器之间的桥梁,如图 2 所示,并使用 ASPP 来捕获语义分割任务有用的多尺度信息。
D.注意力单元
原因
注意力机制在自然语言处理(NLP) 中最为流行,它关注其输入的子集。此外,它还被用于语义分割任务,如像素预测。注意力机制决定了神经网络中网络的哪些部分需要更多的关注,还降低了将每个息肉图像中的信息编码为固定维度向量的计算成本。
注意力机制的主要优点:简单,可以应用于任何输入大小,增强功能质量,从而提升结果。 在前两种方法中,U-Net和ResUNet架构中,存在编码器特征图与解码器特征图的直接连接。
架构
受到注意力机制在 NLP 和计算机视觉任务中取得成功的启发,本文在架构的解码器部分实施了注意力块,以便能够专注于特征图的基本区域。
4.实验
为了评估 ResUNet++ 架构,本文使用两个公开可用的数据集来训练、验证和测试模型,并将 ResUNet++ 模型的性能与使用 U-Net 和 ResUNet 训练的模型进行了比较
A.数据集
对于息肉图像分割任务,训练图像中的每个像素都必须标记为属于息肉类或非息肉类。
为了评估 ResUNet++,本文使用了 Kvasir-SEG 数据集,该数据集由 1,000 张息肉图像及其相应的地面实况掩码组成,由奥斯陆大学医院(挪威)的专家内窥镜医师进行注释。来自 Kvasir-SEG 数据集的示例图像及其相应的掩码如图 1 所示。
本文使用的第二个数据集是 CVC-ClinicDB数据库,这是一个开放访问数据集,包含来自31个结肠镜检查序列的612张图像,分辨率为384×288
B.实施细节
所有架构均使用 Keras 框架实现,并使用 TensorFlow作为后端。
硬件部分
本文在强大的 Nvidia DGX-2 AI 系统上对单个 Volta 100 GPU 进行了实验,该系统能够实现2-petaFLOPS 张量性能。该系统是 Simula Research Laboratories 异构集群的一部分,具有双英特尔(R)至强(R)铂金 8168 CPU@2.70GHz、1.5TB DDR4-2667MHz DRAM、32TB NVMe 暂存空间和 16个NVIDIA 最新的 Volta 100 GPGPU,使用 Nvidia 的 NVlink 完全无阻塞交叉开关互连,能够实现 2.4 TB/s 的二分带宽。该系统 Ubuntu 18.04.3LTS 操作系统,并安装了最新的 Cuda 10.1.243。
算法实现
本文从批量大小为 16 开始训练,并由 Adam 优化器优化了所提出的架构。算法的学习率设置为 1e−4。较低的学习率是首选,尽管较低的学习率会减慢收敛速度,而较大的学习率通常会导致收敛失败。
输入图像
同一数据集中的图像大小各不相同。研究中使用的两个数据集都由不同分辨率的图像组成。为了提高 GPU 利用率并减少训练时间,我们通过放置 320×320 的裁剪边距来裁剪图像,以增加训练数据集。然后,在将图像馈送到模型之前,将图像的大小调整为 256 × 256 像素。本文使用了中心裁剪、随机裁剪、水平翻转、垂直翻转、缩放增强、随机旋转、抠图和亮度增强等数据增强技术,以增加训练样本的数量。旋转角度在 0 到 90° 之间随机选择。
本文将 80% 的数据集用于训练,10% 用于验证,10% 用于测试。
本文以较低的学习率训练了 120个 epoch 的所有模型,以便构建更通用的模型。批量大小、epoch 和学习率已根据需要重置。如果减小批量大小,则需要权衡准确性;但是,本文选择较大的批量大小而不是准确性,因为较小的批量大小会导致过度拟合。此外,还使用了随机梯度下降与重启 (SGDR) 来提高模型的性能。
5.结果
为了显示 ResUNet++ 的有效性,本文在 Kvasir-SEG 和 CVC-612 数据集上进行了两组实验。为了进行模型比较,将提出的 ResUNet++的结果与原始的UNet和原始的ResUNet架构进行了比较,因为它们都是语义分割任务的常见架构选择。
(架构修改部分)ResUNet的原始实现使用均方误差(MSE)作为损失函数,在 Kvasir-SEG 和 CVC-612 数据集中没有产生令人满意的结果。因此,本文用骰子系数损失 替换了 MSE 损失函数,并进行了超参数优化 以改善结果,并将架构命名为 ResUNet-mod。通过此修改,本文在两个数据集的 ResUNet-mod 架构中实现了性能提升。

A.Kvasir-SEG 数据集上的结果
本文尝试了不同的超参数集(即学习率、纪元数、优化器、批处理大小和过滤器大小)来优化ResUNet++ 架构。超参数优化是通过使用不同的超参数集训练模型并评估其结果来手动完成的。表 I 列出了 ResUNet++、ResUNet-mod、ResUNet和 U-Net的结果。
- 所提出的模型(ResUNet+++)在 Kvasir-SEG 数据集中实现了最高的骰子系数、mIoU、召回率和有竞争力的精度。(然而,骰子系数和 mIoU 分数不具有竞争力,而这对于语义分割任务是一个重要指标。)
- U-Net 实现了最高的精度。
- 在 mIoU 方面,所提出的架构(ResUNet++)明显优于基线架构(ResUNet)。

B.CVC-612 数据集上的结果
本文进行了额外的实验,以深入分析自动息肉分割的性能。因此,本文尝试对模型进行泛化,以检查所提出的架构在不同数据集上的泛化能力。泛化性将是建立临床可接受模型的进一步步骤。
表 II 显示了 CVC612 数据集上所有架构的结果。所提出的模型(ResUNet++)获得了最高的骰子系数、mIoU 和召回率以及有竞争力的精度

图 3 显示了所有模型的定性结果。从表 I、表 II 和图 3 中,可以看出ResUNet++ 优于基线架构。定量和定性结果表明,在 Kvasir-SEG 和 CVC-612 数据集上训练的ResUNet++ 模型表现良好,在骰子系数、mIoU 和召回率方面优于所有其他模型。因此,在医学图像分割任务中,应考虑ResUNet++架构而不是这些基线架构。
6.讨论
(1)所提出的 ResUNet++ 架构在Kvasir-SEG 和 CVC 612 数据集上都产生了令人满意的结果。从图 3 中可以明显看出,在 Kvasir-SEG 数据集中,ResUNet++ 生成的分割图在捕获形状信息方面优于其他架构。这意味着ResUNet++中生成的分割掩码比所呈现的最先进模型具有更多相似的地面实况。ResUNet-mod 和 U-Net 也产生了有竞争力的细分掩码。
(2)使用不同的可用损失函数来训练模型,例如,二进制交叉熵、二进制交叉熵和骰子损失的组合以及均方损失,都可以发现该模型在所有损失函数中都实现了更高的骰子系数值。然而,除骰子系数损失函数外,所有其他mIoU均显著降低。因此,模型根据实证评估选择了骰子系数损失函数。此外,过滤器的数量、批量大小、优化器和损失函数会影响结果,推测可以通过增加数据集大小、应用更多的增强技术和应用一些后处理步骤,可以进一步提高模型的性能。
尽管所提出的架构的参数数量增加,导致增加了训练时间,但训练模型实现了更高的性能。得出的结论是, ResUNet++ 的应用不应仅限于生物医学图像分割,还可以扩展到自然图像分割和其他像素级分类任务,这需要进一步的详细验证。
本文尽可能地优化了代码,但是可能存在进一步的优化影响架构的结果。
本文只在 Nvidia DGX-2 机器上了代码,并且图像的大小被调整了,这可能会导致一些有用信息的丢失。
7.结论
本文提出了ResUNet++架构,旨在解决对结肠镜检查中发现的结直肠息肉进行更准确分割的需求。
该架构利用了残差单位、挤压和激发单位、ASPP 和注意力单位。
使用不同可用数据集进行的综合评估表明,所提出的 ResUNet++ 架构在产生语义准确的预测方面优于最先进的 U-Net 和 ResUNet 架构。
为了实现泛化性目标,提出的朝着实现泛化性目标架构可以成为进一步研究开发临床有用方法的有力基线。后处理技术有可能应用于本文模型,以获得更好的分割结果。
