CE-Net: Context Encoder Network for 2D MedicalImage Segmentation

2023-11-01 21:00

本文主要是介绍CE-Net: Context Encoder Network for 2D MedicalImage Segmentation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Title:用于二维医学图像分割的上下文编码器网络

摘要:在医学图像分割领域中,基于UNet已经成为主流的应用框架。但是在UNet结构中连续的池化和跨步卷积操作会导致一些空间信息的丢失。在本文中提出了一个上下文编码器网络(简称为CE-Net)

CE-Net主要包含三个主要部分:特征编码器模块,上下文特征提取模块和特征解码器模块。使用预训练的ResNet块作为固定特征提取器。上下文提取模块由新提出的密集卷积(DAC)块和残差多核池化块(RMP)组成。

Introduction

U-Net及其变体的一个常见限制是,连续的池化操作或卷积跨步降低了特征分辨率,以学习日益抽象的特征表示,直观地说,在中间阶段保持高分辨率的特征图可以提高分割性能。但是,它增加了特征图的大小,对于加速训练和缓解优化的难度来说并不是最优的。

因此,在加速训练和保持高分辨率之间需要权衡。一般来说,U-Net结构可以被认为是编码器-解码器结构。编码器的目标是逐步降低特征图的空间维度,捕获更多的高级语义特征。解码器的目标是恢复物体细节和空间维度。为了提高分割性能,在编码器中捕获更多的高级特征,在解码器中保留更多的空间信息是很自然的。

本文提出了一种新的密集空洞卷积(DAC)模块来应用空洞卷积。原有的UNet架构在编码路径中采用连续的3x3卷积核池化操作,在有限的缩放范围内捕获多尺度特征。本文提出的DAC模块可以通过四个级联分支注入多尺度的空洞卷积来捕获更广泛和更深的语义特征。--DAC捕获更多的高级特征

还提出了一个基于空间金字塔池化的残差多核池化(RMP)。RMP块通过使用各种大小的池化操作进一步编码从DAC模块提取的对象的多尺度上下文特征,并且不需要额外的学习权重--RMP保留更多的空间信息

综上所述,DAC块被提议用多尺度的atrous卷积来提取丰富的特征表示,然后RMP块被提议用多尺度的池化操作来获得进一步的上下文信息。

方法

网络的整体架构如下图所示:

特征编码器模块(加入了残差连接其余相似--略)

上下文提取模块

上下文提取模块由DAC模块和RMP模块组成。这个上下文提取模块提取上下文语义信息,生成更高级的特征映射。

DAC模块:DAC模块的结构如下图所示

在四个级联中均设置了空洞卷积,DAC模块有4个级联分支,并且空洞卷积的数量也逐渐增加。每个分支的感受野是3,7,9,19应用了不同大小的感受野。并且在每个分支中我们应用一个1x1的卷积来校正线性激活。通常情况下,大感受野的卷积可以为大对象的提取生成更抽象的特征。而小感受野的卷积对小对象更好。通过组合不同的空洞率的空洞卷积。DAC块能够提取不同大小对象的特征。

RMP模块

分割中的一个挑战是医学图像中对象的巨大变化。例如,中晚期肿瘤可能比早期肿瘤大得多。在本文中提出了一种残差多核池化来解决这个问题,它主要依赖于多个有效的视野来检测不同大小的对象 。感受野的大小决定了我们可以使用多少多少上下文信息。

如下图所示,本文所提出的RMP编码具有4个不同大小的感受野的全局上下文信息

四级输出包含不同大小的特征图,为了减少计算成本,在每个级别的池化后使用1x1卷积,它将特征图的维数减少到原有维度的1/N,然后通过双线性插值对低维特征图进行上采样,以获得与原始特征图相同的特征大小的特征

特征解码器模块

 上尺度操作通过线性插值增加图像大小,而去卷积(也称为转置卷积)使用卷积操作来放大图像。直观地说,转置卷积可以学习自适应映射以恢复具有更详细信息的特征。因此,我们选择使用转置卷积来恢复解码器中的较高分辨率特征。

损失函数

使用DiceLoss作为这个模型的损失函数

最终总的损失函数是两个损失函数的加权和

其中第二个损失表示避免过度拟合的正则化损失

总结

本文提出的CE-Net。与U-Net相比,所提出的CE Net在特征编码器中采用了预训练的ResNet块。新提出的密集空洞卷积块和残余多核池被集成到ResNet修改的UNet结构中,以捕获更多高级特征并保留更多空间信息。

这篇关于CE-Net: Context Encoder Network for 2D MedicalImage Segmentation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

.NET 自定义过滤器 - ActionFilterAttribute

这个代码片段定义了一个自定义的 ASP.NET Core 过滤器(GuardModelStateAttribute),用于在控制器动作执行之前验证模型状态(ModelState)。如果模型状态无效,则构造一个 ProblemDetails 对象来描述错误,并返回一个 BadRequest 响应。 代码片段: /// <summary>/// 验证 ModelState 是否有效/// </

context:component-scan使用说明!

<!-- 使用annotation 自动注册bean, 并保证@Required、@Autowired的属性被注入 --> <context:component-scan base-package="com.yuanls"/> 在xml配置了这个标签后,spring可以自动去扫描base-pack下面或者子包下面的java文件,如果扫描到有@Component @Controll

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D