UNET和FCN的不同

FCN的优点和不足

与传统用CNN进行图像分割的方法相比,FCN有两大明显的优点:

一是可以接受任意大小的输入图像,而不用要求所有的训练图像和测试图像具有同样的尺寸。

二是更加高效,因为避免了由于使用像素块而带来的重复存储和计算卷积的问题。

同时FCN的缺点也比较明显:一是得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。二是对各个像素进行分类,没有充分考虑像素与像素之间的关系,忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。

 Unet与FCN网络的区别
U-Net和FCN非常的相似,U-Net比FCN稍晚提出来,但都发表在2015年,和FCN相比,U-Net的第一个特点是完全对称,也就是左边和右边是很类似的,而FCN的decoder相对简单。

第二个区别就是skip connection,FCN用的是加操作(summation),U-Net用的是叠操作(concatenation)。这些都是细节,重点是它们的结构用了一个比较经典的思路,也就是编码和解码(encoder-decoder)结构。其实可以将图像->高语义feature map的过程看成编码器,高语义->像素级别的分类score map的过程看作解码器

此外, 由于UNet也和FCN一样, 是全卷积形式, 没有全连接层(即没有固定图的尺寸),所以容易适应很多输入尺寸大小,但并不是所有的尺寸都可以,需要根据网络结构决定。
 

 为什么Unet在医疗图像分割中表现好
医疗影像语义较为简单、结构固定。因此语义信息相比自动驾驶等较为单一,因此并不需要去筛选过滤无用的信息。医疗影像的所有特征都很重要,因此低级特征和高级语义特征都很重要,所以U型结构的skip connection结构(特征拼接)更好派上用场

医学影像的数据较少,获取难度大,数据量可能只有几百甚至不到100,因此如果使用大型的网络例如DeepLabv3+等模型,很容易过拟合。大型网络的优点是更强的图像表述能力,而较为简单、数量少的医学影像并没有那么多的内容需要表述,因此也有人发现在小数量级中,分割的SOTA模型与轻量的Unet并没有优势

医学影像往往是多模态的。比方说ISLES脑梗竞赛中,官方提供了CBF,MTT,CBV等多中模态的数据(这一点听不懂也无妨)。因此医学影像任务中,往往需要自己设计网络去提取不同的模态特征,因此轻量结构简单的Unet可以有更大的操作空间。

Unet网络结构
Unet网络是建立在FCN网络基础上的,它的网络架构如下图所示,总体来说与FCN思路非常类似。这里需要注意的是,U-Net的输入大小是572x572,但是输出却是388x388,按理说它们应该相等(因为图像分割相当于逐像素进行分类,所以要求输入图像和输出图像大小一致),但是为什么这里的输入尺寸要比输出尺寸大呢?那是因为下图这个结构图是当年论文作者绘制的,该作者对输入图像的边缘进行了镜像填充,通过镜像填充将边界区域进行扩大,这样可以给模型提供更多信息来完成模型的分割。

按照论文中的解释,镜像填充的原因是:因为图像 的边界的外面是空白的,没有其它有效像素,而我们预测图像中的像素类别时往往需要参考它的周围像素作为上下文信息,这样才能保持分割的准确性,为了预测边界像素,论文对边界区域进行镜像,来补全边界周围缺失的内容,然后进行预测。这种策略叫做"overlap-tile"

这里的输入是单通道的原因是因为输入图片是灰度图,而输出是两通道是因为这里是对像素进行二分类(前景和背景),所以输出通道是2

相关推荐

  1. transformer中ffn

    2023-12-06 14:12:07       8 阅读
  2. vuereact使用上不同

    2023-12-06 14:12:07       35 阅读
  3. python strftimestrptime不同分析

    2023-12-06 14:12:07       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 14:12:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 14:12:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 14:12:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 14:12:07       20 阅读

热门阅读

  1. 基于springboot + vue学校后勤管理系统

    2023-12-06 14:12:07       37 阅读
  2. 前端webpack、vite搭建的项目如何解决跨域

    2023-12-06 14:12:07       42 阅读
  3. RocketMQ消息过滤机制源码详解

    2023-12-06 14:12:07       29 阅读
  4. rust从0开始写项目-04-多样化错误处理

    2023-12-06 14:12:07       38 阅读
  5. 英伟达显卡驱动的相关组件和名词

    2023-12-06 14:12:07       43 阅读
  6. springboot-mongodb-连接配置

    2023-12-06 14:12:07       31 阅读
  7. 解决 nginx 504 Gateway Time-out报错问题

    2023-12-06 14:12:07       42 阅读
  8. Kafka的ACK应答级别

    2023-12-06 14:12:07       39 阅读