专栏首页最新医学影像技术Tensorflow入门教程(四十三)——DoubleU-Net

Tensorflow入门教程(四十三)——DoubleU-Net

今天将分享Unet的改进模型DoubleU-Net,改进模型来自2020年的论文《A Deep Convolutional Neural Network for Medical Image Segmentation》,简单明了给大家分析理解该模型思想。

1、DoubleU-Net网络优点

不同的医学应用中设计强大的鲁棒性和泛化能力的网络结构是很重要的。论文提出的结构是使用修改的Unet和VGG-19,VGG-19只用在网络编码部分。使用VGG-19的原因是(1)、相比于其它预训练模型其是轻量级模型,(2)、VGG-19与Unet结构很相似,很容易与Unet进行拼接,(3)、允许更深的网络来产生更好的分割结果。

主要贡献点:

(1)、提出的DoubleUNet结构来语义分割,所提出的结构依次使用两个U-Net结构,也就是两个编码器和两个解码器。网络中第一个编码器是预训练的VGG-19,它在ImageNet上训练。另外,使用空洞空间金字塔池化(ASPP)。结构的其余部分是从头开始构建的。

(2)、在多个数据集上进行实验,结果显示了所提出算法的强于其他算法。在四个不同的医学影像数据集上进行了实验,两个不同结肠镜检查数据,皮肤镜检查和显微镜数据。在MICCAI 2015挑战数据集,CVC-ClinicDB数据集,病变边界分割ISIC-2018和2018 Data Science Bowl的挑战数据集上,与基准算法相比,DoubleU-Net显示更好的分割性能。

(3)、与U-Net相比,DoubleU-Net对四个数据集的广泛评估显示了其显着性能提高。因此,DoubleU-Net可以成为医学图像分割任务的基准。

2、DoubleUnet结构

DoubleU-Net首先由VGG-19做为子网络的编码器,后面紧接着编码器子网络。网络1结构与原始Unet的不同之处在于VGG-19,ASPP和编码模块。在网络1中的编码器,解码器和网络2中的解码器中使用了squeeze-and-excite模块。网络2的输入是网络1的输出与输入图像元素相乘。网络2结构与Unet的不同之处在于使用了ASPP和squeeze-and-excite模块。其它与Unet都是一样的。输入图像经过网络1产生预测模板1,然后与输入图像元素相乘输入到网络2中,然后产生预测模板2,最后将预测模板1与预测模板2进行拼接,可以定量看到预测模板1和预测模板2的差异。论文假设用两个Unet网络可以产生更好的分割结果。squeeze-and-excite模块是减少冗余信息,传输最相关的信息。ASPP一直是现在分割结构的流行选择,因为它有助于提取高分辨率特征图,从而带来卓越的性能。

2.1、编码器网络

DoubleU-Net中的第一个编码器是使用了预训练的VGG-19,第二个编码器是从头搭建的,每个编码器都尝试对输入图像进行信息编码。编码器2中的每个编码器块执行两次3x3卷积运算,然后进行BN。BN可以减少内部协变偏移,并正则化模型,使用整流线性单元(ReLU)激活函数,从而将非线性引入模型。然后是squeeze-and-excite模块,其增强特征图的质量。之后,执行步长为2的2x2最大池化层来减少特征图的空间尺寸。

2.2、解码器网络

在整个网络中使用两个解码器,与原始U-Net解码器相比,做了一些小的修改。解码器中的每个块对输入要素执行2x2双线性上采样,这会使输入特征图的尺寸加倍。拼接适当的跳跃连接特征图,从编码器到输出特征图。在第一个解码器中,只使用第一个编码器的跳跃连接,但是在第二个解码器中,使用两个编码器,不仅保持空间分辨率而且增强输出特征图的质量。拼接后,再次执行两个3x3卷积运算,然后是BN和ReLU激活函数。之后,我们使squeeze-and-excite模块。最后,应用具有sigmoid激活函数的卷积层,用于产生分割模板结果。

3、实验设置与结果对比

3.1、数据集

采用了四个公开数据集:MICCAI2015分割挑战赛数据集CVC-ClinicDB数据集,ISIC2018挑战赛数据集,2018Data Science Bowl挑战赛数据集。

3.2、评价指标

Dice系数,平均IoU,精度和召回率。

3.3、实验配置

代码已开源:https://github.com/DebeshJha/2020-CBMS-DoubleU-Net

采用GPUVolta100,80%数据用来训练,10%数据用来验证,10%数据用来测试,采用二值交叉熵做为损失函数,优化器采用Nadam并采用默认参数,批次大小是16,学习率为1e-5。数据增强采用中心裁剪,随机旋转,弹性变换,颠倒等,一张图产生25个不同图像。

3.4、结果比较

与常规分割算法相比,DoubleU-Net在各项指标上都是最好的。

本文分享自微信公众号 - 最新医学影像技术(MedicalHealthNews),作者:最新医学影像技术

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tensorflow入门教程(四十四)——DRU-NET

    今天将分享Unet的改进模型DRU-NET,改进模型来自2020年的论文《AN EFFICIENT DEEP CONVOLUTIONAL NEURAL NETW...

    用户7498388
  • Tensorflow入门教程(三十)——如何准备图像分割数据

    前面分享的文章中大都是以深度分割模型为主,有很多朋友都在问我关于训练数据是如何准备,之前我都是直接把每个案例的训练数据分享给大家,今天我将分享一个在图像分割任务...

    用户7498388
  • Tensorflow入门教程(三十六)——VNet3D+++

    好久没有阅读最新的分割模型文章了,今天将分享Unet的改进模型UNet+++,通过理解该模型思想,在VNet3D基础上做了同样的复现,但是有些细节稍稍不同。

    用户7498388
  • 模型参数太多怎么办?用谷歌高效训练库GPipe啊

    BigGan、BERT和GPT-2的出现表明,越大的神经网络模型可以带来越好的性能。其中能写出各种假新闻的GPT-2参数就有15亿个之多。

    量子位
  • 《coredump问题原理探究》windows版8.2节堆布局堆块结构

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • 【学术】一文搞懂自编码器及其用途(含代码示例)

    自编码器(Autoencoder)是一种旨在将它们的输入复制到的输出的神经网络。他们通过将输入压缩成一种隐藏空间表示(latent-space represen...

    AiTechYun
  • 自编码器是什么?有什么用?这里有一份入门指南(附代码)

    ? 自编码器(Autoencoder,AE),是一种利用反向传播算法使得输出值等于输入值的神经网络,它先将输入压缩成潜在空间表征,然后通过这种表征来重构输出。...

    量子位
  • 《coredump问题原理探究》windows版7.4节set

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • Ceph如何实现文件系统的横向扩展

    在跟一个朋友聊天的时候,聊到一个技术问题,他们的一个环境上面小文件巨多,是我目前知道的集群里面规模算非常大的了,但是目前有个问题,一方面会进行一倍的硬件的扩容,...

    用户2772802
  • step(iter)、epoch、batch size之间的关系

    转自:https://blog.csdn.net/wcy23580/article/details/90082221

    绝命生

扫码关注云+社区

领取腾讯云代金券