A NEW THREE-STAGE CURRICULUM LEARNING APPROACH TO DEEP NETWORK BASED LIVER TUMOR SEGMENTATION

该研究提出一种基于深度网络的三阶段课程学习方法,用于解决CT图像中的肝肿瘤分割问题。这种方法首先对整个输入进行学习,然后聚焦于肿瘤patch以增强肿瘤特征,最后再次对整个输入进行训练,结合肿瘤特性和全局上下文。实验在2017年MICCAI肝脏肿瘤分割挑战数据集上进行,结果显示该方法优于传统的级联方法,特别是在小目标分割方面表现出色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A NEW THREE-STAGE CURRICULUM LEARNING APPROACH TO DEEP NETWORK BASED LIVER TUMOR SEGMENTATION

基于深层网络的肝肿瘤分割的三阶段课程式学习新方法

论文:https://arxiv.org/abs/1910.07895

预处理步骤源代码:https://github.com/Huiyu-Li/Preprocess-ofCT-data。

摘要

医学图像中肝脏肿瘤的自动分割是计算机辅助诊断和治疗的关键。这是一项具有挑战性的任务,因为与背景体素相比,肿瘤非常小。本文提出了一种新的三阶段课程学习方法来训练深度网络来解决小目标分割问题。第一阶段对整个输入进行学习,以获得用于肿瘤分割的初始深度网络第二阶段的学习重点是通过在肿瘤patch上继续训练网络来加强肿瘤的特定特征。最后,我们在第三阶段对整个输入进行再训练,以便在分割目标下将肿瘤的特异性特征和全局上下文理想地结合起来。得益于提出的学习方法,我们只需要使用一个单一的网络直接分割肿瘤。我们在2017年MICCAI肝脏肿瘤分割挑战数据集上评估了我们的方法。在实验中,与常用的级联方法相比,我们的方法得到了显著的改进。

关键字:肝肿瘤分割,CT,课程式学习,深度学习

1. 介绍

自动分割肝肿瘤

所提出的方法在两个尺度上训练网络:肿瘤patch和整个输入量。对肿瘤patch的训练有助于模型更好的捕获肿瘤的特定特征,而对整个输入的训练则使肿瘤的特定特征在全局背景下发挥作用,以从整个输入中分割出肿瘤。我们将两种训练尺度整合成一个三阶段的训练模式,首先对整个输入进行训练,然后继续对肿瘤patch的训练,最后是对整个输入进行再次训练。通过这次方式,可以缓解我们感兴趣的小目标淹没在大背景中的困境。方法如图一所示:

图一:训练基于U-Net的肿瘤分割网络的三阶段课程式学习方法示意图,其中“× X”表示一个残差块重复X次

本文贡献为:1. 提出了一种新的三阶段课程式学习方法来解决小目标分割问题。2. 这是第一次介绍肝脏肿瘤分割的课程式学习策略。3. 这也是第一个直接对肿瘤进行分割的工作,即不需要预先对肝脏进行分割。


2. 提出的方法

2.1 肿瘤分割网络

​ 将带有残差链接的U-Net体系结构[10]应用在本文中,只使用一个单一的网络直接分割肿瘤,而不是像常用的级联方法那样直接从肝脏分割肿瘤。

​ 肿瘤分割网络由编码器和解码器对称组成,它使用残差块而不是简单的卷积序列。随着网络越来越深入,信息越来越粗糙,学习到的特征越来越与语义相关。为了充分利用语义特征并减少信息损失,我们详细说明了不同级别的特征映射的残差块的数量,如图1所示。该网络从一些高分辨率的特征映射开始,这个数字随着解码器中每次下采样操作(最多128个)而翻倍,随着解码器中的每次转置卷积而减半

2.2 三阶段课程式学习

​ 由于在整个输入volume和肝脏区域中只有很少一部分的体素都属于肿瘤,因此常用的级联方法似乎是在大海捞针,并可能失去某些特定的肿瘤特征。此外,肝脏分割不理想的话会阻碍后续对肿瘤的分割。

​ 基于上述思想,我们提出了三阶段课程式学习方法,以更充分地探索肿瘤相关特征,并将其用于直接在CT volume上分割肿瘤。如图1所示,这三个学习阶段是顺序执行的。每个阶段的过程和作用描述如下:

​ 阶段一:我们开始学习从整个三维volume分割肿瘤的网络,而不是首先对肿瘤patch进行学习,可以指导最终分割目标下的学习过程,并为最终学习结果提供更多的鲁棒性。

​ 阶段二:我们从整个输入volume中提取三维肿瘤patch来细化模型。肿瘤patch的大小决定为所有肿瘤的最大尺寸,以便包围enclose训练使用的任何肿瘤。除了肿瘤区域的阳性样本外,我们还裁剪了相同大小的阴性样本(即不包含任何肿瘤)。由于肿瘤区域是此类训练样本的主要部分,因此可以在分割网络中充分学习并加强肿瘤的特定特征。

​ 阶段三:这一阶段的训练过程与第一阶段相同,但从第二阶段输出的模型开始。该阶段旨在将从肿瘤patch中学习的知识转移到整个输入volume中,从而将肿瘤的特定特征和全局上下文完美地整合在一起,达到我们从整个输入中分割肿瘤的最终目的。

3. 实验

3.1实验设置

数据集和预处理:使用2017年MICCAI肝脏肿瘤分割挑战LiTs数据集来训练和评估本文方法 (https://competitions.codalab.org/competitions/17094#participate)。训练数据包含130个CT扫描,它们的分辨率都是512×512像素,但切片厚度不同。为训练集提供金标准。将扫描随机分为两个不重叠的子集,分别为90%进行训练和10%进行测试。

我们利用间距插值,窗口变换,有效范围提取和子图像生成进行预处理。对于子图像生成,我们将patch尺寸设置为64×256×256,以优化可用GPU内存与输入patch中保留的上下文信息之间的权衡。经过预处理,我们最终获得了11541个整体输入volume,肿瘤斑块的40957个阳性样本和21189个阴性样品。这些预处理步骤的源代码位于https://github.com/Huiyu-Li/Preprocess-ofCT-data。

参数设置:网络用PyTorch实现。网络分别针对整体输入和肿瘤patch分别以1和2的batch大小进行网络训练,学习率被设定为10-3,并在课程式学习的每个后续阶段减少10倍。

评价标准:我们使用Dice得分(DS)来评估所提出的方法的性能,包括每个例子的Dice得分(DC)和Dice全局(DG)、体积重叠误差(VOE)、相对体积差(RVD)、平均对称表面距离(ASSD)、最大表面距离(MSD)和均方根平方对称表面距离(RMSD)。完美的分割在DC和DG中结果为1,而在其他指标(VOE、RVD、ASSD、MSD和RMSD)中结果为0。

3.2 实验结果

图2显示了我们方法的定性结果。它显示了各种分割情况。对于该图的前两列所示的情况,每个输入切片中只有一个肿瘤,但是整个切片中的肿瘤大小可能会有很大差异。对于最后两列,每个输入切片中都有多个大小和形状各异的肿瘤。

图二:肝肿瘤分割示例,肿瘤用绿色表示

​ 我们以所有测试图像为参照,并与相同肿瘤分割网络和相同实验设置下其他相关学习模式的DS标准进行比较。这些比较的模式包括:

  1. Naive学习:仅考虑了我们方法的第一阶段训练,即我们在整个输入上训练了肿瘤分割网络。
  2. Whole-to-patch 课程式学习:我们使用方法的前两个阶段来训练网络,即开始对整个输入进行训练并结束于对肿瘤patch的训练。
  3. Patch-to-whole 课程式学习:此架构与我们方法的最后两个阶段相同。我们开始对肿瘤patch进行训练,并结束于对整个输入的训练。
  4. 级联架构:在级联方案中,第一个网络用于分割肝脏,第二个网络用于分割肝脏中的肿瘤。这是当前肝脏分割社区中常用的方法。

表一提供了上诉模式的比较结果,图三显示了该课程式学习三个阶段细分示例。naive方法学习效果较差,表明从整个输入量中学习肿瘤相关特征的效果不显著;whole-to-patch方法优于其余三种方法,反应了我们的方法的前两个阶段(whole-to-patch)比后两个阶段(patch-to-whole)产生更有利的影响。

表一:我们的方法和其他方法在LiTS数据集上的性能比较

图三:我们课程学习方法的三个阶段的肝脏肿瘤分割结果的例子

参考文献

[10] Yang G, Gu J, Chen Y, et al. Automatic kidney segmentation in CT images based on multi-atlas image registration[C]//2014 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE, 2014: 5538-5541.

Conference of the IEEE Engineering in Medicine and Biology Society. IEEE, 2014: 5538-5541.

关于 Gradually Recurrent Network (GREnet) 结合 Curriculum Learning 在 2D 医学图像分割中的应用,以下是详细的架构实现和相关技术背景: ### GREnet 和 Curriculum Learning 的基本概念 #### GREnet 架构设计 GREnet 是一种逐渐递归网络结构,旨在通过逐步引入复杂度来提高模型的学习能力。其核心思想是在训练过程中动态调整网络的递归深度,从而允许模型从简单的模式开始学习,并随着训练进程逐渐处理更复杂的特征[^1]。 #### Curriculum Learning 的作用 Curriculum Learning 是一种模仿人类学习过程的方法,它通过按顺序提供由简单到复杂的样本给模型,帮助神经网络更快收敛并提升泛化性能。在医学图像分割领域,这种方法特别适用于解决数据分布不均或标注质量参差不齐的问题[^2]。 --- ### GREnet 在 2D 医学图像分割中的具体实现 #### 数据预处理阶段 为了适应 GREnet 的需求,在数据准备阶段通常会执行以下操作: - **分层采样**:按照病变区域大小或其他显著特征对数据集进行分类,形成多个子集合。 - **增强策略**:采用随机旋转、缩放和平移等方式扩充数据量,减少过拟合风险[^3]。 ```python import numpy as np from skimage.transform import rotate, rescale def augment_image(image): angle = np.random.uniform(-15, 15) scale_factor = np.random.uniform(0.9, 1.1) augmented_image = rotate(image, angle=angle, resize=True) augmented_image = rescale(augmented_image, scale_factor, mode='reflect') return augmented_image ``` #### 模型构建与递归机制 GREnet 的主要特点是逐层增加递归单元的数量以及连接方式的变化。这种渐进式的增长有助于缓解梯度消失问题,并使深层网络能够有效捕捉全局上下文信息[^4]。 ```python import tensorflow as tf from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, UpSampling2D, concatenate def build_gre_net(input_shape=(256, 256, 1), num_classes=2): inputs = Input(shape=input_shape) conv1 = Conv2D(32, kernel_size=(3, 3), activation='relu', padding='same')(inputs) pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) # 添加更多卷积层... upsampled_layer = UpSampling2D(size=(2, 2))(pool1) merged_layer = concatenate([upsampled_layer, conv1]) outputs = Conv2D(num_classes, kernel_size=(1, 1), activation='softmax')(merged_layer) model = tf.keras.Model(inputs=[inputs], outputs=[outputs]) return model ``` #### 训练流程集成 Curriculum Learning 在实际训练中,可以通过设置不同的 epoch 阈值控制输入样本难度的增长速度。例如,初期仅使用边界清晰的目标对象作为正例;后期则加入模糊边缘或者重叠区域较多的情况以挑战模型极限[^5]。 ```python def curriculum_training(model, train_data_easy, train_data_hard, epochs_per_stage=10): for stage in range(2): # 假设有两个阶段 if stage == 0: current_dataset = train_data_easy elif stage == 1: current_dataset = train_data_hard model.fit(current_dataset, epochs=epochs_per_stage, batch_size=8) ``` --- ### 实验评估与优化建议 通过对不同参数组合下的实验结果分析发现,适当调节递归层数目以及课程安排节奏对于最终效果至关重要。此外,还可以考虑引入注意力机制进一步强化局部细节的表现力[^6]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值