MMUNet:形态学特征增强网络在结肠癌病理图像分割中的应用

本文主要是介绍MMUNet:形态学特征增强网络在结肠癌病理图像分割中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MMUNet: Morphological feature enhancement network for colon cancer segmentation in pathological images.

发表在:Biomedical Signal Processing and Control2024--影响因子:3.137

南华大学的论文

论文地址:main.pdf (sciencedirectassets.com)

代码地址:https://github.com/Yuanhaojun513/MMUNet

目录

一、摘要

二、介绍

三、方法框架

3.1改变卷积块MCNB和MCNEAB

3.2侵蚀膨胀模块EDM

 3.3边缘特征模块EFM

3.4损失函数

四、实验和结果

4.1实验

4.2结果

五、结论


一、摘要

结肠图像分析是诊断结肠癌的重要步骤,由于病理切片中细胞形状和边界的多样性,故存在困难。在本文中,我们提出了一种u型结肠癌分割网络,将深度可分卷积和形态学方法相结合,减少了模型参数的数量,有效提高了分割精度。我们利用序列卷积和外部焦点作为模型的底层架构,提高了全局和局部特征的能力。我们设计了跳跃连接,以形态学的方式融合编码器的特征,以增强形态学特征。引入边缘增强模块,利用形态学方法提取轮廓信息增强边缘特征。

二、介绍

结肠癌已被证明可以通过细胞的形状、密度和位置来预测临床结果。传统的结肠癌图像分割方法,有些方法取得了一定的成功。然而,它们需要在面对不规则形状时更具竞争力,只适用于某些类型的图像,并且不是很健壮

通过构建融合低级语义和高级语义的编码器-解码器结构,然而,这项工作没有考虑形态学信息的影响,形态学信息对于不规则的病理切片非常重要。连续的下采样和上采样可以获得丰富的语义信息,但会丢失一些目标信息,影响边缘的纹理特征。此外,卷积的局限性导致该网络只关注局部特征而忽略了远程依赖。全局特征和局部特征相辅相成,有利于增强模型提取特征的能力。因此,许多研究者将transformer引入到视觉任务中,以减轻卷积的局域性,增加远程依赖性,但这带来了巨大的计算压力。研究者发现,外部注意(EA)可以以较低的复杂性获得远程依赖的能力。 

因此本文提出了一种形态学方法UNet(MMUNet)来解决病理图像中结肠癌分割中形状不规则和边缘不准确的问题。改进了ConvNeXt的基本模块,使其适合于结肠癌的分割。

我们使用改进的块构造一个多尺度卷积模块(MCNB)来提取多尺度特征。我们构建了一个多尺度卷积外部注意块(MCNEAB),使用MCNB和EA相结合来提取局部和全局特征。其次,利用侵蚀膨胀模块(EDM)对编码器特征进行形态学融合,增强形态学特征;最后,利用边缘特征模块(Edge Feature Module, EFM)提取编码器基特征和解码器基特征,增强边缘特征 。

主要贡献:

1. 构建侵蚀膨胀模块(EDM)和边缘特征模块(EFM),分别引入形态学方法融合编码器特征和提取轮廓,进一步增强形态学特征和边缘特征

2. 我们提出了多尺度卷积块(MCNB)和多尺度卷积外部注意块(MCNEAB),增强了提取全局和局部特征的能力

3. 我们在三个结肠癌数据集上进行了广泛的实验来验证我们方法的有效性。

三、方法框架

它是一个结合卷积神经网络和形态学方法的u形网络,包括由多尺度卷积块和外部注意(EA)组成的基本架构,边缘特征模块(EFM)和使用侵蚀和膨胀的编码器特征融合模块(EDM)。我们仅在前三层使用多尺度卷积块(MCNB),在后两层使用多尺度卷积外部注意块(MCNEAB),从而降低了复杂性并提高了捕获上下文信息的能力。对于EFM,我们使用编码器的前两层和解码器的最后一层的特征信息提取边缘特征。对于EDM,形态学方法将在编码器特征上进行操作,以增强形态学特征。

3.1改变卷积块MCNB和MCNEAB

基于改进的ConvNeXt块,将7 × 7深度卷积分成4个部分。第一部分执行卷积核大小为3,第二部分执行卷积核大小为5,第三部分执行卷积核大小为7。最后一部分保存原始信息,第二部分接收第一次卷积后的结果,第三部分接收第二部分进行卷积后的结果。MCNB用于提取多尺度特征。然后,将MCNB与EA连接起来,得到远程依赖关系,称为多尺度卷积外部注意块。

 EA论文地址:https://arxiv.org/pdf/2105.02358

     ConvNeXt论文地址:https://arxiv.org/abs/2201.0354

EA使用一个外部矩阵M来建模第i个像素和第j行之间的相似性,且M是可学习的、大小可变的,同时,M还可以随着训练过程的进行建模整个数据集不同样本间的联系 在实际应用中,M分为两个:M_k、M_v,分别对应SA中的K和V:A  = Norm(FM_K^T);Fout = AM_v

3.2侵蚀膨胀模块EDM

侵蚀使图像更平滑,并去除小噪声点。膨胀增强了图像的细节,填补了小洞。我们通过侵蚀和膨胀过程融合编码器特征。该方法的优点是去除了噪声并保留了足够的形态学信息。

利用SoftMax对编码器特征映射X进行二值化。使用MaxPooling(内核大小为7,步长为1,填充为3)实现侵蚀和扩展,因为更大的内核捕获更多的上下文信息并扩展接受域。

对编码器特征X1进行并行腐蚀和扩展,对扩展后的特征映射进行Tanh计算加权。一方面,对腐蚀特征图进行Sigmoid加权,并与膨胀特征图相乘计算相似矩阵; 另一方面,利用Sigmoid算法将腐蚀后的特征图与原始地图融合,计算权值,得到原始地图的相似度矩阵。最后对两个相似矩阵信息进行融合。

 3.3边缘特征模块EFM

错误的边界会产生许多错误的病变区域。标准的卷积神经网络提取附加特征来补充边缘特征,但单个特征会丢失边缘信息。由于底层特征具有足够的边缘信息,我们使用编码器的下两层特征和解码器的最后一层特征。EFM对两个输入分别提取轮廓,去除图像中的噪声和不规则部分,得到更准确的边缘信息。

编码器第一层的特征X1直接通过形态学方法计算边缘,得到X1_edge。X2使用第二层编码器特征,通过上采样DwConv和形态学方法提取边缘信息。X1_edge和X2_edge沿通道方向连接,两部分信息融合得到更精确的边缘。最后对编码器特征X和边缘特征求和:

3.4损失函数

由于病理图像的复杂性和多样性,我们选择Dice系数和交叉熵损失来训练我们的网络,它可以关注分割区域的匹配程度和每个像素点的分类精度来提高分割性能。

其中Y_i代表真实值,P_i代表预测值

四、实验和结果

4.1实验

 数据集:三个结肠癌数据进行了广泛的实验,如下数据内容信息。

评价指标:五个评估指标包括Jaccard, Dice系数,Precision, Sensitivity和Specificity。

其中TP (TN)描绘了正确预测的标记为正(负)的病变像素。相反,FP (FN)描述了被标记为正(负)的错误预测的病变像素。

tip 我们的网络使用PyTorch实现,并在具有48G显存的A6000显卡上进行训练。我们选择AdamW作为优化器,学习率设置为0.0015,批大小设置为4,训练epoch设置为400。 我们的数据增强方法包括随机调整大小、随机裁剪、水平翻转和垂直翻转。由于三个数据集具有不同的图像分辨率大小,我们将图像随机裁剪为224 × 224像素。

4.2结果

三种数据集与其他模型进行比较

 消融实验

对比实验

损失函数以及卷积大小选择

五、结论

结肠病理图像是病理学家诊断癌症的重要标准之一,计算机辅助医学诊断对于结肠癌的初步筛查至关重要。本文提出了一种基于MMUNet的结肠癌病理切片病变区域自动分割方法。我们提出的模型在三个结肠癌数据集上得到了验证。首先,我们利用先进的卷积结构来增强模型的特征提取能力,并利用卷积模块与外部关注进行串行化,以获取远程依赖关系,降低模型复杂度。其次,引入形态学方法,重新设计跳跃连接以校正来自编码器的特征,增加形态学信息的重要性。最后,使用形态学方法直接计算边缘,方便模型学习边界特征。实验结果表明,本文提出的方法优于其他竞争方法。在未来的工作中,我们将探索如何设计和使用更多的形态学方法来获得更好的结果,适用于更多的分割任务。

这篇关于MMUNet:形态学特征增强网络在结肠癌病理图像分割中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030725

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示