Attention U-Net:Learning Where to Look for the Pancreas

2023-12-26 14:30

本文主要是介绍Attention U-Net:Learning Where to Look for the Pancreas,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Attention U-Net:Learning Where to Look for the Pancreas

在这里插入图片描述

Unet网络可以称得上是医学图像分割领域的开山之作,Attention U-Net是在Unet网络结构的基础上增加了attention 的机制,可以自动学习并聚焦到不同形状和大小的目标结构。这篇文章是发表在CVPR2018的一篇文章。
方法
作者提出了一种Attention Gate(AG)结构,Attention的意思是注意力机制,就是在复杂场景文字识别中,使用Attention把注意力集中在需要识别的数字上。
在医疗图像中,就是把注意力集中到对特定任务有用的显著特征(比如说相关组织或者是器官),抑制输入图像中的不相关区域。
在级联神经网络中,需要明确的外部组织/器官定位模块,而使用Attention就不需要了。把注意力放到目标区域上,简单来说就是让目标区域的值变大。
AG接在每个skip connection的末端,对提取的feature实现attention机制。结构如图:

在这里插入图片描述
可以从上图看出:Attention-Unet和U-net的区别就在于decoder时,从encoder提取的部分进行了Attention Gate再进行decoder。

AG的原理如下图:
在这里插入图片描述
其中g为门控信号,xl为encoder对应的feature map,g来自于decoder的下一层,所以g尺寸大小是这一层的1/2。x完成Attention之后和g一起concat再进入下一层decoder。

在上面这个图中,黄色的xl如果在unet中是要直接通过跳跃连接和绿色的g上采样的结果进行concat,但是在attention unet中先对xl和g转成一样的size,然后相加经过relu、sigmoid得到attention coefficients。

论文中作者说要结合上下文的信息,上文指的是encoder中的xl,下文指的是xl对应的decoder中的下一层,由于g更深,学到的东西更多,信息更准确。g里面含有的信息,可以当做注意力要去学习的方向。最后让xl与attention coefficients相乘,相乘就是把g里的信息叠加到xl,就能把注意力放到目标区域上了,再通过训练使得attention coefficients的让注意力更集中,让target区域的值趋近1,不相关的区域趋近0。

可以理解成如果直接将g上采样一次得到g’,g’和xl的size一样。那么同样是target的区域的像素值,g’里的像素值会比xl里的像素值大,和xl叠加,就相当于告诉了xl应该去学习的重点。

其他经典图像分割网络
FCN:
深度学习应用到图像分割始于FCN,与CNN相比,这个网络没有全链接层,全部都是卷积层。首先5层下采样,将原图缩小到原来的1/32,再上采样,放大到原来的大小得到分割结果。

Unet:
Unet总共5次下采样,每次下采样包括(两次卷积核为3* 3的卷积,ReLU激活和一次2* 2的max pooling),每次下采样会将feature map的通道数变为原来的两倍。
在上采样过程中,通过反卷积,将特征通道减少为原来的一半,长宽翻倍,并且这个上采样过程中对应的下采样也会被连接,(也就是图中的灰色箭头),连接操作必须保证图像的大小一致,所以要进行裁剪。网络最后用了1*1的卷积,作用:将特征通道数降至特定的数量,如:像素点的类别数.
效果
在这里插入图片描述
a-e和f-j分别是三维腹部CT扫描的轴位和矢状位视图在经过门前和经过门后的跳跃连接的特征激活图,可以明显看到经过ag之后的效果更好。
在这里插入图片描述
这是和unet网络的对比图,b为groundtruth,c是用unet分割的,可以单靠有些区域缺失了部分,d是用attention unet分割的,误差较小。
在这里插入图片描述
图中显示了不同训练epoch中(分别是3,6,10,60,150)的attention coefficients。图像是从测试数据集的三维腹部CT扫描的矢状面和轴向面提取的。该模型逐渐学会关注胰腺、肾脏和脾脏。

结论
这篇文章提出了一种新的用于医学图像分割的注意门模型。实验结果表明,这篇文章所提出的AGs是高度有益的组织/器官鉴定和定位。对于像胰腺这样大小不一的小器官来说,情况尤其如此,在分类任务中也会出现类似的情况。迁移学习和多阶段训练方案有利于AGs的训练行为。例如,预先训练的U-Net权值可以用来初始化注意力网络,在微调阶段可以相应地训练gates。Attention U-Net的性能可以通过使用精细分辨率输入批次而进一步提高。

这篇关于Attention U-Net:Learning Where to Look for the Pancreas的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

如何在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模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

图神经网络框架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 是否有效/// </

.Net Mvc-导出PDF-思路方案

效果图: 导语:     在我们做项目的过程中,经常会遇到一些服务性的需求,感到特别困扰,明明实用的价值不高,但是还是得实现;     因此小客在这里整理一下自己导出PDF的一些思路,供大家参考。     网上有很多导出PDF运用到的插件,大家也可以看看其他插件的使用,学习学习; 提要:     这里我使用的是-iTextSharp,供大家参考参考,借鉴方案,完善思路,补充自己,一起学习