Multi Scale Supervised 3D U-Net for Kidney and Tumor Segmentation

news2024/11/26 22:36:55

目录

  • 摘要
  • 1 引言
  • 2 方法
    • 2.1 预处理和数据增强
    • 2.2 网络的体系结构
    • 2.3 训练过程
    • 2.4 推理与后处理
  • 3 实验与结果
  • 4 结论与讨论

摘要


U-Net在各种医学图像分割挑战中取得了巨大成功。一些新的、带有花里胡哨功能的架构可能在某些数据集中在使用最佳超参数时取得成功,但它们的泛化性能无法保证。在这项工作中,我们专注于基本的U-Net架构,并提出了一种多尺度监督的3D U-Net,用于KiTS19挑战中的分割任务。为了提高性能,我们的工作可以总结为三个方面:首先,在解码器路径中使用多尺度监督,可以鼓励网络从深层预测正确的结果;其次,为了缓解肾脏和肿瘤样本不平衡的不良影响,我们采用了指数对数损失;第三,设计了一种基于连通组件的后处理方法,以去除明显错误的体素。在已发布的 KiTS19 训练数据集(共210名患者)中,我们将42名患者分为测试数据集,并最终获得了分别为0.969和0.805的肾脏和肿瘤的DICE分数。在挑战赛中,我们最终在106支团队中取得第7名,综合DICE分数为0.8961,即肾脏为0.9741肿瘤为0.8181

关键词:医学图像分割;3D U-Net;多尺度监督

1 引言


自动语义分割为探索肿瘤形态与其相应的手术结果之间的关系以及开发先进的手术规划技术提供了一个有前途的工具[1,2,3],但由于形态异质性,要实现良好的性能仍然具有挑战性。

KiTS19挑战[4]旨在加速可靠的肾脏和肾脏肿瘤语义分割方法的开发。它拥有300名独特的肾癌患者的CT扫描图像,其中有210张用于模型的训练和验证,另外的90名患者的扫描图像将保留作为测试数据集。提交模型的最终性能是基于肾脏和肿瘤分割的平均DICE系数来衡量的。

深度卷积神经网络(CNNs)已被公认为各种图像分类和分割任务的最先进方法。带有编码器-解码器架构的U-Net [5] 是医学图像分割的一个稳定成功的网络。由于体积数据在生物医学数据分析中比2D图像更丰富,因此为了充分利用像CT和MRI这样的3D图像的空间信息,提出了3D卷积并认为它更加有效。Fabian[6] 对基于3D U-Net [7] 进行了轻微修改(nnunet),并在许多医学图像分割挑战中获得了冠军或前几名,这证明了经过优化的U-Net具有比许多其他新架构更好性能的潜力。

受到[6]的启发,我们还放弃了一些常见的架构技巧,如残差块[8]、稠密块[9]、注意机制[10]、特征金字塔网络[11]和特征重校准[12]。在我们看来,医学图像远不如自然图像多样化,因此它们不需要太深的卷积层或太多的连接只有5层的基本U-Net足以表示或学习用于分类的特征

在遵循这些建议的基础上,我们将工作重点放在更好地训练3D U-Net并更有效地利用有限的训练数据集上。由于最终的全分辨率预测是从更深的低分辨率层上采样的,因此保证在深层次预测的准确性非常重要。因此,我们设计了多尺度监督的3D U-Net,以鼓励网络不仅在最后一层进行正确的预测,而且在每个分辨率级别都进行正确的预测,从而显著提高了最后一层的性能。为了减轻由于不平衡的类别数据带来的负面影响,我们使用了增强的焦点损失[13]和指数对数损失[14]。最后,我们的后处理方法会去除与肾脏未附着的分散的肾脏或肿瘤。

2 方法


在这一部分,我们将详细介绍我们的方法,不仅包括网络架构,还包括预处理、数据增强、训练过程、推断和后处理,因为这些因素对于实现3D U-Net应有的性能非常重要。

2.1 预处理和数据增强


为了去除可能来自某些金属物体的异常强度值,我们将CT图像的强度值截取到它们的0.5和99.5百分位数之间。然后按照惯例,我们使用全局前景均值和标准差进行数据归一化,这是由于典型的权重初始化方法。需要强调的是,3D数据的各向异性会破坏3D卷积的优势,因为它无法学习具有相同感受野的不同体素空间数据的统一表示。因此,如果数据不在同一体素空间中,我们会对其进行重新采样

  1. 异常值去除:某些CT图像中可能包含异常强度值,这些异常值可能来自于金属物体的存在或其他因素。这些异常值可能会对后续的图像处理和分析造成干扰,因此需要将它们去除,以确保数据的质量和准确性。

  2. 数据范围限制:将强度值限制在0.5和99.5百分位数之间意味着去除了图像中最极端的1%强度值。这可以帮助确保大多数像素的强度值在一个相对较小的范围内,使数据更加一致和易于处理。

  3. 数据标准化:截取后,通常会对图像进行标准化,以使其具有零均值和单位方差。这有助于训练深度学习模型时,确保数据的尺度一致,从而更容易进行模型训练和收敛。

总之,通过将CT图像的强度值截取到0.5和99.5百分位数之间,可以去除异常值,限制数据范围,并为后续的数据处理和分析提供更稳定和一致的数据。这有助于提高图像处理和分析的准确性和可靠性。

处理3D数据(三维数据,如医学图像中的CT或MRI扫描)时的一个重要问题,即数据的各向异性问题。

  1. "3D数据的各向异性"指的是数据在三维空间中不同方向上的分辨率和性质可能不同。这意味着,对于同一个3D图像,横向、纵向和纵深方向的信息可能有所不同。这种不同可能是由于扫描仪的特性、扫描过程中的图像畸变、采样间距不均匀等因素引起的。

  2. "3D卷积的优势"指的是使用卷积神经网络(CNN)中的三维卷积操作来处理3D数据的潜在好处。3D卷积可以捕获3D图像中的空间信息,有助于更好地理解和分割体积性数据,比如医学图像中的器官或肿瘤。

然而,如果数据存在各向异性,即不同方向上的特征和分辨率差异较大,那么传统的3D卷积可能不够有效。因为它无法充分学习到不同方向上的特征,不能提供统一的表示。这可能会导致模型在某些方向上的性能不佳,因为模型无法有效地处理各向异性数据。

为了解决这个问题,一种方法是将数据进行等间距的重新采样以使不同方向上的分辨率一致,从而允许3D卷积更好地学习统一的表示。这可以提高模型对各向异性数据的处理能力。所以,原文提到的"3D数据的各向异性会破坏3D卷积的优势" 意味着如果不处理各向异性,模型可能无法充分利用3D卷积的优势。

手动标注医学图像通常很繁琐,因此带标签的数据集通常有限。我们采用了强大的数据增强方法,以避免模型过拟合,包括随机旋转、随机缩放、随机弹性变形、伽马校正增强以及镜像等。

2.2 网络的体系结构


U-Net [5] 是一种经典的编码-解码分割网络,在近年来引起了很多关注。编码器路径类似于典型的分类网络,逐层提取更高层次的语义特征。然后,解码器路径恢复每个体素的本地化信息并利用特征信息对其进行分类。为了利用编码器中嵌入的位置信息,我们在同一阶段的层之间构建了直接连接

我们的网络是基于3D U-Net [7] 设计的。该框架如图1所示。这个多尺度监督网络从解码器路径的不同层面进行预测不同于传统的3D U-Net只从最后一层进行预测。这些分割结果将与相应分辨率的标签进行比较,然后用于计算最终的损失函数。这种监督鼓励网络从低分辨率特征图中进行正确的预测,这些特征图将被上采样为完整分辨率的特征图。

在这里插入图片描述

图1. 我们的多尺度监督3D U-Net的结构(最好在彩色中查看)。实际架构是3D的,但出于简化,我们在这里使用2D。根据我们的经验,我们采用步进卷积而不是池化操作,并用转置卷积代替三线性插值进行上采样。为了减小模型的体积,我们将基本特征数设置为30

  1. 步进卷积(strided convolution)是卷积神经网络(CNN)中的一种卷积操作。它与常规卷积操作相似,但在应用卷积核(滤波器)时,会跳过输入数据的一定数量的像素,以减小输出特征图的尺寸(常规卷积也就是stride=1的步进卷积
  2. 转置卷积(Transpose Convolution),也称为反卷积(Deconvolution),是一种卷积神经网络(CNN)中的操作,用于将特征图的尺寸从较小的空间分辨率上采样到较大的空间分辨率。与标准卷积操作相反,转置卷积允许扩大特征图的尺寸,从而实现上采样操作

2.3 训练过程


由于GPU内存的限制,我们选择将 patch 大小设置为192×192×48,并在2个GPU上(Tesla,32GB)使用数据并行方式将 batch size 设置为8。patch 是随机抽样的,我们将一个epoch定义为250次迭代。我们使用Adam作为优化器。学习率初始化为3×10^-4,如果训练损失在30个epoch内没有进一步改善,学习率将减小0.2倍。

在CT图像中进行肾脏和肿瘤分割时,背景样本的数量远远超过肾脏和肿瘤体素的数量。此外,由于肿瘤形态的多样性,肿瘤更难分类。为了减轻这种不平衡,我们使用了指数对数损失[14]。这种损失强调了困难样本的影响,并通过使损失变得非线性,使它们具有更大的权重。同时,我们手动为背景、肾脏和肿瘤分配了不同的权重。

我们结合了Soft Dice和交叉熵来训练我们的模型。我们的最终损失格式可以总结如下:

在这里插入图片描述

Soft Dice Coefficient 是 Dice Coefficient的变体,用于度量两个集合之间的相似性。在图像分割中,这两个集合通常分别表示真实分割结果和模型预测的分割结果。

Dice Coefficient(或F1 Score)通常定义为:

在这里插入图片描述
其中,X 是真实分割结果的像素集合,Y 是模型预测的分割结果的像素集合,|X ∩ Y| 表示两者的交集的像素数量,|X| 和 |Y|分别表示它们的像素数量。
在 Soft Dice 中,与传统的 Dice Coefficient不同,它将真实分割结果和模型预测的分割结果的像素值视为连续值(soft values),而不是二进制(0或1)。这允许 Soft Dice在像素级别度量两个分割结果的相似性,而不仅仅是匹配或不匹配。
通常,Soft Dice 范围在0到1之间,其中1表示完美的重叠,0表示没有重叠。模型的目标是最大化 Soft Dice 分数,以获得更好的分割结果。这使 Soft Dice成为一种重要的评估指标,尤其是在医学图像分割中,其中精确的分割结果对于诊断和治疗规划至关重要。

2.4 推理与后处理


在进行病例预测时,我们采用滑动窗口方法,使预测之间存在重叠。为提高准确性,我们将原始数据和镜像数据的预测结果进行组合

一些常见的人类知识可以帮助进一步提高分割模型的性能。例如,一个病人最多只有两个肾脏,而肿瘤应该紧贴在肾脏上。因此,我们设计了一个基于连通组件的简单后处理方法来移除明显错误的预测。其效果如图2所示。

在这里插入图片描述

图2. 我们后处理方法的效果。左图是经过后处理之前的图像,虚线框中的区域包含一些明显错误的体素。右图是经过后处理之后的图像,额外的体素已经被移除。

3 实验与结果


共有210例患者的CT扫描数据用于训练模型。我们将其中的42例划分为测试数据集,使用其他图像来训练我们的模型。训练过程耗时约5天,运行在2块GPU上(Tesla 32GB)。训练期间的损失曲线如图3所示。可以观察到我们提出的损失持续稳定下降,这个过程大约持续了700个时期,直到学习率达到我们忍耐的极限。

在这里插入图片描述
图3. 训练过程中损失的变化情况。红线和蓝线分别表示验证损失和训练损失。绿线是一个滑动验证损失度量,用于选择最佳的检查点。

在这里插入图片描述
图4. 我们的分割输出的两个示例。从上到下的行分别为2D中的矢状面、冠状面、横断面和3D视图(最佳在彩色视图中查看)。从左到右的列分别是一个常见案例的真实情况和预测情况,以及最糟糕情况。

我们的分割结果样本如图4所示。我们观察了来自不同视图的2D切片和3D视图以分析性能。显然,在CT图像中,肾脏的分割效果非常好。预测结果与真实情况非常接近。然而,一些肿瘤太小以致于难以获得良好的Dice系数,并且也难以找到。一些具有小肿瘤大小的病例会显著降低平均Dice系数。

我们的测试数据集的箱线图如图5所示。测试数据集的平均Dice系数分别为0.969和0.805,用于肾脏和肿瘤的分割。此外,肾脏的方差非常小,表明我们的算法在肾脏分割方面非常稳定。

在这里插入图片描述
图5. 划分测试数据集中42名患者的分割结果的箱线图。

4 结论与讨论


在本论文中,我们展示了我们的模型及其在KiTS19数据集中的性能。我们的方法基于经典的3D U-Net,并通过多尺度监督、指数对数损失和基于连通组件的后处理进行了增强。在已发布的数据上测试,我们的方法分别实现了肾脏和肿瘤的平均Dice系数为0.969和0.805。

在挑战中,我们获得了综合Dice系数为0.8961,其中肾脏的Dice系数为0.9741,肿瘤为0.8181,排名在所有106支队伍中的第7位。尽管肾脏分割的Dice系数略低于最高0.9743,但肿瘤分割的Dice系数超过了顶尖团队的表现。由于我们遵循了Fabian [6]的精神,我们在这里没有使用太多架构技巧,而是侧重于训练过程。肿瘤由于其严重的形态异质性,总是难以进行良好的分割。在未来,我们计划尝试肿瘤分割的两阶段方法,即首先提出感兴趣区域,然后使用可变形卷积而不是传统卷积来适应肿瘤特征

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1092666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣-463.岛屿的周长

Idea 注意观察,每一个完整的方块,边长都是加4,一旦这个方块有其他的方块相邻的话,那么这两个方块总边长就要减少2. 因此我们遍历二维数组的时候,判断岛屿方块的上面还有左方是否有相邻即可 class Solution { public:in…

Linux 64位 C++协程池原理分析及代码实现

导语 本文介绍了协程的作用、结构、原理,并使用C和汇编实现了64位系统下的协程池。文章内容避免了协程晦涩难懂的部分,用大量图文来分析原理,适合新手阅读学习。 GitHub源码 1. Web服务器问题 现代分布式Web后台服务逻辑通常由一系列RPC请…

算法村开篇

大家好我是苏麟从今天开始我将带来算法的一些习题和心得体会等等...... 算法村介绍 我们一步步地学习算法本专栏会以闯关的方式来学习算法 循序渐进地系统的学习算法并掌握大部分面试知识 , 期待和大家一起进步 . 索大祝大家学有所成 , 前程似锦.

PyCharm运行Nosetests并导出测试报告

1. Pycharm运行Nosetests PyCharm可以使用两种方法,运行Nosetests测试文件: 1) 图形用户界面GUI a) 在PyCharm中,选中测试文件,如Tests/test_demo.py b) 鼠标右键选择Run Nosetests in test_demo.py即可执行测试 注1&#xff…

【大数据Hive】hive select 语法使用详解

目录 一、前言 二、Hive select 完整语法树 三、Hive select 操作演示 3.1 数据准备 3.1.1 创建一张表 3.1.2 将数据load加载到t_usa_covid19表 3.1.3 再创建一张分区表 3.1.4 使用动态分区插入数据 3.2 select 常用语法 3.2.1 查询所有字段或者指定字段 3.2.2 查询…

【数据库系统概论】第七章数据库设计

7.1数据库设计概述 数据库设计定义是什么? 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理…

【排序算法】详解冒泡排序及其多种优化稳定性分析

文章目录 算法原理细节分析优化1优化2算法复杂度分析稳定性分析总结 算法原理 冒泡排序(Bubble Sort) 就是从序列中的第一个元素开始,依次对相邻的两个元素进行比较,如果前一个元素大于后一个元素则交换它们的位置。如果前一个元素小于或等于后一个元素…

RootSIFT---SIFT图像特征的扩展

RootSIFT是论文 Three things everyone should know to improve object retrieval - 2012所提出的 A Comparative Analysis of RootSIFT and SIFT Methods for Drowsy Features Extraction - 2020 当比较直方图时,使用欧氏距离通常比卡方距离或Hellinger核时的性能…

分析智能平台VMware Greenplum 7 正式发布!

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

芯片学习记录TLP104

TLP104 芯片介绍 引脚信息 引脚1阳极3阴极4GNDGND5输出6VCC5V(4.5~30) 推荐使用条件 *此项目表示操作范围,而不是建议的操作条件。 注:建议的操作条件作为设计指南,以获得预期的性能设备。此外,每个项目…

HTML5播放 M3U8的hls流地址

在HTML5页面上播放M3U8的hls流地址 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>视频播放</title> <script src"https://cdn.jsdelivr.net/npm/hls.jslatest"></script> &…

Spring6注解管理Bean

文章目录 过程搭建子模块spring6-ioc-annotation使用注解定义 BeanAutowired注入①场景一&#xff1a;属性注入②场景二&#xff1a;set注入③场景三&#xff1a;构造方法注入④场景四&#xff1a;形参上注入⑤场景五&#xff1a;只有一个构造函数&#xff0c;无注解⑥场景六 A…

Vue3 + Quasar系列-代码配置以及报错汇总记录(不断更新中)

1. Vue3 Quasar系列-代码配置打包去掉hash后缀 去掉hash https://quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa 2. Vue3 Quasar改变主题背景 quasar的样式和其他的框架修改不太一样&#xff0c;需要我们使用动态的方式来进行变更&#xff0c;一般来说有两…

计算机毕业设计 高校实习信息发布网站的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

宝塔使用腾讯COS存储实现自动备份服务器网站数据图文教程

一、进入宝塔安装腾讯COS 点击设置打开后需要配置以下cos参数 二、腾讯云创建COS存储桶 选择私有读写&#xff0c;其他默认就行 三、创建访问密钥 四、配置宝塔中腾讯COS相关设置 很多人是配置错误导致无法正常链接cos region为cos存储桶所属地域 Bucker为存储桶名称 五、…

力扣-461.汉明距离

Method 1 直接比较x&#xff0c;y二进制中的每一位&#xff0c;如果不同则cnt加一&#xff0c;并且x&#xff0c;y每次右移一位 class Solution { public:int hammingDistance(int x, int y) {int cnt 0;while(x > 0 && y > 0) {if((x & 1) ! (y & 1)…

MySQL 2023 MySQL Summit 大会感受,我们距离MySQL 新技术越来越远

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群&#xff0c;群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;…

2023.10.14 培训总结

培训内容 数字模型联合仿真及集成测试技术 MBSE(Model-Based-System-Engiaeering&#xff09; 参数化建模参数化仿真 产生的疑问 支持面向对象支持CAE CFD工具优化工具 飞机的业务功能 开发分布式架构 新技术 WSDL协议DDS 发布/订阅SAOPCORBA 明显开发者 Chris Garrett 美…

c# xml 参数配置表的使用

使用简介 实际使用界面 配置表管理界面 进入 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;…

挖机技术哪家强

挖机技术哪家强&#xff0c;中国山东找蓝翔&#xff0c;开挖机是我曾经的梦想&#xff0c;每个男人心中都有一台自己的挖机&#xff0c;近半年做的项目就是关于挖机销售CRM&ERP系统&#xff0c; 今天我们聊聊关于挖机的基本知识。 注&#xff1a;此文并非广告&#xff0c;…