神经网络U-net性能分析,为什么u-net性能可以这么好

最近在做细胞分割,尝试了很多CNN的分割模型,对比下来发现unet性能真的是很好。在很小的训练集上(30张)也能取得非常不错的分割效果。以前一直以为CNN结构更多的是靠瞎蒙,现在发现其实不是。CNN虽然内部的整个流程很难去揣摩,但是还是有很多比较整体的经验可以借鉴,在模型构建上还是有规可循。
按照我这些日子的测试,结合一点自己的理解和网上各位大佬的帖子,说一下我自己的看法。
在这里插入图片描述
U-Net和FCN非常的相似,U-Net比FCN稍晚提出来,但都发表在2015年,和FCN相比,U-Net的第一个特点是完全对称,也就是左边和右边是很类似的,而FCN的decoder相对简单,只用了一个deconvolution的操作,之后并没有跟上卷积结构。第二个区别就是skip connection,FCN用的是加操作(summation),U-Net用的是叠操作(concatenation)。这些都是细节,重点是它们的结构用了一个比较经典的思路,也就是编码和解码(encoder-decoder),早在2006年就被Hinton大神提出来发表在了nature上.

当时这个结构提出的主要作用并不是分割,而是压缩图像和去噪声。输入是一幅图,经过下采样的编码,得到一串比原先图像更小的特征,相当于压缩,然后再经过一个解码,理想状况就是能还原到原来的图像。这样的话我们存一幅图的时候就只需要存一个特征和一个解码器即可。这个想法我个人认为是很漂亮了。同理,这个思路也可以用在原图像去噪,做法就是在训练的阶段在原图人为的加上噪声,然后放到这个编码解码器中,目标是可以还原得到原图。
输入是一幅图,输出是目标的分割结果。继续简化就是,一幅图,编码,或者说降采样,然后解码,也就是升采样,然后输出一个分割结果。根据结果和真实分割的差异,反向传播来训练这个分割网络。我们可以说,U-Net里面最精彩的部分就是这三部分:

下采样
上采样
skip connection

随着下采样的进行,感受野会一步步扩大,就相当于图片被压缩,单位面积能被感知的区域变大了。随着下采样的进行,图片的低频信息被更多的感知到。
上采样是一个恢复的过程,在上采样的同时,网络架构进行了skip connection,也就是图片中的这部分:
在这里插入图片描述
这部分有利于将下采样的各个阶段的信息在上采样过程中进行整合,就是在上采样的过程中,结合了各个层次的结构信息。
通俗的来讲就是在网络的高层(就是U型的上部分),获取了图形的细节信息(因为这时候图片很大,很多细节可以得以保留)。在网络的底层(U型的下部分),获取了图形的低频信息(感受野很大,便于获取大的轮廓信息)。然后用过skip connection将各个层次的信息保留。使得整个网络可以很好的记住图片的所有信息。
这就是我个人的理解。
在测试过程中,也发现这个网络其实也不是很万能。在细胞类型很多,染色情况复杂,染色深浅不一的实际请款中,网络的性能会大大的降低。他之所以在医学图像中效果这么好,我觉得很大部分原因是医学图像结构比较单一。比如说细胞,肿瘤这些,都是比较固定的结构,所以很好区分。
另一个问题是unet相对于现在的很多网络来说,都显得层数太浅。参数过少。所以训练的时候很容易的过拟合。将原来的简单的结构改成densenet型的效果,可以增加网络中的超参数。同时,利用迁移学习,加载vgg等网络的与训练权重,也可以很好的提高网络性能,防止落入局部最优和加快网络收敛。
这就是我最近对unet的心得。欢迎指正。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值