Tensorflow中ANU-Net如何使用

Tensorflow中ANU-Net如何使用

这篇文章给大家介绍Tensorflow中ANU-Net如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。


1、ANU-Net网络优点

一般医学影像分割研究分为两类:(1)、人工和半自动分割,(2)、全自动分割。虽然有大量的FCN和Unet的改进模型被提出,但是这些方法大都是将分割任务分成两部分:定位和分割。额外的定位步骤增加了模型的参数也带来额外的计算时间。此外模型分割精度严重依赖第一步定位的精度。
为了解决更精确地分割结果需求,文章作者提出了ANUNet网络,基于嵌套的Unet结构和注意力机制。  论文主要贡献有(1)、ANUNet用来医学图像分割,(2)、在公开数据实验表示注意力机制可以聚焦在整个图像上的目标器官而抑制不相关组织。  (3)、ANUNet能够增加目标区域的权重,同时抑制与分割任务无关的背景区域。  (4)、ANUNet重新设计了嵌套的UNet结构,集成了不同级别的特征,与其他基于UNet的模型相比,在各种医学图像分割任务上都带来了更高的性能。  (5)、由于引入了深度监督机制,ANUNet具有灵活的网络结构,可以在测试期间执行修剪操作。  因此,可以大大减少修剪后的ANUNet中的大量参数,并以降低少许性能为代价来加速模型。

2、ANU-Net结构

2.1、嵌套UNet模型  
嵌套UNet结构与Unet的区别在于重新设计了不同深度的密跳跃连接,并采用了嵌套卷积模块。每个嵌套卷积模块通过几个卷积层来提取语义信息,每个卷积层是通过密跳跃连接来连接的,拼接层可以融合不同级别的语义信息。
嵌套结构具有以下优势
(1)、嵌套结构可以自己学习到不同深度的重要特征,因此避免复杂地选择深层和浅层特征。
(2)、嵌套结构共享一个特征提取器,因此不需要训练一系列的Unet,只有一个编码器。
(3)、嵌套结构中,不同级别的特征通过不同的独立的解码器来恢复,因此可以从不同级别获得分层的解码模板。
2.2、注意力机制  
在嵌套Unet结构中增加注意力门控,结构如下图所示。
Tensorflow中ANU-Net如何使用
注意力门控有两个输入:编码器中的上采样特征g和解码器中相对应的深度特征f。g是门控信号用来增强f中学到的特征。换言之,这个门控信号可以从编码特征中选择更有用的特征,然后在传送到上一级编码器中取。两个输入经过卷积层和BN层后在逐元素相加,在经过relu函数,再经过卷积层和BN层,再通过sigmod函数产生注意力系数,最后将获得系数与编码器特征元素相乘得到最后出输出。注意门控具有良好的选择功能,在抑制与任务无关的区域的同时,可以增强与分割任务相关的目标区域的学习。因此,我们的工作将“注意门”整合到了提出的网络中以提高并通过跳过连接来有效地传播语义信息。
2.3、注意力嵌套UNet——ANUNet  
集成注意力机制和嵌套UNet结构的网络即ANUNet。ANUNet采用嵌套UNet作为基本网络框架,编码器和解码器对称地排列在网络的两侧。编码器提取的上下文信息通过密集的跳过连接传播到相应层的解码器,从而可以提取更有效的分层特征。

Tensorflow中ANU-Net如何使用

对于密集跳过连接,解码器中每个卷积块的输入均包含两个等尺度的特征图:(1)中间特征图来自沿相同深度的跳过连接的前面注意门的输出;(2)最终特征图来自更深模块的反卷积运算的输出。在接收并拼接了所有特征图之后,解码器以自下而上的方式还原特征。所有先前特征图累积并到达当前块的原因是,密集跳过连接可以充分利用该层中先前嵌套卷积块中的这些特征图。如下图所示,例如X(0,4)是由上采样X(1,3)和之前所有的注意力输出拼接构成,其它以此类推。

Tensorflow中ANU-Net如何使用

ANUNet的两个主要创新是:网络通过密集跳过连接从编码器到解码器提取特征,用于集成层次表示。此外,在嵌套卷积块之间添加了注意门,以便可以将不同层提取的特征在解码器路径中选择性合并。因此,ANUNet的准确性是提升了的。
2.4、深监督机制  
深度监督可以缓解梯度消失的问题,加快收敛速度。此外,深度监督还可以协助损失函数发挥正规化的作用。为了引入深度监督,ANUNet在第一层的每个输出块(X0_1,X0_2,X0_3,X0_4)之后增加了1x1卷积层和sigmod激活函数。此外,ANUNet将这些层直接连接到最终输出,以计算损失和反向传播。

Tensorflow中ANU-Net如何使用

2.5、损失函数  
由于嵌套卷积块之间设计了密集的跳过连接,因此ANUNet从块中获取了不同语义级别的全分辨率特征图。为了充分利用这些语义信息,重新设计了结合dice系数损失(DICE),focal损失(FOCAL)和二进制交叉熵损失(BCE)的混合损失函数。
2.6、模型裁切  
如下图所示ANUNet有L1,L2,L3,L4四个不同深度的裁切网络,灰色区域意味着这些模块和注意门控在预测的时候被移除了。

Tensorflow中ANU-Net如何使用

3、实验设置与结果对比

3.1、数据设置与预处理  
使用了LiTS和CHAOS数据集,将所有标注数据按照五比一分成训练数据和测试数据,并将所有数据按照HU值单位范围(-200,200)进行截断,去除不相关的无用细节。
3.2、评价指标  
Dice相似系统,IOU值,精度和召回率来评估分割结果的性能。
3.3、分割结果  
ANUNet与UNet,R2UNet,UNet++,AttentionUNet和AttentionR2UNet进行比较。

Tensorflow中ANU-Net如何使用

Tensorflow中ANU-Net如何使用

关于Tensorflow中ANU-Net如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。