MA-Net:用于肝脏和肿瘤分割的多尺度注意力网络

2023-11-08 23:40

本文主要是介绍MA-Net:用于肝脏和肿瘤分割的多尺度注意力网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

近年来为了提高医学图像分割的性能,提出了大量基于多尺度特征融合的UNet变体。与以往通过多尺度特征融合提取医学图像上下文信息的方法不同,本文提出了一种新的多尺度注意力网格(MA-Net)在这个网络方法中引入了自注意力机制,自适应的整合局部特征和全局依赖关系。基于这个注意力机制,MANet可以捕获丰富的上下文依赖关系。

在这个网络结构中设计了两个块结构即PAB(位置注意块)以及多尺度融合注意块(MFAB)。PAB用于在空间维度上对特征相互依赖进行建模,从而在全局视图中捕获像素之间的空间依赖关系。此外MFAB还通过多尺度语义特征融合来获取任意特征映射之间的通道依赖关系。

Introduction

以往通常使用不同大小的池化核来融合多尺度上下文特征信息,采用不同采样率的扩张卷积和池化操作来获得丰富的图像多尺度上下文信息,这进一步提高了分割性能。然而扩张卷积和池化操作无法利用全局视图中像素之间的空间和通道关系。此外使用池化操作很容易丢失特征映射信息中的细节。

本文提出的MA-Net具体来说,是使用了两个基于自注意机制的块来捕获特征图的空间依赖性和通道依赖性。一种是位置注意块(PAB),另一种是多尺度融合注意块(MFAB)。通过自注意机制,利用PAB算法获取特征图中像素之间的空间依赖关系。MFAB通过应用注意机制来捕获特征映射之间的通道依赖关系。除了考虑高级特征映射的通道依赖关系外,MFAB还考虑了低级特征映射的通道依赖关系。将高层和低层特征图的通道依赖关系以和的方式融合,利用注意机制获得丰富的多尺度特征图语义信息,提高网络性能。

总的来说就是PAB模块用于获取全局视图下像素之间的空间依赖关系,MFAB模块通过融合高低语义特征来获取任意特征映射之间的通道依赖关系。

方法

网络结构主要由三个模块构成Res-block,Position-wise Attention Block(PAB)和Multi-scale Fusion Attention Block(MFAB)

残差模块由3个3x3的卷积模块和残差连接组成用于提取高纬度的特征信息。位置注意块(PAB)用于捕获特征映射的空间依赖关系。多尺度融合注意块通过融合高低特征信息来聚合任意特征映射之间的通道依赖关系。

Res-Block

受残差连接的启发,我们使用3个3 × 3 Conv块和1个残差连接在编码器路径上捕获高维特征信息。1x1卷积是用来控制输入通道的数量的

Res-Block的结构图如下:

 PAB-位置注意模块

为了在局部特征图上捕获丰富的上下文关系,我们使用PAB模块来捕获任意两个位置特征图之间的空间依赖关系。这个PAB来捕获任意两个位置特征图之间的空间依赖关系。PAB模块可以在局部特征图上建模更广泛的丰富的空间上下文信息。

PAB的架构图如下所示:

给定一个局部特征图I,将其输入到一个3x3的卷积当中得到I',然后利用1x1的卷积分别生成A,B,C.然后再对A,B进行重塑,然后在A,B之间进行矩阵乘法,之后利用Softmax得到空间注意特征图。同时我们将C也进行重塑。然后将空间注意特征图与C进行矩阵相乘。并将这个结果进行Reshape得到O'。然后我们在I'和O'之间进行逐元素求和。最后通过3x3的卷积得到最终的输出结果。这个最终的输出结果具有全局上下文视图

多尺度融合注意模块

MFAB模块的主要思想是, MFAB从没有额外空间维度的多层次特征图中学习每个特征通道的重要性,并根据重要性增强有用的特征图和抑制对肝脏和肿瘤分割任务贡献较小的特征图。具体地说,我们从低级特征映射和高级特征映射来描述特征通道的相互依赖性。高级特征具有丰富的图像语义信息,而跳过连接的低级特征具有更多的边缘信息。低级特征用于恢复图像的细节

MFAB结构如下图所示

分别对高级特征和低级特征应用通道级注意机制。目的是在分割任务中增加每个特征通道中重要信息的权重,忽略无用的特征信息。

如上图所示,首先将高级特征输入到1x1的卷积核3x3的卷积当中。XHinput和XLinput有相同数量的通道,V=[V1,V2,....Vc]是卷积核的集合其中Vc是第c个卷积核的参数。我们可以通过以下公式计算U

其中vc = [v1c, v2c,…], vcc]和Xinput = [x1, x2,…], xc], Xinput∈(XHinput或者XLinput)。这里*表示卷积。然后使用全局平均池化对每个特征进行压缩。Sc1和Sc2是通过缩小特征映射XHinput和XLinput来获得的。S1和S2的第c个元素计算如下

其中,H和W分别为高度和宽度,uc为各通道的特征图。然后使用具有两个全连接(FC)层和激活函数的瓶颈层来限制模型的复杂性,并捕获通道依赖性z1和z2。用公式表现如下:

其中P1和P2表示全连接层,δ1和δ2分别表示sigmoid函数和ReLU激活函数

然后我们将低级特征和高级特征相结合

 

XHoutput通过重新缩放具有激活V的T来获得:

 

损失函数

 本文采用的是交叉熵损失函数和DiceLoss相结合的方法作为最终的损失函数。损失函数表示为

 

其中yi和pi表示ground truth和预测的feature map, N表示batch size

 总结

本文在图像分割方法中引入了自注意机制。特别地,我们利用自注意机制获取特征图的空间和通道依赖关系,并基于特征图之间的通道依赖关系考虑多尺度语义信息。此外,我们还采用了一种新的损失函数,它将交叉熵和Dice结合起来

 

这篇关于MA-Net:用于肝脏和肿瘤分割的多尺度注意力网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)