UNet及其变体在医学图像分割中的性能分析

news2024/11/15 20:37:20

论文链接:https://arxiv.org/abs/2309.13013

机构:英国伦敦布鲁内尔大学

日期:20230922

因为太长了长达37页所以我也就记点重点内容了hhh,我重点关注的还是在Unet以及其变体上,不过感觉严格意义上来说里面提到的方法不算很新,但是能给你理一下思路

我还很想建议作者把图片里面的文本改大一点点!!!

摘要

医学成像通过提供内部结构和异常的非侵入性可视化,实现早期疾病检测、准确诊断和治疗计划,在现代医疗保健中发挥着至关重要的作用。本研究旨在探索深度学习模型在医学图像分割中的应用,特别关注UNet架构及其变体。我们试图评估这些模型在各种具有挑战性的医学图像分割任务中的性能,解决诸如图像归一化、调整大小、架构选择、损失函数设计和超参数调优等问题。研究结果表明,标准UNet在进行深度网络层扩展时,是一种熟练的医学图像分割模型,而Res-UNetAttention Res-UNet架构在处理精细图像细节时表现出更平滑的收敛和更优越的性能。该研究还通过仔细的预处理和损失函数定义来解决高级不平衡的挑战。我们期望本研究的结果将为寻求将这些模型应用于新的医学成像问题的研究人员提供有用的见解,并为其实施提供指导和最佳实践。

背景

回顾了医学成像的问题和以往的分割研究,特别是医学图像分割。

医学图像格式

医学图像分割受到所采用的成像方式的固有影响。

计算机断层扫描(CT)成像面临着与相似组织强度、三维数据和辐射暴露控制相关的挑战[30]。

磁共振成像(MRI)引入了多对比度成像、噪声和伪影的复杂性,以及长时间的采集[67,50]。

超声成像(Ultrasound)虽然依赖于操作人员,而且容易产生斑点噪声,但它提供了实时成像,没有电离辐射。

正电子发射断层扫描(PET)成像,通常用于功能研究和癌症检测,面临分辨率和噪声的权衡,需要先进的算法来准确分割,区分生理和病理区域[37]。

x射线(X-ray)成像面临三维结构固有的二维投影挑战[1],由于结构重叠和对比度低,难以准确分割[8]。

Unet系列网络

UNet[53]代表了深度学习网络中最广泛接受的变化,其特征是带有跳过连接的u形架构,能够准确描绘图像中的物体[40]。

SegNet是一种编码器-解码器架构,可适应各种医学成像模式。它的编码器可以定制,以纳入特定领域的特征,如医学图像中的纹理和强度变化[2]。此外,还可以对解码器进行修改,以处理医学图像中物体的特定形状和结构,从而确保精确分割[38]。

ResUNet[29]通过引入残差连接对UNet架构进行了扩展,残差连接使网络即使在大量层数下也能有效训练,从而提高了其捕获医学图像中复杂特征的能力。ResUNet中残差块的集成促进了更深层次网络的训练,提高了分割精度,使其成为医学图像分析中需要精确描绘解剖结构的任务的有价值的选择。注意ResUNet[44]建立在ResUNet框架的基础上,结合了注意机制,允许网络选择性地关注输入图像中的信息区域,同时抑制噪声和不相关的特征。通过引入自注意或空间注意模块,attention ResUNet增强了其分割能力,特别是在医学图像的细节和细微变化对准确分割和诊断至关重要的情况下。

最近,nnUNet自动分割框架的自配置机制同时考虑了计算机硬件能力和数据集特定属性,其分割性能达到或接近最先进的水平[32]。在[45,46,47,48]中已经报道了用于各种医学成像应用的nnUNet扩展模型。

因为医学分割任务差别很大所以需要不同的Unet衍生来解决问题。

方法

Unet

UNet的架构以其独特的编码器-解码器结构和跳过连接为特征。图1a显示了该项目采用的通用UNet体系结构

(a)网络整体架构

为什么数字这么小kora!

(b) 卷积模块细节

UNet的体系结构由两个主要组件组成:Contracting path(编码器)和expansive path(解码器)。这种设计使UNet能够捕获输入图像的全局和局部特征,使其在分割任务中非常有效。

Encoder (Contracting path)

Encoder负责特征提取。在这个项目中构建的UNet模型有四个编码层。每个编码层由2个卷积层或1个卷积块组成,每个卷积块后面都有用于确保归一化的批量归一化层,以及如图1b所示的relu激活层。然后,卷积块的输出通过一个带有最大池化的向下采样层来降低特征映射的空间维度。契约路径对于构建丰富的特征表示是至关重要的。在四个编码层之后,输出通过瓶颈层,然后是上采样

Decoder(Expansive path)

Decoder的目的是恢复图像的原始分辨率。UNet模型有四个解码层。它包括上采样层和转置卷积层。

Skip Connection

跳过连接是UNet架构中的一个关键创新。它们解决了上采样过程中信息丢失的问题。通过在编码器和解码器的相应层之间提供快捷连接,跳过连接使模型能够有效地组合低级和高级特征。这样可以确保在分割过程中保留精细的细节。

Kernel size and number of filters

在整个结构中,卷积层的核大小为3,因为这个过滤器大小在图像分割任务中很常见。较小的过滤器尺寸捕获局部特征,而较大的过滤器尺寸捕获更多的全局特征。第一层过滤器的数量设置为64。这是一种常见的做法,从中等数量的过滤器开始,然后逐渐增加更深层的过滤器数量。它允许网络学习分层特征。

Final Fully Connected Convolutional layer 

输出经过4个解码层后经过最终全连接卷积层。最后一层内核的大小取决于掩码中存在的类(标签)的数量,因此根据任务的需要进行调整。卷积层的输出通过激活函数产生最终输出。最终使用的激活函数还取决于输出中的标签数量。最终的内核大小和激活层将在接下来的章节中提到。

Res-UNet

Res-UNet是UNet的扩展,它包含了剩余连接。残差连接在残差网络(ResNets)的背景下被引入[29],以解决深度网络中的梯度消失问题,可以处理更深层的网络,有利于捕捉更复杂的细节。UNet中的卷积块在这里被残差块取代,残差块在每个块的输入和最后3X3卷积块的输出之间引入了一个附加层。

(a)网络结构

(b) 残差卷积模块,相比起unet原有的卷积多出了红框部分

Residual Connections

Res-UNet结合了层之间的剩余连接。这些连接使梯度在训练过程中更容易流动,从而使更深层网络的训练不会受到梯度消失的影响。

Enhanced Information Flow

残差连接的使用增强了通过网络的信息流,使其能够捕获医学图像中的远程依赖关系和复杂结构。

可恶,我原来一直以为残差链接和跳跃链接是一回事!读到这里查了一下残差链接其实是跳跃链接的一种:

残差链接(Residual Links)
它们通过在网络中添加跨层的连接来传递信息。通常是将输入数据直接与后续层的输出相加,这样网络可以学习残差(或差异),而不是完全依赖后续层来表示特征。
残差链接的核心思想是学习恒等映射,即如果当前层的特征提取没有改进,那么将输入直接传递给下一层
跳跃链接(Skip Links)

跳跃链接是一般性的术语,通常用于描述在神经网络中跨越多个层级的连接。这些连接可以采用不同的形式,包括残差链接。
跳跃链接不仅限于ResNets,也可以用于其他类型的神经网络。它们可以在网络中的不同层级之间建立直接连接,以便信息可以跳跃传递,而不是仅沿着顺序层级传递
总的来说,残差链接是一种特殊的跳跃链接,它具有明确的目的,即通过添加残差连接来让网络更容易训练和更深。跳跃链接是一个更通用的概念,可以用于各种神经网络架构中,而不仅仅是ResNets。

Attention Res-UNet

注意力Res-UNet模型[44]建立在Res-UNet架构之上,但引入了注意力机制。

这是通过门控信号(Gating signal)实现的,它使下层的输出与当前层匹配相同的维度,以及一个注意块,它结合了来自两个来源的信息:输入特征图(x)和门控信号(gating),以计算注意权重,确定输入特征图的不同空间区域应该给予多少关注或重要性。注意机制使神经网络能够专注于输入的显著区域,提高其区分重要和不重要特征的能力

Gating Signal

🤔我怎么感觉现在都不怎么用门控信号了呀

门控信号是一个子网或一组操作,用于调制注意机制中的信息流。在这个具体的实现中,门控信号产生如下

卷积层:卷积层用于将输入特征转换为与注意机制要求兼容的格式。它在必要时调整特征维度。

Batch Normaliazation(可选):一个可选的批归一化层被应用,以确保卷积层的输出是良好的缩放和居中,从而有助于稳定训练。

ReLU激活:ReLU激活功能将非线性引入门控信号,帮助捕获数据中的复杂模式和关系。

Attention Block

怎么感觉是很久远的注意力机制了🤔,好吧确实

它的主要目的是结合来自两个源的信息:输入特征映射(x)和门控信号(门控)。下面是它的功能细分:

•空间变换(Theta x):输入特征映射(x)使用卷积操作进行空间变换。这种变换确保了特征映射与门控信号的尺寸一致。

•门控信号变换(Phi g):同样,门控信号通过卷积运算进行变换,以确保适当的空间维度。

•组合信息:转换的门控信号(Phi g)和空间转换的输入特征图(Theta x)相结合,以捕获输入的不同部分之间的关系。

•激活(ReLU): ReLU激活函数应用于组合信息,引入非线性并使复杂关系的捕获成为可能。Psi和Sigmoid激活:使用卷积层和Sigmoid激活进一步处理组合信息以产生注意权重(Psi)。s形激活确保注意权重在0到1的范围内,表示分配给每个空间位置的注意程度。

•Upsampling Psi:注意力权重被上采样以匹配原始输入特征图的空间尺寸,确保与输入对齐。

•乘法(注意操作):注意权重与原始输入特征图(x)逐元素相乘。该操作9根据计算的注意权重有效地将注意力引导到特征图中的特定空间位置。

•结果和批处理规范化:通过应用额外的卷积层和可选的批处理规范化来获得最终结果,确保输出得到适当的处理。

所述门控信号准备了一个调制信号用于影响所述注意块中的注意机制。注意力块计算注意力权重以聚焦于输入特征图的相关空间区域,这在需要细粒度细节捕获的任务中特别有用,例如图像分割或目标检测。注意机制有助于网络对特征映射中的不同空间位置进行优先级排序和加权,最终提高性能。

评估方法

Execution time 

记录每个模型训练的执行时间,使用python中的datetime库实现的。

epoch上的Validation Loss

在训练期间验证损失的变化可以大致了解模型的收敛性。模型收敛图显示了模型训练的性能和模型收敛的效率。

Dice Similarity Coefficient

也被称为Srensen-Dice系数,Dice系数是用于量化两个集合或组之间的相似性或重叠度的度量。在图像分割和二值分类任务中,Dice系数通常用于评估两个二值掩模或感兴趣区域(regions of interest)(roi)之间的相似性。越高越好。

A是第一组掩码或二值掩码(例如,预测的分段掩码);

B是第二集或二进制掩码(例如,基础真值或参考掩码);

Intersection over Union (IoU) or Jaccard Index

IoU测量预测的分割掩码(A)与Ground Truth mask(B)之间的重叠部分。它被计算为两个掩码的交集除以它们的并集。IoU越高,表示分割精度越高。

Dice系数和IoU都是用于测量两个集合之间的相似性的指标,它们的计算方式非常相似,都涉及到交集和并集的概念。它们的主要区别在于应用领域,Dice系数通常用于图像分割任务,并强调了预测与真实结果的精确匹配,而IoU在多个计算机视觉任务中使用广泛,更侧重于测量重叠度。但需要注意的是,它们都可以用于不同任务的性能评估,具体选择取决于任务和评估的需求。

任务

这个部分我暂时就先略过了,我想找模糊病灶分割什么的....但是本文中没怎么提到,文中针对了每个任务用Unet,resUnet 和attention ResUnet做了结果对比,包含预训练,模型训练,损失函数,模型选择,结果什么的做了探讨,感兴趣可以自己去看看

脑肿瘤分割 Brain Tumor Segmentation

息肉分割 Polyp Segmentation

心脏分割 Heart Segmentation

总结

我们评价了UNet、Res-UNet和Attention Res-UNet在脑肿瘤、息肉和多标记心脏分割三个问题上的性能。

1) UNet在目标整体像素相对较小的情况下,如脑肿瘤或小息肉节段,往往会误分类目标类作为背景。当蒙版边缘边界性质复杂时,UNet也难以进行目标分割。这指出了UNet在梯度消失问题上的局限性,以及无法将焦点放在难以分类的像素上。

2) Res-Unet和Attention - unet模型更适合处理复杂和不规则的结构,这两种模型在大多数情况下都能捕捉到复杂的边界。这表明在两个模型中引入了残差连接,从而减轻了梯度消失问题。

3)Attention Res-Unet在解决类别不平衡方面更有效,因为它在所有任务中始终实现高召回值。与Res-UNet相比,该模型在大多数情况下也预测了更精细的掩模。多标签心脏分割强化了这些理论,因为与其他任务相比,掩模图像的不平衡程度较低,并且在标准UNet模型中具有更高的性能。Res-Unet和Attention Res-Unet在这项任务中表现相似,因为在大多数情况下排除了主要类别的代表性不足。由于在数据集中大多数图像中的稀缺性,这三种类别中的一种经常被错误分类。这表明,为了使这些健壮的模型充分发挥其潜力,数据集需要更多地包含所有类别。

这项工作的意义超出了直接的研究领域。它为医学领域的分割技术设定了现代基准,为未来的研究人员提供了宝贵的见解,了解在将UNet、变体和其他深度学习方法应用于医学图像分析时需要考虑的关键因素。为了加强这项研究,未来的工作可以专注于将上述模型应用于三维医学图像,因为许多医学数据集本质上是三维的。可以探索更多的损失函数及其对这些模型的影响,从而增加研究和这些模型的可靠性。还可以对UNet的更多扩展及其适用性进行类似的研究,从而丰富具体的指导方针。

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

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

相关文章

嵌入式C语言中整形溢出问题分析

整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击。 今天分享一篇文章,希望大家都了解一下整型溢出,编译器的行为,以及如何防范&a…

【安全】 Java 过滤器 解决存储型xss攻击问题

文章目录 XSS简介什么是XSS?分类反射型存储型 XSS(cross site script)跨站脚本攻击攻击场景解决方案 XSS简介 跨站脚本( cross site script )为了避免与样式css(Cascading Style Sheets层叠样式表)混淆,所以简称为XSS。 XSS是一种经常出现在web应用中的计算机安全…

mistyR官网教程 空转spatial

Modeling spatially resolved omics with mistyR • mistyR (saezlab.github.io) mistyR and data formats • mistyR (saezlab.github.io) Heidelberg University and Heidelberg University Hospital, Heidelberg, Germany Jožef Stefan Institute, Ljubljana, Sloveniajov…

阿里5年经验之谈 —— 浅谈自动化测试方法!

导读 在当今快节奏的软件开发环境中,高质量的代码交付至关重要。而针对经过多次迭代,主要功能趋向稳定的产品,大量传统的重复性手动测试方法已经无法满足高效、快速的需求。为了提高测试效率保证产品质量,本文通过产品实践应用&a…

Python接口自动化测试之token参数关联

前言 在做自动化接口测试时,有时候会遇到token的动态关联,例如查询余额接口,需要关联登录接口的token动态值,如何利用python脚本进行接口token关联呢?今天我们爱学习一下吧! 一:获取登录接口返回的token…

研发项目管理系统对比:找到最适合的高效工具

研发部门是企业非常重要的部门,代表着企业未来能否在市场上拥有优秀的技术,站稳市场份额。很多企业的研发方式往往是瀑布式的,所以项目的阶段规划,然后每个阶段的需求分配给开发人员,可以随时查看每个需求的开发进度和…

Redis学习5——有序集合Zset数据类型的操作

有序集合Zset 常用命令 数据结构 跳跃表 跳跃表

移远通信EM060K系列LTE-A Cat 6模组完成全球认证覆盖

近日,移远通信LTE-A Cat 6模组EM060K系列顺利完成全球认证覆盖,将以卓越的性能和品质助力海内外客户终端大规模部署,为其提供畅快的高速网络连接。同时,凭借着有竞争力的性能和成本优势,EM060K系列将加速释放海外固定无…

[架构之路-235]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述:数据库定义、核心概念、系统组成

目录 一、核心概念 1.1 什么是数据与信息 1.2 数据与数据库的关系 1.3 什么是数据库 1.4 数据库中的数据的特点 1.5 数据库与数据结构的关系 二、数据库系统 2.1 什么是数据库管理系统 2.2 什么是数据库系统 2.3 数据库相关的人员 2.4 数据库的主要功能 2.5 Excel表…

Vuex的基础使用存值及异步

目录 一、概述 ( 1 ) 讲述 ( 2 ) 概念 ( 3 ) 作用 二、取值 1. 安装 2. 菜单栏 3. 模块 4. 引用 三、改值 四、异步&后台请求 带来的获取 一、概述 ( 1 ) 讲述 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的…

【Linux初阶】多线程1 | 页表的索引作用,线程基础(优缺点、异常、用途),线程VS进程,线程控制,C++多线程引入

文章目录 ☀️一、深入理解页表☀️二、Linux线程概念🌻1.什么是线程(重点)⚡(1)线程的概念⚡(2)线程库初识 🌻2.线程的优点🌻3.线程的缺点🌻4.线程异常&…

为什么设置静态代理IP后无法正常上网,怎么解决?

静态代理IP是一个固定的IP地址,因为其出色的稳定性和安全性而得到广泛应用,常用于一些对网络质量要求高、需要长期稳定和持续可靠连接的业务。设置静态代理IP后无法上网是用户常见的网络问题,通常有多种原因: 1. 静态代理IP不可用…

【Flutter学习】AppBar

App Bar 可以视为页面的标题栏,在 Flutter 中用AppBar组件实现。 一个简单的AppBar实现代码如下: import package:flutter/material.dart;void main() {runApp(const AppBarTest()); }class AppBarTest extends StatelessWidget {const AppBarTest({Key…

【AGC】云托管新建站点时间过长的问题排查方法

【问题描述】 开发者按照指导文档使用云托管服务,已经申请了域名,在创建站点时页面显示证书配置最长需要12小时,然而,在等了两天后依然是激活中的状态,没有如期上线。 ​ 【解决方案】 卡在上线中的状态有以下几个原…

F. Vasilije Loves Number Theory

Problem - F - Codeforces 思路:分析一下题意,对于第一种操作来说,每次乘以x,那么nn*x,然后问是否存在一个a使得gcd(n,a)1并且n*a的约数个数等于n,有最大公约数等于1我们能够知道其实这两个数是互质的&…

圆满完成重保网络防护行动,持安科技获西南兵工致信感谢

近日,因积极协助西南兵工有限责任公司开展重保网络防护行动中,提供强大零信任网络安全产品和专业技术力量配合,持安科技收到了来自西南兵工有限责任公司的致信感谢。 持安为西南兵工提供的应用层零信任解决方案,是持安科充分吸取了…

Hibiki Run 市场火爆,“Listen to Earn”赛道的现象级应用?

在 9 月 18 日,以“Listen to Earn”为特点的 Web3 数字音乐类项目 Hibiki Run,在包括 DAOStarter、Spores Network、BitMart 在内的 三个平台,开启了实用通证 $HUT 的 IDO / IEO 活动。据悉,在本轮认购开启后的短时间内所有平台均…

Python 图形化界面基础篇:更改字体、颜色和样式

Python 图形化界面基础篇:更改字体、颜色和样式 引言 Tkinter 库简介步骤1:导入 Tkinter 模块步骤2:创建 Tkinter 窗口步骤3:创建文本标签步骤4:更改字体步骤5:更改颜色步骤6:更改样式 完整示例…

数字图像处理实验记录一(图像基本灰度变换)

文章目录 基础知识图像是什么样的?1,空间分辨率,灰度分辨率2,灰度图和彩色图的区别3,什么是灰度直方图? 实验要求1,按照灰度变换曲线对图像进行灰度变换2,读入一幅图像,分…

使用python查找指定文件夹下所有xml文件中带有指定字符的xml文件

文件夹目录如下(需要递归删除文件夹下的.DS_Store文件): labels文件夹下面是xml文件: import os import os.pathpath "name/labels" files os.listdir(path) # 得到文件夹下所有文件名称 s []for xmlFile in files:…