当前位置:网站首页>Learning multi-level structural information for small organ segmentation
Learning multi-level structural information for small organ segmentation
2022-07-04 05:59:00 【Never_Jiao】
Learning multi-level structural information for small organ segmentation
发表期刊:Signal Processing(工程技术2区)
发表时间:2022年
Abstract
深度神经网络在肝脏、肾脏等医学图像分割问题上取得了巨大成功,其准确度已经超过了人类水平。然而,小器官分割(例如胰腺)仍然是一项具有挑战性的任务。为了解决这些问题,提取和聚合多尺度鲁棒特征变得至关重要。 在本文中,我们通过整合区域、边界和像素级信息来开发多级结构损失,以监督特征融合和精确分割。新颖的逐像素项可以提供与区域和边界损失互补的信息,这有助于从图像中发现更多的局部信息。我们进一步开发了一个带有显着性指导模块的多分支网络,以更好地聚合三个级别的特征。采用从粗到细的分割架构,使用粗略阶段的预测来获得精细阶段的边界框。对三个基准数据集(即 NIH 胰腺、ISICDM 胰腺和 MSD 脾脏数据集)进行了综合评估,表明与几种最先进的胰腺和脾脏分割方法相比,我们的模型可以显着提高分割精度。此外,消融研究表明,多层次结构特征有助于训练稳定性和粗到精方法的收敛性。
Introduction
图像分割是医学图像处理的中心主题,它根据生物结构和功能将图像体积分成子区域。已经开发了各种用于图像分割的方法,例如区域增长 [1]、聚类 [2]、图切割方法 [3] 和基于模型的 [4,5]。然而,由于形状、大小和位置的高度可变性,从 CT 扫描中分割出一个小器官仍然具有挑战性。胰腺是人体小器官的典型代表。传统的基于多图谱配准的分割[6]在肝脏、肾脏和脾脏上的分割准确率可以达到90%以上,而在胰腺上的分割准确率只有70%左右。由于深度学习的巨大进步,特别是卷积神经网络(CNN)如 FCN [7]、U-Net [8] 和 DeepLab [9],医学图像分割的准确性在过去几年中得到了显著提高。然而,由于在区分边界周围的像素时存在歧义,精确分割边界仍然很困难。因此,多尺度特征[10,11]和有效的特征融合方法[11-13]被深入研究以辅助精确分割。 Xie 和 Tu [10] 开发了一种端到端的边缘检测系统来自动学习丰富的层次特征的类型。陈等人 [14] 提出了一种高效的深度轮廓感知网络,用于在统一的多任务学习框架下进行准确的腺体分割。沉等人[15]提出了一种多任务全卷积网络架构来联合学习预测肿瘤区域和肿瘤边界。徐等人[16] 设计了一个深度多通道框架来自动利用和融合复杂信息,包括区域、位置和边界线索。段等人 [17]使用完全卷积网络估计区域和边缘位置的概率图,该网络被合并到单个嵌套水平集优化框架中以实现多区域分割。庞等人[18] 引入了边界注意模块来弥合多级特征之间的语义鸿沟。 Zhang 和 Pang [19] 确定了用于分割的边缘和显著性信息,并提出了交叉引导网络。深度边缘先验也被引入到网络中,以精确整合边缘信息以处理图像去噪、超分辨率和分割任务 [20-22]。最近,周等人[23] 开发了一种用于 RGB 热城市场景语义分割的新型多标签学习网络,该网络在语义、二进制和边界特征方面对网络进行了训练。周等人 [24] 提出了一种交叉流和跨尺度自适应融合网络,并利用净化损失来精确学习对象的边界和细节。此外,正则化方法已被引入 CNN,以利用图像边缘的先验信息,例如总变异正则化 [25] 和图总变异正则化 [26],通过 softmax 激活函数将其集成到 CNN 的架构中。上述方法通过采用多任务方式或引入额外的网络结构来优化上下文特征提取过程来提高分割精度。然而,用于测量预测和ground truth之间相似性的损失函数的设计在精确分割中也起着重要作用。
假设一个 2D 图像 U ∈ X,其中指定位置的强度表示为 U(x, y ),标签数据 V ∈ X 与 U 共享相同的维度,其中 X 是某个拓扑向量空间。然后为图像分割任务训练的前馈 CNN 可以正式表示为以下双层优化问题
其中上层最小化称为损失函数 E : X × X → R 将实值变量映射为实数,下层最小化表示 CNN 模型 F(·; U , θ ),其中 P θ 为它的输出。损失函数是衡量 P θ 与标记的 ground truth 之间的差异,它是 F(·; U , θ ) 的最小值,它与变分模型中的目标函数具有相似的功能。Chan 和 Vese [5] 提出的主动轮廓(AC)模型通过在图像边界上部署有效的先验,在前景-背景分割方面取得了巨大成功,以最小化
其中 Γ 是闭合曲线,c 1 , c 2 是曲线 Γ 内外图像 U(x, y ) 的均值,术语 Length (Γ) 表示 Γ 的长度,术语 Area (Γ) 表示Γ内的面积,μ, ν, λ1 , λ2 是正参数。从那时起,已经研究了 Chan-Vese 模型的许多变体。例如,杨等人 [27]提出了一种用于图像分割的高阶加权变分模型,其权重是根据观察到的图像的边缘信息自动估计的。吴等人[28] 引入了一个有效的正则化项,它结合了一个自适应加权矩阵来增强沿边缘切线方向的扩散。事实上,AC 模型不仅最小化了解决方案和输入图像之间的距离,而且还最小化了界面和前景区域的长度和面积,这已被用作深度神经网络发现更好边界的损失函数。胡等人[29]使用主动轮廓模型来帮助深度网络学习有关显著对象的信息。马科斯等人 [30] 提出了深度结构化的活动轮廓,以将先验和约束(例如连续边界、平滑边缘和锐角)整合到分割过程中。陈等人[31] 提出了一种损失函数,其灵感来自于在区域和长度项中构建用于 bop 医学图像分割的活动轮廓模型的一般思想。金等人[32] 引入了一种新的损失函数,以基于水平集公式利用ground truth中的空间相关性。哈塔米扎德等人[33] 通过利用活动轮廓模型的精确边界描绘能力,引入了深度活动病变分割模型。张等人[34] 将凸化 CV 模型 [35] 集成到 CNN 结构中,以生成更准确的轮廓分割。 Kim 和 Ye [36] 提出了一种基于主动轮廓模型 (2) 的新损失函数,用于半监督和无监督方式的深度网络。 Ma、He 和 Yang [37] 通过以端到端的方式最小化测地线活动轮廓能量,提出了一个水平集函数回归网络。然而,上述损失可能会失去对小器官分割的影响,因为可用的边界信息较少。此外,我们总结了表1中用于医学分割的损失函数,可分为区域损失、边界损失及其组合。
为了从图像中聚合互补信息,特别是像素级信息,我们提出了多级结构损失函数和多级结构网络,从不同角度对多尺度上下文特征进行编码,以实现更好的小器官分割。具体来说,我们的损失函数可以测量从低级像素分类到中级边缘定位和高级区域分割的预测和ground truth之间的相似性。接下来,我们开发了一个新的多层次结构网络,它包含三个用于学习不同特征的分支,并使用显著性指导模块来利用多尺度信息进行小器官分割。我们采用从粗到细的分割框架进行自动分割。粗略和精细模型均采用 ResNet18 作为主干,并应用空洞空间金字塔池 (ASPP) 模块来促进多尺度特征提取和融合。我们的分割模型在两个胰腺分割数据集上进行评估,即 NIH 数据集 [56] 和 ISICDM 数据集 1,以及医学分割十项全能 (MSD) 数据集 2 的脾脏子集。通过与几种最先进的基于 2D 和 3D 学习的分割方法进行比较,我们的模型显示出更好的准确性和更高的效率。
本文的其余部分安排如下。第 2 节描述了我们方法的细节,包括问题制定和网络架构。我们开发了一个多头 CNN,以更好地融合第 3 节中的多层次结构特征。第 4 节专门提供我们模型的实现细节。第 5 节介绍了评估和实验结果。最后,我们总结论文并在第 6 节讨论未来可能的工作。
Introduction
Our minimization problem
考虑到图像函数可以在区域、轮廓和像素级别进行测量,我们提出以下多级结构损失,由小器官或不平衡分割的互补信息组成
其中术语 E R (P θ , V) , E B (P θ , V) 和 E P (P θ , V) 分别测量区域、边界和像素级别的预测 P 和ground truth V 之间的差异。如图1所示,第一项可以描述前景的整体外观,其他两项可以识别边界上的差异。与大多数现有的专注于区域和边缘信息的损失函数不同,我们新颖的逐像素项惩罚不确定点以捕获被区域和边界项忽略的局部特征。通过利用三级特征,我们的方法可以理想地识别学习过程中的结构信息并产生更理想的边界。
Fig.1 从全局到局部范围的多级结构信息的图示,其中预测(红色边界)和ground truth(蓝色边界)之间的关系可以通过区域、边界和像素级测量来描述。 (有关此图例中颜色参考的解释,请读者参考本文的网络版本。)
Region loss
区域术语广泛用于分割任务,它衡量网络预测的区域与相应的ground truth之间的重叠;参见图 1 (a) 中的蓝色区域。区域术语有多种选择,为了便于说明,我们专注于二进制分割。假设Ω是 Rn的有界开子集。二元交叉熵(BCE)通常用于训练 CNN 模型以进行医学图像分割任务,其中表示逐像素乘法。交叉熵旨在预测每个像素以找到目标区域,而 Dice 损失关心重叠区域。 BCE 和 Dice 损失的许多变体被研究用于医学分割。
Ronneberge 等人[8] 引入了交叉熵的类平衡权重,它使用权重来平衡正样本和负样本的数量。卡利瓦等人[47] 使用距离图作为交叉熵的权重,重点关注难以分割的边界区域。 TopK 损失 [45] 还通过丢弃简单样本来集中在困难样本上。林等人 [46]首先提出了目标检测的焦点损失,然后用于图像分割,它引入了一个调制因子来控制简单样本的重要性。IoU 损失 [39] 的设计类似于 Dice 损失,其中交叉联合在深度神经网络中被最小化。苏德雷等人[41] 通过最小化前景和背景的重叠区域提出了广义 Dice 损失。 Yang、Kweon 和 Kim [44] 通过在广义 Dice 系数中添加一个惩罚假阴性和假阳性的术语,引入了一种新颖的损失函数。 Salehi [40] 通过引入一个权重来平衡真阴性和假阳性情况,提出了 Tversky 损失。哈希米等人[43] 提出了基于 Tversky 损失的非对称相似度损失,以在精度和召回率之间实现更好的权衡。亚伯拉罕等人[42]通过结合focal loss和Tversky loss的思想提出了focal Tversky loss。复合损失也已用于分割,例如 nnU-Net [48] 的 Dice 和交叉熵损失的组合,anatomyNet [49] 的 Dice 和焦点损失的组合等。
Boundary loss
对于小器官分割和不平衡分割,区域损失,例如 Dice 和 CE,将所有样本和类别平等对待,这导致训练不稳定并且预测边界偏向于多数类别。 Kervadec 等人[51] 提出了一种边界损失,以在区域之间的界面上使用积分而不是在区域上使用积分,将其表述为轮廓空间上的距离度量(参见图 1 (b) 的可视化说明)
其中σ是定义在ground truth上的有符号距离函数。
其中 D 是对象区域,∂D 是界面。为了减少预测边界和目标边界之间的 Hausdorff 距离,Karimi 和 Septimiu [50] 使用以下可微分 Hausdorff 距离来训练 CNN
其中 VDTM 和 PDTM 表示ground truth V 和预测 P 的距离变换图,形式为(只给了VDTM,没有给PDTM?)
薛等人[52] 提出使用 CNN 回归ground truth的有符号距离函数。莫尔茨等人[54] 开发了轮廓 Dice 系数来量化预测分割的表面相对于参考分割的程度。 Lan、Xiang 和 Zhang [53] 通过最小化长薄结构曲线的弹性能量,提出了一种基于弹性相互作用的损失函数。 Azzopardi 等人[55] 引入了几何约束的目标函数,该函数是使用先验知识构建和调整颈动脉结构的分割。
Pixel-wise loss
然而,当像素接近边界时,有符号距离函数 (7) 的值趋于零,这导致器官边界附近的分割不准确。众所周知,边界描绘了目标的重要高级细节。因此,我们引入了逐像素损失项来增强正则化对像素级预测的影响。班萨尔等人[57] 提出了高效的 PixelNet,表明从每张图像中采样的少量像素足以让学习获得令人满意的分割性能。PixelNet 的优点是双重的,采样只需要按需计算,并提供了允许网络专注于稀有样本的灵活性。基里洛夫等人[58] 提出了 PointRend 神经网络模块,用于基于迭代细分算法在自适应选择的位置执行基于点的分割预测,其中图像分割被视为渲染问题。 PointRend 用作 CNN 模型的后处理,它可以在更精细的网格上输出高分辨率预测,以获得对象之间的清晰边界。显然,学习像素级信息对于分割精度和模型效率都很重要,尤其是在已经获得粗分割时。
Our coarse-to-fine model
我们的目标是使用 2D 网络从 CT 腹部扫描中分割 3D 医学图像,例如胰腺和脾脏。对于这样一个小器官分割问题,从粗到细的方法是一个不错的选择,它使用粗略阶段的预测来缩小精细阶段的输入[59,60]。
我们将扫描的 3D 图像表示为 U,大小为 W×H×L,其中 W、H 和 L 分别是沿冠状、矢状和轴向视图的切片数。然后我们沿每个轴将每个体积切成二维切片,分别表示为 UC,w ( w = 1 , … , W ), US,h ( h = 1 , 2 , … , H) 和 U^A ,l^ ( l = 1 , 2 , . . . , L )。现在,我们以轴向视图为例来说明我们的从粗到细的模型。粗略模型从输入数据中预测粗略分割,可以表示为
粗略分割的优点是我们不仅可以根据分割估计边界框,还可以为精细模型生成良好的初始化。首先,我们基于二值分割得到一个边界框 PA,l C = || (PA,l θC ≥ 0 . 5) ,它是一个包含所有
P A,l C 的非零像素和一个 K 像素的边距的最小 2D 边界框。然后,我们定义一个裁剪函数 C[·; PA,l C ] 以从给定图像中裁剪与 PA,l θC 大小相同的边界框区域。另一方面,在[60]之后,我们引入了显著性转换模块来生成带有注意力的图像,作为对精细模型的初始化
其中 F S (·; θS ) 是由 θS 参数化的变换函数。我们进一步使用精细模型来估计最终分割,例如
其中 F(·; θ ) 是由 θ 参数化的分割函数。请注意,我们将原始图像 UA,l 连接到精细模型的输入中,以增强边缘、线条和角落等浅层特征。不难发现,粗模型和细模型通过显着性变换联合在一起。我们的最终分割是由 PA,l = I (PA,l θ ≥ 0 . 5) 获得的二值图像。
Network architecture
对于小器官分割的任务,我们通过继承 DeepLab-v3 中的级联块和 ASPP 模块来构建粗模型和细模型,以通过空洞卷积和金字塔池进行更深入的研究。出于说明目的,我们浏览了我们的精细模型的网络架构,如图 2 所示。我们使用 ResNet-18 作为我们的主干网络,它包含四个基本块。精细模型的输入包含显著性图和原始图像,以提供良好的初始化和更多的图像特征。在进入block1之前,我们去掉第一个卷积层中的下采样操作,将信息保留在输入内部。我们使用 rate = 2 和 rate = 4 的 atrous 卷积来分别替换 block3 和 block4 中的连续跨步。这些操作背后的动机是保留更多的局部信息并扩大感受野,这对小目标很重要。 ASPP模块可以通过整合不同atrous rate获得的特征来有效地捕获多尺度的上下文信息。通过进一步将特征通过两个 1 × 1 卷积层,我们得到最终的 logits Lθ,它用于通过使用双线性插值进行上采样来生成预测。对于粗略网络,唯一的区别是我们在第一个卷积层中保持跨步以降低计算成本。最后,对于显着性转换,我们简单地应用两个尺寸保留的卷积,分别具有 5 × 5 和 3 × 3 的过滤器尺寸。
Fig.2 使用多级结构损失的精细分割模型的图示,其中 1 × 1 表示内核为1 的卷积。虽然网络中使用了 3个切片作为一个单元,但为了便于理解,我们只显示了一个切片。
Loss function
我们分别对粗模型和细模型使用 Dice 损失和多级结构损失 (3)。如图 2 所示,多级损失中的区域和边界项被选为[51]中的Dice 和边界损失,它们被评估为小器官分割的强大组合 [61]。因为空间冗余限制了卷积网络在一般像素级预测问题中学习到的信息,所以网络的最终预测 P θ 倾向于过度平滑器官区域和在器官边界样本内。因此,我们在最终的 logits 层 L θ 上定义了逐像素损失项(参见图 2 进行说明),它比图像网格粗 4 倍(什么意思?)。特别是,我们通过干涉预测概率最接近 0.5 的像素在 logits 层上定义一个不确定的像素集 S,这些像素位于边界附近并且最难分割。通过最小化不确定集 S 上的二元交叉熵,我们得到以下逐像素上下文损失(个人理解:最终有一个Logits层,通过这个Logits层,将预测概率接近0.5的难以准确分类的像素的集合设置为不确定的像素集S,通过最小化这个不确定集S上的二元交叉熵,得到逐像素上下文损失)
I S (L θ ) 是指标函数,定义为
不确定像素集的选择是通过类似于 [58] 的三步策略实现的。为了获得清晰准确的边界,我们首先通过随机采样 kN 个像素(k = 3)来加密最终 logits 层 L θ 的像素,遵循均匀分布以生成足够多的具有不确定性的像素。接下来,我们通过对原始预测进行插值来估计 kN 个像素的概率。最后,我们选择 mN 个像素,其中 m = 0.75 个最高不确定性和 (1 -m ) N 个随机像素,以增加数据的泛化性。因此,我们的不确定点集总共包含 N 个点。从图 3 的示例中,我们可以发现不确定像素也位于边界附近。虽然边界损失可以通过最小化边界上的预测和真实值之间的差异来提高准确性,但它通过忽略像素级考虑将边界视为一个整体。我们在粗略分割中引入了逐像素损失,并逐渐提高正则化以允许网络学习更多像素级信息。通过在精细网格上分配像素,我们的逐像素损失项不仅可以提高不确定像素的分割精度,还可以提供更平滑的边界,与边界损失互补。此外,我们的逐像素损失项可以灵活地与其他区域和边界损失项相结合,并适用于任何现有的深度网络架构。
Fig.3 最终 logits 层上选择不确定像素集 S 的典型视觉示例。
根据前面的讨论,我们在训练阶段联合最小化以下能量泛函,以实现高效的多级特征融合
其中 ω 1 , ω 2 , α, β ∈ R 是平衡不同项贡献的参数。
Multi-level structural network
受多任务模型 [19,37] 成功的启发,我们开发了一种新颖的网络,与我们的多级结构损失一起学习和融合图像特征。如图4所示,我们的多级结构网络使用多个分支分别从区域级到边缘级和像素级学习特征,并采用transformer结构从精心挑选的点捕获远程信息。所有三个分支并行处理并由一个新颖的显著性指导模块融合在一起,该模块可以利用多级特征并输出最终预测。下面,我们将一一详细解释这些分支。
Fig.4 我们的多层次结构网络的插图。虽然网络中使用了 3 个切片作为一个单元,但为了便于理解,我们只显示一个切片。
The region branch
区域分支采用如上所述的 ASPP 模块,可以捕获多个尺度的图像上下文,并输出二值分割预测 Pregion θ 。在训练过程中,我们使用 Dice loss 来惩罚区域预测。
The boundary branch
我们实现了另一个 ASPP 模块作为边界分支,以支持其在不同尺度上重新采样特征的能力。与大多数边界预测模型不同,后者输出一个二进制图,其中 1 表示边缘,否则为 0,我们的模型学习由 (7) 定义的有符号距离图。与上一步一样,我们将边界损失函数定义为边界损失和有符号距离图的 L2 范数的组合,它给出
其中 σ(·) 表示用于将有符号距离图转换为分割预测的 sigmoid 函数。请注意,边界预测 Pboundary θ 在目标内为正,在目标外为负。因此,在
之前有一个“-”(减号)符号。
The pixel branch
对于像素分支,我们使用non-local transformer模块来学习一维像素特征,它不仅利用了局部特征和全局上下文,还通过自注意力机制强调了特征。像素分支直接从主干的 ResBlock1 中提取特征以增强低级特征。我们基于区域预测估计不确定点的位置,其中不确定点的选择方法与之前的相同,除了加密(加密是什么意思)。特别是,我们根据规则点而不是加密点来选择不确定点,以促进与显著性引导模块的集成。PointRend [58] 使用共享 MLP 来预测逐像素分割,这只能提取局部特征。我们的像素分支采用transformer架构来捕捉非局部特征。从图 4 中的绿色框可以看出,我们的像素分支包含一个transformer和一个共享 MLP,以利用局部和非局部特征进行最终预测。 Transformer 由一个类似于 [62] 的多头自注意力块组成,后跟一个逐点 MLP 层(1×1 卷积)。然后在逐点 MLP 层之后应用 ReLu 激活函数。我们还合并了残差连接。如所讨论的,二元交叉熵被用作像素分支的损失函数,以惩罚所选点 Lpixel θ 的预测。
The multi-level saliency guidance module
最后,我们采用多级显著性指导模块将不同的特征融合在一起进行最终预测。所有分支输出的预测前的特征都是256个通道。然后我们将区域和边界分支的特征上采样到输入图像的原始大小。不确定点的特征是256个通道的一维数据。我们首先通过填充零值生成与区域和边界级特征大小相同的像素特征,然后用学习到的特征替换不确定点的位置,这意味着只有选择的不确定位置是非零值。在我们的多级显著 性引导模块中,边界特征和像素特征都被元素级汇总在一起,并采用两个深度方向的 1×1 卷积来提取边界和像素特征之间的相互关系,生成两个权重图,分别与边界和像素特征相乘以获得显著图。之后,区域特征分别与两个显著图相乘,然后将它们连接在一起。通过两个 1 × 1 的卷积,我们得到最终的预测 Pfusion θ 。我们使用区域 Dice 损失来训练多级显著性指导模块。
我们使用上述多级结构损失来学习丰富的特征,其中边界损失可以缓解边缘预测的不平衡问题,而对选定点进行监督的像素损失可以弥补局部信息。具体来说,用于训练我们的多层结构网络的损失函数可以描述如下:
其中 ω 1 , ω 2 , α, β, γ ∈ R 是平衡不同分支贡献的参数。
Implementation details
我们所有的实验都是在 NVIDIA Titan RTX 上使用 Pytorch 实现的。
Network training and testing
The training phase
我们在训练阶段联合训练粗模型和细模型。遵循[63],我们使用三步优化策略,可以保证粗到精方法的收敛性。首先,我们使用 ground truth 生成边界框并分别优化粗略和精细模型。其次,我们仍然使用ground truth bounding box,但通过显著性转换模块联合优化粗细模型。最后,我们直接优化从粗到细的网络,而不使用ground truth边界框。我们的损失函数(13)中的参数 ω 1 和 ω 2 被选为 ω 1 = 0.3 , ω 2 = 2 / 3 以平衡粗略和精细模型的贡献。对于多级结构损失模型,参数 α 初始化为 α = 0 并动态调整,使得 α 在每个 epoch 逐渐增加 0.2 直到达到 α = 1。当预测具有一定的准确性以保证整个网络的收敛性时,会考虑我们的像素损失。因此,β 的值在前 12 个 epoch 中设置为 β = 0,然后在剩余的 epoch 中增加到 β = 1。图 5 绘制了沿三个轴视图的粗略和精细模型的 DSC 损失曲线。可以看出,DSC 的值随着 epoch 数量的增加而收敛。粗略模型和精细模型都有两个明显的振动。在第 8 个 epoch,我们开始使用粗分割来绘制边界框而不是 ground truth 边界框,这导致粗略和精细模型的 DSC 值都上升。另一个是第 12 个 epoch,我们将逐像素损失引入我们的损失函数中。然而,在几个 epoch 之后,DSC 的值下降到低得多的值,这表明逐像素损失可以帮助所提出模型的收敛。在训练中,我们采用早停方案,当验证集的性能没有改善时停止训练。
Fig. 5 训练期间 DSC 损失的折线图。当添加我们的像素损失时,DSC 损失首先增加,但在接下来的epoch里很快减少。
另一方面,我们的多层结构网络的参数设置以类似的方式给出。参数 α 初始化为 α = 1,因为区域分支和边界分支是分开训练的。 β和γ的值在前12个epoch设置为β=γ=0,然后在剩余的epoch增加到β=γ=1,这样可以保证像素分支的收敛和最终的预测。
The test phase
与训练过程不同,我们的测试阶段是在一个迭代过程中实现的,以逐步细化输出。粗分割,表示为 P0 ,用于估计边界框和显著图,这两者都是精细模型的输入。然后精细模型迭代地更新边界框和显著图直到收敛。我们使用最大迭代和相对 DSC 来跟踪收敛,其中 RDSC 定义为
其中 tol = 0.99 在我们的实验中,最大迭代次数是 Tmax = 10 。我们将测试中的算法草拟为算法 1。
此外,为了处理 3D 医学图像分割,我们通常与每个视图一起训练三个模型,并首先通过多数投票来融合分割结果。更多细节可以在 [59,60] 中找到。
Architecture setting
我们首先讨论如何修改 ResNet 主干的架构,以克服其在处理小器官分割方面的缺点。第一个块之前的两个下采样操作可以通过牺牲锐利的细节来降低计算成本。由于我们模型的从粗到精的结构,精细模型的输入的大小已经小于其原始大小的 1/2。因此,最好去除下采样操作以从图像中捕获更多细节信息。让out_stride表示输入图像空间分辨率与输出分辨率的比值。通过删除最大池化层或第一个卷积中的跨步或它们的组合,我们可以获得不同的 out_stride 。我们比较了表 2 中不同 out_stride 的分割精度、每个 epoch 的训练时间和 FLOPs(乘加)。可以看出,最优选择是 out_stride = 4,通过去除第一个卷积层中的下采样并保留最大池化层获得,其 FLOPs 和训练时间都接近基线模型。
Datasets and settings
NIH pancreas dataset
NIH 胰腺数据集包含 82 个增强腹部 CT 体积,其分辨率为 W × H × L 体积,W = H = 512 和 L ∈ [181, 466]。与 [60] 类似,我们将数据集分为 4 个固定fold,每个fold包含几乎相同数量的样本。我们使用交叉验证来评估分割性能,即在 4 个子集中的 3 个上训练网络,并使用剩余的子集对其进行测试。在数据预处理步骤中,我们将图像强度裁剪在 [-100, 240] 内。对于 NIH 数据集,我们沿每个轴独立训练三个 2D 模型,即冠状、矢状和轴向视图,然后通过多数投票在每次迭代中融合预测。在 Imagenet 数据集上预训练的 Resnet-18 用于初始化骨干网,并采用 Adam 作为优化器。我们训练了大约 20 个 epoch,前 8 个 epoch 的学习率为 1e-5,每 2 个 epoch 下降 1/2。在第 12 个 epoch 引入逐像素损失时,我们将学习率重新分配给 1e-5,并且每两个 epoch 以 1/2 的速率降低它。批量大小设置为 1,其中 3 个切片连接在一起。在测试过程中,虽然在迭代过程中分割精度不断提高,但我们停止它以平衡计算效率和分割精度之间的权衡,其中相对 DSC 容差设置为 tol = 0.99,最大迭代次数固定为 T max = 10。在训练和测试中,我们以 K = 20 的边距裁剪胰腺区域。
我们对多层结构网络使用类似的训练方法。在前 12 个epoch,我们省略了像素分支和显著性引导模块。当精细模型的主干收敛时,我们开始训练像素分支和显著性引导模块,这可以确保正确选择不确定点。对于多级结构网络,epoch 的总数设置为 25。我们自己重新实现了 nnU-Net [48] 的结果,其中级联 3D 架构被选择用于小器官分割。我们对每个交叉验证进行了五次训练,并将从训练集中获得的五个网络作为一个集成来估计结果,其预处理、后处理和数据增强都遵循原论文中的建议。
ISICDM pancreas segmentation challenge dataset
ISICDM 胰腺分割挑战包含 36 个薄和 36 个厚的腹部 CT 体积。扫描设备是定义 AS,西门子,在标准胰腺扫描协议下。2D 切片的数量范围在 [205,376] 和 [31,76] 之间,薄数据集和厚数据集的厚度分别为 1 mm 和 3 mm。按照交叉验证策略,我们将两个数据集分成 6 个子集,每个子集包含 6 个卷。我们使用两个模型来处理薄数据集和厚数据集,这两个模型都在 6 个子集中的 5 个子集上进行了训练,并在剩余的子集上进行了测试。对于薄数据集,我们还融合了沿每个轴的三个 2D 模型作为我们的最终模型。对于厚数据集,我们使用轴向视图模型,因为冠状和矢状视图中包含的切片太少,导致预测错误。薄模型和厚模型的权重都在 NIH 数据集上进行了预训练。我们重新实现了 RSTN [60] 和 nnU-Net [48],其中 RSTN 使用相同的数据预处理进行训练,并在 NIH 数据集上进行了预训练以获得更好的性能。对于 nnU-Net,我们分别使用 3D 级联架构和 3D 全分辨率架构来处理 ISICDM 薄数据集和厚数据集。我们还为每个交叉验证训练了 5 个 nnU-Net 模型,使用与原始论文相同的预处理、后处理和数据增强。
Medical segmentation decathlon(MSD) dataset
第三个是医学分割十项全能 (MSD) 脾脏数据集,其中包含 41 个 CT 卷。 2D 切片的数量在 [31,168] 之间。按照 [64] 中建议的设置,我们首先将所有图像的强度裁剪为 [-125, 275] 并将数据集随机分成两组,一组包含 21 个用于训练的卷,另一组包含 20 个用于训练的卷测试。与 ISICDM 的厚数据集上的实验类似,我们实现了在轴向视图上训练的一维模型进行预测。其他设置与 NIH 数据集相同。为了公平比较,我们自己重新实现了比较模型。按照 [64] 中 VNet 的设置,我们对体积进行归一化,并在训练和测试中使用 128 × 128 × 64 的补丁。我们还使用在训练集上获得的五个网络模型在 MSD 脾数据集上重新实现了 nnU-Net 的 3D 级联架构。
Evaluation
我们使用 Dice Similarity Coefficient (DSC) 和 Hausdorff distance (HD) 来评估我们模型的性能,定义为
从理论上讲,高 DSC 和低 HD 表示更好的分割精度。
Experimental results
从理论上讲,高 DSC 和低 HD 表示更好的分割精度。在本节中,我们评估了多级结构损失(MLL)模型和多级结构网络(MLN)模型
NIH pancreas dataset
Numerical analysis
已经为 NIH 胰腺分割开发了一系列基于深度学习的方法。一些作品直接使用ground truth来生成边界框,而另一些作品则使用多模型方法来学习边界框。为了公平比较,我们训练了两种带有或不带标签数据的模型来选择边界框。数值结果总结在表 3 中,我们的模型在这两种情况下都超过了最先进的结果。特别是,在与 [65] 相同的裁剪下,我们的方法提供了显着更高的 DSC 值,这可以证明网络结构的效率和多级结构损失函数的优势。它表明我们的网络架构可以捕获比编码器-解码器结构更多的信息,这对于胰腺等小器官分割很有用。另一方面,MLL 和 MLN 模型都优于多模型方法,即组合 2D 和 3D 体积融合模型 [69],以及最近发布的两种多模型方法 [48,71]。最重要的是,我们的 MLL 模型超过了 3D 多模型方法 nnU-Net,DSC 提高了近 1%,这证明了多级结构损失在小器官分割中的有效性。此外,我们的多级结构损失模型和多级结构网络都比 Yu 等人提出的 RSTN 获得了显着的改进(≥1%)。 [60],它也是基于粗到精和显着性转换架构开发的。更具体地说,我们观察到我们的粗模型,没有多级结构损失,平均分割精度为 77.96%,略低于 [60] 中使用 FCN 构建的 78.23%。然而,我们的精细模型提供了更好的精度,在第一次迭代后达到了 84.02% 的 DSC,远高于 [60] 中的 82.73%。它清楚地表明,多级结构损失和网络都可以帮助骨干模型获得更好的准确性。
Convergence analysis
我们进一步分析了我们的多级结构损失模型的收敛性,以验证其可靠性。特别是,我们在测试阶段同时跟踪绝对 DSC 和相对 DSC。如图6(a,b)所示,四个交叉验证的绝对误差和相对误差都随着迭代次数的不断增加而收敛。特别是,我们观察到绝对和相对 DSC 在前 5 次迭代中增长很快,并且在最后 5 次迭代中几乎保持不变。因此,在测试阶段设置 T max = 10 是合理的。
另一方面,我们比较了我们模型的相对 DSC 和表 4 中的两个循环显著性转换网络。可以看出,我们的具有多级结构损失的模型在所有比较方法中收敛最快,包括两个循环显著性转换网络和我们的具有减少损失函数的模型。正如 [60] 中所报道的,它平均需要 5.22 次迭代才能超过 0.99 的相对 DSC,而我们的模型只需要 4.29 次迭代。这意味着我们的模型不仅可以给出更高 DSC 的预测,还可以在处理数据时节省一定的计算成本。值得一提的是,82 个案例中有 2 个在 10 次迭代后没有收敛,而所有案例都使用我们的多级结构损失收敛。此外,我们分别在表 5 和表 6 中列出了 DSC 和 HD 与我们模型的迭代。我们观察到逐像素损失在提高分割精度和所提出模型的收敛性方面效果很好。
Fig.6 前两个折线图是 DSC 折线图和相对 DSC。虚线是4次交叉验证的迭代结果,红线是平均结果。在前 5 次迭代中,DSC 和相对 DSC 增长很快,在接下来的 5 次迭代中,DSC 和相对 DSC 都继续增长,尽管速度变慢了。最后两张折线图是NIH数据集上多层次结构损失的消融分析。 (a) DSC w.r.t 的图。 4个交叉验证; (b) 相对 DSC w.r.t 的图。 4个交叉验证; DSC w.r.t 的图。不同的损失函数; (d) 相对 DSC w.r.t 的图。不同的损失函数。 (有关此图例中颜色参考的解释,请读者参考本文的网络版本。)
Ablation analysis
在下文中,我们进行了一系列消融研究,以研究区域、边界和像素项的有效性。如图 6 所示,我们的多级结构损失中的每个术语都有助于最终的分割性能。通过引入边界损失,DSC 提高了 0.43%。当引入逐像素损失时,DSC 进一步提高了 0.2%。同时,用于测量边界精度的 Hausdorff 距离也比通过区域损失获得的距离减少了约 0.6 (mm)。另一方面,图 6 (d) 证实了学习多级特征可以帮助提高我们从粗到精模型的收敛性。此外,我们在图 7 中提供了消融实验的视觉说明,其中胰腺具有狭长的结构。如图所示,通过区域损失,胰腺已被分割成两个独立的子区域。通过引入边界损失,孤立的两个子区域变得连接起来,而逐像素损失可以进一步提高边界的准确性。
Fig.7 我们的多层次结构损失的典型视觉示例。选定的边界和像素以蓝色背景显示。 (有关此图例中颜色参考的解释,请读者参考本文的网络版本。)
ISIDM pancreas dataset
我们进一步讨论了 ISICDM 胰腺数据集的分割性能。我们分别为薄数据和厚数据训练了两个模型,注意薄模型是在 NIH 数据集上预训练的,而厚模型是用薄模型初始化的。具体分割结果如表7所示。我们重新实现了 RSTN [60] 和 nnU-Net [48] 以进行公平比较。可以看出,我们的模型不仅在薄数据集和厚数据集上都提供了更好的分割精度,而且还节省了很多计算时间,特别是与 nnU-Net 相比。与 RSTN 相比,我们的模型分别在 3.92 和 4.42 次迭代内收敛,而 RSTN 在薄数据集上平均消耗 6.11 次迭代才能达到 0.99 的相对 DSC。因此,我们的模型节省了大量计算时间。更重要的是,与 RSTN 模型相比,我们的多级结构损失模型还提供了更高的 DSC 值,平均提高了 1.5%。图 8 提供了细数据和粗数据的选择性分割示例。视觉比较可以证明我们的模型可以更准确地识别小、长和窄结构。
Fig.8 我们的模型与 ISICDM 数据集上的循环显着性转换网络 [60] 之间的选择性视觉比较,其中红色、绿色和黄色分别表示ground truth、预测和重叠区域。左边部分是薄子数据集,而右边部分是厚子数据集。 (有关此图例中颜色参考的解释,请读者参考本文的网络版本。)
因为二维切片以及冠状和矢状视图的切片比厚数据的轴向视图上的切片少得多,导致两个视图的分割精度低,所以我们使用轴向视图模型而不是我们的方法和 RSTN的融合模型。尽管这三个模型的 DSC 值显著下降,但我们的模型以大约 1.5% 的优势战胜了 RSTN 和 nnU-Net。更重要的是,我们的多层结构网络在厚数据集上提供了显着更好的性能。
MSD spleen dataset
Numerical analysis
我们的模型也适用于其他器官分割任务,例如脾脏分割。我们在没有三维融合的情况下实现了所提出的模型和 RSTN 以及轴向视图,因为数据集很小并且在其他两个维度上变化很大。我们通过与两种基于边界的方法和两种 3D 方法进行比较来评估我们的方法,即 EBP 模型 [64]、LSM 模型 [72]、V-net [38] 和 nnU-Net [48],它们都是由我们自己重新实施以进行公平比较。请注意,ground truth用于为 EBP 和 V-net 生成 3-D 边界框。 [64] 中报道的 RSTN 的 DSC 为 89.5% ,这比我们的重新实现要低得多,因为主要投票是三个轴。如表 8 所示,我们的模型提供了最高的 DSC 和最低的方差,这比其他方法要好得多。此外,我们的模型比其他模型花费更少的计算时间,除了 V-Net,它使用标签来裁剪边界框。由于我们的两个模型都需要较少的迭代来满足停止标准,因此可以节省推理时间。可以看出,我们的多层结构网络可以将平均 DSC 进一步提高 0.6%。由于脾脏的边界比胰腺的边界平滑得多,边界分支和像素分支可以帮助很好地逼近ground truth,对区域特征起到很强的引导作用。我们还在图 9 中显示了选择性 2D 分割结果,其中我们的模型在视觉上优于其他模型。
Fig.9 我们的模型与 MSD 脾数据集上的循环显著性转换网络之间的选择性视觉比较,其中红色、绿色和黄色分别表示ground truth、预测和重叠区域。 (有关此图例中颜色参考的解释,请读者参考本文的网络版本。)
Ablation analysis of modules in MLN model
在本小节中,我们探索消融研究以评估像素模块和多级显着性指导模块的个体贡献。具体来说,我们使用了三个基线模型进行比较,第一个通过将像素模块替换为四个共享 MLP 获得,第二个通过将多级显着性引导模块替换为四个 3×3 卷积层获得,最后一个通过替换像素模块和多级显着性引导模块获得的一个。从表 9 中可以看出,在参数、FLOP 和推理时间数量相似的情况下,我们的多级显着性指导模块可以通过更少的迭代将 DSC 提高 0.3%。我们的像素模块通过从不确定像素中提取特征来作为非局部模块执行,而 PointRend [58] 中使用的四个共享 MLP 仅捕获局部特征。通过我们的本地特征,DSC 又提高了 0.2%。因此,像素模块和多级显着性引导模块都有助于分割精度。
Conclusion
在这项工作中,我们通过惩罚多级结构信息来促进一种新颖的损失函数,以更好地聚合小器官分割的多尺度特征。我们采用了从粗到细的空洞卷积模型,并充分考虑了目标的小尺寸,通过设计合适的感受野来保留更多的低级特征。对公共胰腺和脾脏数据集的综合实验证明了所提出的方法在处理小器官分割问题方面的优越性。我们的多层次结构损失不仅不断提高分割精度,而且在测试阶段增强了训练稳定性和精细模型的收敛性。数值实验还表明,我们的多层次结构网络在 NIH 胰腺数据集和 ISICDM 数据集的薄子集上优于单头模型。
尽管提出的 MLL 模型和 MLN 模型在胰腺和脾脏分割问题上都表现出优势,但两种模型的性能并不总是一致的。因此,多层次结构信息融合的理论机制仍是一个有待研究的悬而未决的问题。我们模型的另一个限制是 3D 信息仍然不足以用于我们的 2D 方法。虽然我们融合了沿三个视图的三个网络以提供更多的空间细节,但沿不同方向的三个模型是独立训练的,没有空间相关性,这也增加了计算成本。我们未来的工作包括开发更有效的损失函数和网络结构来研究多层次的结构信息,以实现精确的医学分割。
边栏推荐
- 接地继电器DD-1/60
- Take you to quickly learn how to use qsort and simulate qsort
- JSON web token -- comparison between JWT and traditional session login authentication
- BUU-Crypto-[HDCTF2019]basic rsa
- Use of hutool Pinyin tool
- Canoe panel learning video
- 报错cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。
- One click filtering to select Baidu online disk files
- Kubernets first meeting
- JS get the attribute values nested in the object
猜你喜欢
ES6 modularization
LayoutManager布局管理器:FlowLayout、BorderLayout、GridLayout、GridBagLayout、CardLayout、BoxLayout
Detailed explanation of common APIs for component and container containers: frame, panel, scrollpane
Json Web token - jwt vs. Traditional session login Authentication
Upper computer software development - log information is stored in the database based on log4net
C # character similarity comparison general class
One click filtering to select Baidu online disk files
Halcon图片标定,使得后续图片处理过后变成与模板图片一样
AWT introduction
Accidentally deleted the data file of Clickhouse, can it be restored?
随机推荐
Understanding of cross domain and how to solve cross domain problems
JS how to convert seconds into hours, minutes and seconds display
AWT介绍
Json Web token - jwt vs. Traditional session login Authentication
gslb(global server load balance)技术的一点理解
How to implement lazy loading in El select (with search function)
Leetcode question brushing record | 206_ Reverse linked list
Notes and notes
Win10 clear quick access - leave no trace
How to get the parent node of all nodes in El tree
BeanFactoryPostProcessor 与 BeanPostProcessor 相关子类概述
Weekly summary (*63): about positive energy
High performance parallel programming and optimization | lesson 02 homework at home
C语言练习题(递归)
js arguments参数使用和详解
70000 words of detailed explanation of the whole process of pad openvino [CPU] - from environment configuration to model deployment
测试岗的中年危机该如何选择?是坚守还是另寻出路?且看下文
Thinkphp6.0 middleware with limited access frequency think throttle
JS execution mechanism
HMS v1.0 appointment.php editid参数 SQL注入漏洞(CVE-2022-25491)