当前位置: 代码迷 >> 综合 >> 语义分割论文笔记--UNet
  详细解决方案

语义分割论文笔记--UNet

热度:17   发布时间:2024-02-24 12:28:23.0

目录

  • 前言
  • 1. 问题
  • 2. 方法改进
  • 3. 关于魔改
  • 参考文献

前言

U-Net可以说是语义分割领域的老二哥了(大哥还是FCN),其结构简单优雅(对称结构),由编码器和解码器组成,很适合自己各种魔改,而且效果也很不错,用于比赛那是妥妥的。
code&paper: https://github.com/ZhangXiangd/semantic-segmentation

1. 问题

  • 医学图像任务中,通常难以获取到成千上万的训练图像,如何在少量训练图像条件下取得较高的精度呢?
  • 已提出的解决方法:Ciresan等人[1]通过滑动窗口在大尺寸的医学影像上进行采样,以每个像素及其周围区域内的像素作为单个样本(patch),这样就能得到较多数量的训练图像。

2. 方法改进

  • Ciresan等人所提方法的缺点:(1) 重叠的patch存在大量的冗余,且对于每个patch都需要网络运行一次,速度很慢;(2) 无法妥善的去平衡(trade-off)定位精度和上下文信息,大的patch需要更多的池化层导致定位精度降低,而小的patch网络只能获取少量的上下文信息。
  • 改进:(1) 对FCN进行改进,改进后的网络主要包括收缩路径和扩张路径,分别用于提取上下文语义信息和恢复空间细节信息。通过跨层连接将编码器的特征图经过裁剪和复制与解码器特征图concat,所以在上采样的过程中有大量的特征图通道数,有利于将信息传播到分辨率更高的层;
    在这里插入图片描述
    (2) 为了更精确的预测图像的边缘部分,采用overlap-tile策略,即:预测图中黄框部分,需要以蓝框部分作为输入,空白的部分通过镜像翻转来补齐,再对预测的结果做一个裁剪就能得到黄框部分对应的预测结果;(这个trick在做遥感影像分割时也很有效,能够减少预测结果的拼接痕迹)
    在这里插入图片描述
    (3) 数据增强。在训练数据少的时候必然要做数据增强,扩充样本的同时还能增强网络的泛化能力。文中做了平移、旋转和随机形变。

3. 关于魔改

  • 更换编码器:使用各种预训练模型做encoder
  • 减少解码器参数:使用upsampling+Conv代替transposeConv
  • 加各种模块,如注意力模块或者新论文中提出的能提高网络性能的模块

参考文献

[1] Deep neural net-works segment neuronal membranes in electron microscopy images