ERDUnet: An Efficient Residual Double-codingUnet for Medical Image Segmentation
ERDUnet:一种用于医学图像分割的高效残差双编码单元
摘要
医学图像分割在临床诊断中有着广泛的应用,基于卷积神经网络的分割方法已经能够达到较高的准确率。然而,提取全局上下文特征仍然很困难,而且参数太大,无法临床应用。为此,我们提出了一种新的网络结构来改进传统的编码器-解码器网络模型,在保持分割精度的同时节省了参数。通过构造一个能够同时提取局部特征和全局连续性信息的编码器模块,提高了特征提取效率。设计了一种新的注意力模块,在优化分割边界区域的同时提高训练效率。改进了解码部分的特征传递结构,充分融合了不同层次的特征,更精细地还原了空间分辨率。我们在7个不同的医学分割数据集上评估了我们的模型,这些数据集分别是2018年数据科学碗挑战赛(DSBC2018)、2018年病变边界分割挑战赛(ISIC2018)、结肠组织学图像中的腺体分割挑战赛(GlaS)、KvasirSEG、CVC-ClinicDB、Kvasir-Instrument和polygen。大量的实验结果表明,我们的模型在保持较少的参数和计算量的情况下,可以获得良好的分割性能,进一步促进理论方法在临床实践中的推广。
我们的代码将在https://github.com/caijilia/ERDUnet上发布。
1 介绍
医学图像分析是现代临床疾病诊断的一项基础性工作。分割结果可以从医学图像提供的大量病理信息中识别出疾病诊断所需的病变区域,便于医生进一步对病变进行评估。准确的分割可以帮助医生获得可靠的形态学统计数据,用于疾病诊断。例如,在染色组织切片图像中检查不同组织学分级腺体的形态,判断腺体组织是否癌变[1]。及时诊断可以帮助医生及早干预治疗,避免病情恶化,降低死亡率。例如,皮肤癌可以通过皮肤镜来识别
早期及时诊断可使95%的患者平均生存率提高5年[3]。
目前,大多数医院依靠经验丰富的医疗专业人员用肉眼进行视觉识别。这是一项耗时费力的任务。与此同时,人工分割带来的另一个问题是缺乏统一的标准和指南,往往只依靠临床经验,不同的人在处理同一目标时可能产生不同的分割结果[4]。医疗资源分布不均将加剧这一现象的后果。由于缺乏高水平的医生进行诊断,即使患者可以使用显像机获得足够的病理图像,也可能错过最佳的治疗时机。
计算机辅助诊断(CAD)系统是解决这一问题的重要途径,它利用计算机视觉技术协助医疗专业人员进行高质量的临床诊断。医学图像分割技术是计算机辅助设计的重要组成部分。它负责从医学图像中自动分割病变区域,用于后续的诊断和分析。在实际的医学场景中,用于诊断的病理图像的模态是不均匀的。病灶区域的形状往往不规则,分割目标与背景的对比度差异往往不是很明显[5]。此外,更具体的一点是,病变区域的大小可以根据个体患者的差异而有很大差异。
医学图像中这些目标特征给分割算法的设计带来了很大的挑战。
为了克服这些挑战,基于深度学习的医学图像分割方法正发挥着越来越重要的作用[6]-[9]。然而,这些方法通常具有大量的参数和较高的计算负荷[10]-[13],使得理论模型难以推广到临床实践。因此,我们的研究动机是在保持分割精度的同时降低模型复杂度,从而设计出一种适合临床实践的高精度、高效的分割网络模型。
因此,我们提出了一种新的分割网络结构。首先,我们在编码部分提出了一种新的上下文增强编码器(Context Enhanced Encoder, CEE)模块,该模块包括两个分支,分别负责提取局部空间细节特征和全局上下文连续性特征。在解码部分,我们提出了一种新的特征重用融合解码器(FFD)模块,该模块使用多个跳过连接构建密集连接的模式。这种方法融合了编码部分的浅层特征,提高了编码效率
网络使用效率和解码精度。为了消除编码和解码子网之间的语义差距,我们设计了一个接收域聚合(MRA)模块作为转换链路。最后,我们利用这些模块设计了两个相互独立的小参数编解码器网络。为了实现分割性能的进一步突破,我们构建了一种新的两层网络范式,允许两个独立的网络协同使用,以提高最终的分割性能。根据平衡模型性能和计算负荷的设计原则,我们最终实现了一个学习效率高、节约资源的双网络模型。我们提出的分割模型可以准确分割困难的病变区域,其准确率与经验丰富的医生手工分割的准确率相当,甚至在一些不明显的样本上也能取得更好的效果。同时,深度学习方法可以更好地提取不同患者之间个体独立的疾病一致性特征。因此,它可以为诊断结果的形成提供可靠的数据支持,帮助医生做出更准确的诊断,设计更有针对性的治疗方案。同时,基于该模型可以形成一个自动化的分割流程,减少医生的工作量。本文的主要贡献如下:1)设计了一种差分区域注意机制,该机制侧重于根据不同阶段特征中的不同区域提取高级语义,从而优化分割结果中的边界区域,提高模型学习效率。
2)从特征提取和融合的角度对经典u型结构进行综合改进,提高了编码效率和解码信息量,从而在降低模型参数尺度的同时提高了分割性能。
3)本文提出了一种新的双网络模型,以获得更精细的分割结果。在七个公开的医疗数据集上进行的大量实验显示了非常好的性能,验证了模型的有效性和鲁棒性。
2 相关工作
A.基于卷积神经网络的医学图像分割
基于卷积神经网络的方法广泛应用于医学图像分割领域,其中Unet[6]是最经典的方法,被广泛用作各种分割任务的主干。基于该编码器-解码器框架,开发了一系列改进模型,其中提出了各种改进。Unet++[10]提出在原有结构上增加一系列嵌套的跳过连接,克服编码部分和解码部分之间的语义差距,提高性能。
Unet3+[11]延续了这一思路,提出了全尺寸密集连接,以充分挖掘特征图的细节
不同尺度,提高了对不同尺度器官的分割效果。ResUnet++[14]利用残差块解决了网络深度加深时容易出现的退化问题,在数据集较少的情况下可以很好地应用。MSRF-Net[4]综合利用多尺度融合和残差块,对编码部分输出的浅层特征设计了信息交换模块,以捕获不同目标的可变性。Double-Unet[12]从整体层面考虑,提出将两个Unet结构叠加组合,以更有效地提取更有效的信息。
然而,所有这些基于卷积的模型都存在感知场有限的问题。我们通过在特征编码中引入特征嵌入方法来解决这一问题,以实现卷积操作感知领域的进一步扩展。
B.基于Transformer的医学图像分割
基于变压器的模型由于具有较好的全局特征提取能力而得到了广泛的应用。其中,TransUnet[15]将变压器模块作为卷积层编码输出的补充,丰富了编码结果的全局上下文信息。Transfuse[16]将传统的u型结构扩展为两支路并行结构,通过将基于卷积的路径和基于变压器的路径并行融合,提高分割性能,为原变压器方法提供空间诱导偏置信息。为了降低模型的复杂性,Colonformer[17]引入了轻量级Mix变压器[18]模块,最终在计算负荷和精度上取得了很好的折衷。swwin -transformer是对Visiontransformer的改进。SwinUnet[19]利用该模块实现了一个完全基于变压器的分割网络,实现了从局部到全局的自关注编码,能够更好地适应目标尺度的变化。SSFormer[5]提出以原有的Swin Transformer为主干构建分层架构,通过图像patch的合并和位移窗口的使用实现参数约简,通过集成Multilayer Perceptron (MLP)作为解码器完成分割任务,最终实现整体模型的轻量化。
尽管基于transformer的方法已经显示出良好的结果,但是它需要大量带注释的数据来保持训练的有效性,这是非常劳动密集型的,并且很难实现。因此,我们的模型仍然是基于卷积运算实现的,但其中设计了一种补偿机制,可以增强全局上下文信息的特征学习。本设计提高了性能,打破了对数据的要求,使其更适合医学图像分割任务。
C.注意机制
注意机制是深度神经网络中一种常用的优化技术,它可以提高特征提取的效率。CBAM[20]提出了通道注意[21]与空间注意相结合的方法,得到了广泛的应用
用于各种视觉任务。SLSM-CA[22]提出为背景区域设计两个注意分支&
相关文章:
ERDUnet: An Efficient Residual Double-codingUnet for Medical Image Segmentation
ERDUnet:一种用于医学图像分割的高效残差双编码单元 摘要 医学图像分割在临床诊断中有着广泛的应用,基于卷积神经网络的分割方法已经能够达到较高的准确率。然而,提取全局上下文特征仍然很困难,而且参数太大,无法临床应用。为此,我们提出了一种新的网络结构来改进传统的…...
vue响应式基础
声明响应式状态 ref() 在组合式 API 中,推荐使用 ref() 函数来声明响应式状态: import { ref } from vueconst count ref(0) ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回: const count ref(0)c…...

每天上万简历,录取不到1%!阿里腾讯的 offer 都给了哪些人?
三月天杨柳醉春烟~正是求职好时节~ 与去年秋招的冷淡不同,今年春招市场放宽了许多,不少企业纷纷抛出橄榄枝,各大厂的只差把“缺人”两个字写在脸上了。 字节跳动技术方向开放数10个类型岗位,研发需求占比60%,非研发新增…...

外包干了20天,技术退步明显.......
先说一下自己的情况,大专生,21年通过校招进入杭州某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了2年的功能测试…...

4核8G云服务器,阿里云要多少钱?
阿里云4核8G服务器优惠价格955元一年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R) Xeon(R) Platinum处理器,阿里云活动链接 aliyunfuwuq…...
数学分析复习:振荡型级数的收敛判别
文章目录 振荡型级数的收敛判别 本篇文章适合个人复习翻阅,不建议新手入门使用 振荡型级数的收敛判别 直观上,振荡型级数说的是级数各项有正有负,求和的时候可以相互抵消,故可能收敛 命题:Abel求和公式 设复数列 { …...

阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中
文章目录 阿里CICD流水线Docker部署,将阿里镜像私仓中的镜像部署到服务器中一、CICD流水线的初步使用可以看我之前的两篇文章二、添加部署任务,进行Docker部署,创建一个阿里的试用主机1、选择主机部署,并添加服务主机2、创建免费体…...

并发VS并行
参考文章 面试必考的:并发和并行有什么区别? 并发:一个人同时做多件事(射击游戏队友抢装备) 并行:多人同时处理同一件事(射击游戏敌人同时射击对方)...
C语言经典例题(8) --- 进制A+B、网购、及格分数、最高分数、计算一元二次方程
文章目录 1.进制AB2.网购3.及格分数4.最高分数5.计算一元二次方程 1.进制AB 题目描述: 输入一个十六进制数a,和一个八进制数b,输出ab的十进制结果(范围-231~231-1)。 输入描述: 一行,一个十六…...

两区域二次调频风火机组,麻雀启发式算法改进simulink与matlab联合
区域1结果 区域2结果 红色曲线为优化后结果〔风火机组二次调频〕...
自动驾驶国际标准ISO文件
Coordinate system:Road vehicles — Vehicle dynamics and road-holding ability — Vocabulary...

【数据结构】双向奔赴的爱恋 --- 双向链表
关注小庄 顿顿解馋๑ᵒᯅᵒ๑ 引言:上回我们讲解了单链表(单向不循环不带头链表),我们可以发现他是存在一定缺陷的,比如尾删的时候需要遍历一遍链表,这会大大降低我们的性能,再比如对于链表中的一个结点我们是无法直接…...
【Redis】高频面试题
提供五种常见的数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合) 文章目录 1、为什…...
数据分析基础
数据分析基础 1. 数据加载 使用 Pandas 库可以轻松地加载各种格式的数据,如 CSV、Excel、JSON 等。 import pandas as pd# 从 CSV 文件加载数据 data pd.read_csv(‘data.csv’). 2. 数据探索 一旦数据加载完成,我们可以开始对数据进行探索性分析&a…...
ffmpeg把一个平面视频,做成左右平面视频
要使用FFmpeg将单个平面视频转换为左右(或称为并排)3D格式的视频,你可以使用FFmpeg的filter_complex功能来实现。这种类型的视频通常用于3D视觉效果,其中同一画面的两个版本并排放置,每个版本略有不同的视角࿰…...

Docker搭建LNMP环境实战(02):Win10下安装VMware
实战开始,先安装 VMware 虚拟机。话不多说,上手就干! 1、基本环境检查 1.1、本机Bios是否支持虚拟化 进入:任务管理器- 性能,查看“虚拟化”是否启用,如果已启用,则满足要求,如果未…...

苍穹外卖笔记
苍穹外卖 DAY01nginx反向代理MD5加密yapi进行接口导入Swagger介绍 DAY02新增员工需求分析和设计写相关代码测试(1. 后端文档测试 2. 前后端联调代码完善 员工分页查询DAY01 02涉及到的知识 DAY03阿里云OSS事务注解 Transactional DAY01 nginx反向代理 MD5加密 拓展࿱…...

[医学分割大模型系列] (3) SAM-Med3D 分割大模型详解
[医学分割大模型系列] -3- SAM-Med3D 分割大模型解析 1. 特点2. 背景3. 训练数据集3.1 数据集收集3.2 数据清洗3.3 模型微调数据集 4. 模型结构4.1 3D Image Encoder4.2 3D Prompt Encoder4.3 3D mask Decoder4.4 模型权重 5. 评估5.1 评估数据集5.2 Quantitative Evaluation5.…...
【React】React中将 Props 传递给组件
当使用 React 时,props 是组件之间传递数据的主要方式。以下是针对您提到的五个问题的详细解答: 1. 如何向组件传递 props 在父组件中,你可以通过组件标签的属性(attributes)将 props 传递给子组件。这些属性在子组件…...
JOL工具查看java对象布局
JOL(Java Object Layout)是一个用于分析Java对象在Java虚拟机(JVM)中内存布局的小工具包。以下是如何使用JOL查看Java对象布局的步骤示例: Maven项目中添加依赖: 首先,在Maven项目中引入JOL工…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...