基于全卷积神经网络的图像分割方法详解(二)

最近这段时间刚好忙完学业作业,抽空来总结一下前段时间的工作。

前段时间一直忙于用深度学习做医学图像分割,采用的方法是FCN,也就是全卷积神经网络。全卷积神经网络是基于卷积神经网络的改进,使得输入和输出的尺寸一致,并且对每个像素点进行分类,达到图像分割的目的。下图是全卷积神经网络的流程图。其中第一行是提取特征步骤,然后2X conv7和4X conv7分别表示对conv7的输出进行2倍和4倍上采样,也就是反卷积操作,最后将特征图变为输入大小的尺寸,就实现了对于每个像素的分类,也就是图像分割。

在该流程中,需要注意以下几点:

  1. 使用该网络时需要关注你的数据集,看是否适用。比如说,如果你的数据集的尺寸只有100*100左右,那么这个网络结构很有可能就不会work,因为该网络结构只是最原始的FCN,对于处理一些特殊的数据集,会存在性能不足的缺点,导致网络不能收敛。而且你的数据集尺寸太小,在经过了五次池化后,基本上特征图就没什么信息了,在后续的反卷积重建结果中,会导致信息丢失严重。对于这种问题,建议采用U-NET,V-NET,以及比较新的RCF-net。这几种结构都可以结合更多层次的信息,使得重建后的结果更好。
  2. 使用该网络时需要关注所需处理问题的难度,如果难度过大,那么很有可能该网络会无法work。比如最近我做的一个工作,在一些100*100大小的图像上做四分类。当然,也不是说4分类的问题没法做,只是你得结合你的数据集的特点,比如我做的这个数据集,图像的尺寸太小,导致经过四五次池化后基本没有了信息。对于这类难度较大的问题,可以尝试减少网络的pooling层,或者同时增加的深度,当然这可能导致你的服务器OOM。
  3. 最后在训练网络时,需要在学习率上增加关注。以前我做实验室,基本上就是按照以前做过的实验来调学习率。但是到了图像分割这个领域,发现网路对于学习率较为敏感,可能小一个数量级就可以收敛,或者大一个数量级就可以更快的收敛。这个也是需要根据不同的任务来制定不同的方法

后续我会将如何用python和tensorflow来编写FCN进行详细的一步一步讲解。

最后想了想,还是用pytorch吧。(手动狗头)

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值