美文网首页
Pytorch-UNet介绍

Pytorch-UNet介绍

作者: WAI_f | 来源:发表于2020-06-07 19:58 被阅读0次

简介

UNet网络主要用在医学图像分割任务上,网络的结构特点就是:

  • 全卷积网络,没有全连接层,训练参数少,模型体积小。对于医学图像,通常样本量有限,过多的网络参数会导致模型过拟合,所以UNet在医学图像分割任务上表现很好。
  • 模型结构简单,形状类似U形,前半部分提取特征并下采样,后半部分skip connect 并反卷积进行上采样。使用的都是常见的op,对于模型部署有着很大的优势。
    感觉写到这里,我就没什么想介绍的了,我可能太菜了。

模型结构

前面已经介绍了,模型就是一个编码器+解码器,类似U形,并且还使用了skip connection技术,我看到的不少网络都有借鉴这两个结构设计。


Unet网络结构

画图实在太复杂了,直接搬图又显得没有诚意,只能把tensorboard上的graph拿出来。上面的图因为代码设计的原因,很多步骤合并到了一起,另外箭头上很小的数字就是输入输出的tensor的shape,可惜因为有点大没办法直接保存下来。这里面的DoubleConv就是连续做两次卷积,input椭圆形小圈是下采样,可以看到图中一共4个小白圈,对应四次下采样。Up对应的就是反卷积上采样、Skip connection和DoubleConv三个过程。

DoubleConv

DoubleConv做完以后,可以看到上图有两个箭头,一个是把tensor传到下一个卷积层提取特征,另一个是用来和后面反卷积数据concatenate也就是skip connection。

subsampling

下采样就很简单,输入32x256x256,输出32x128x128,channel数没变,feature map长宽减半。
Up部分的结构本来不复杂,但是我参考的代码在实现的时候,为了让反卷积得到的tensor和前面的feature map大小一致,自己实现了padding。随着不断了解pytorch,感觉似乎没有必要这样做,直接在ConvTranspose2d里面设置参数就可以了。这导致Up部分的graph显示的很复杂,所以就没有放。
理论方面我也不怎么在行,写起来挺没感觉的,后面我将介绍一些UNet Pytorch实现以及训练相关的东西,努力!奋斗!

相关文章

  • Pytorch-UNet介绍

    简介 UNet网络主要用在医学图像分割任务上,网络的结构特点就是: 全卷积网络,没有全连接层,训练参数少,模型体积...

  • Pytorch-UNet训练

    简介 本节主要是介绍我怎么用上一节实现的UNet进行训练,一共分成3部分进行说明。需要强调的是,本节中的数据集以及...

  • Pytorch-UNet实现

    简介 UNet结构很简单,模型代码实现也不复杂,我选择使用Pytorch来搭建模型,本着能偷懒就偷懒的原则,我在g...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

网友评论

      本文标题:Pytorch-UNet介绍

      本文链接:https://www.haomeiwen.com/subject/ginmzhtx.html