腹部多器官分割的边界感知网络

2024-03-19 05:20

本文主要是介绍腹部多器官分割的边界感知网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Title:Boundary-Aware Network for Abdominal Multi-Organ Segmentation

摘要

目前存在的问题是由于腹部器官的大小不一,导致器官之间的边界不明确(边界模糊问题)这对于腹部多器官分割仍然具有很大的挑战性。

本文提出了一个边界感知网络来分割CT扫描和MRI扫描的腹部器官分割。这个模型包含一个共享编码器,一个边界解码器和一个分段解码器。并且两个解码器都采用了多尺度深监督的策略。可以缓解因器官大小不同而带来的问题。利用边界解码器在每个比例上生成的边界概率图作为注意点增强分割特征图。

Introduction

目前腹部多器官分割存在的问题:1)腹部器官区域各器官之间体积差异较大2)边界模糊问题。

在本文中提出了一种边界感知网络(BA-Net)。BA-Net是一个编码器解码器结构。为了使模型更加关注容易出错的边界,引入了一个辅助边界解码器来检测目标器官的边界模糊。BA-Net在解码器的每个尺度上都对边界和分割解码器进行了监督,进一步提高了模型对不同尺寸目标器官的鲁棒性。

改进了特征融合机制,将检测到的边界概率图作为对应分割特征的注意图,而不是直接将边界特征图与分割特征图拼接。

方法

所提出的BA-Net包含共享编码器,边界解码器和分割解码器。整体结构如下图所示:

编码器从输入特征中提取特征然后利用提取的进行目标器官的边界检测,分割解码器将提取的特征作为输入。采用边界解码器生成的边界概率图作为注意力图,增强分割特征。

共享的编码器

 采用NNUnet作为BA-Net的主干网络。它包含N个编码器块,每个编码器块由两个卷积层组成,每个卷积层之后都是实例归一化和LeakyRelu激活函数。下采样操作使用跨步卷积执行,紧跟在每个编码器块之后。

边界解码器

边界解码器包含N个解码器块,对编码器提取的特征图进行上采样并逐步细化生成边界图,采用步长为2的转置卷积来提高输入特征映射的分辨率。将上采样的特征图与从相应的编码器块中提取的低级特征图连接起来,然后将其送入解码器块。每个解码器的输出特征映射f_{i}^{b}经过卷积层和SoftMax层处理。在每个比例尺度生成边界概率图p_{i}^{b}.

分割解码器

分割解码器的结构与边界解码器相似,只是在每个比例尺上增加了一个步骤来增强分割特征映射。在分割解码器的每个模块中,用相应的边界概率映射p_{i}^{b}对上采样的特征映射U(f_{i-1}^{s})进行增强用公式表示为

得到的结果为增强特征图,U()为上采样操作。在分割解码器块进一步进行处理之前,将增强的特征映射从相应的编码器块提取的特征映射连接起来。与边界解码器类似,每个分割解码器的输出特征映射f_{i}^{s}也经过卷积层和SoftMax层处理,生成分割图。

训练And推理

 采用DiceLoss和交叉熵损失的结合作为边界检测和器官分割任务的损失函数。

总结

本文提出了一种用于腹部多器官分割的BA-Net算法。该系统由用于特征提取的共享编码器、用于边界检测的边界解码器和用于目标器官分割的分割解码器组成。

在边界解码器和分割解码器的每个比例尺上,使用对应比例尺上的边界和分割掩码来监督预测概率图。利用每个译码块上的预测边界图作为注意图,增强分割特征。

这篇关于腹部多器官分割的边界感知网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

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

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

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

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

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

C#中字符串分割的多种方式

《C#中字符串分割的多种方式》在C#编程语言中,字符串处理是日常开发中不可或缺的一部分,字符串分割是处理文本数据时常用的操作,它允许我们将一个长字符串分解成多个子字符串,本文给大家介绍了C#中字符串分... 目录1. 使用 string.Split2. 使用正则表达式 (Regex.Split)3. 使用