论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation

论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation

  • 前言
  • 网络结构
  • overlap-title策略
  • pixel-wise loss weight

前言

论文原文:U-Net: Convolutional Networks for Biomedical Image Segmentation
代码地址:https://github.com/milesial/Pytorch-UNet/

论文中使用的是全卷积网络,将下采样的路径称为contracting path,上采用的路径称为expansive path,上下文信息通过上采样与下采样的融合传播到高分辨率的层。contracting pathexpansive path大致相对称形成 U 型结构,所以把该结构称为U-Net

网络结构

U-Net 的网络结构如下图:
论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第1张图片下采样的路径称为contracting path,上采用的路径称为expansive path
上采样使用的是转置卷积。
网络的结构比较简单,值得注意的是:
论文使用的 3×3 卷积没有使用padding,所以同一层的特征图也会有略微的变小。同时在上采样融合下采样时,因为特征图大小不同,所以只能通过 crop 来裁剪一部分大小。如底层特征图只有 28×28 的大小,通过上采样变成 56×56 大小,同层特征图却是 64×64 大小,所以只能 crop 出 56×56 大小的特征图来进行融合。这也导致最终输出的大小只有 388×388,比输入的 572×572 小很多,最终的分割区域只能占输入的一部分。

overlap-title策略

对于分辨率较大的图像,论文中提出了overlap-title策略,该策略允许通过重叠平铺策略对任意大的图像进行无缝分割,这种平铺策略对于将网络应用于大型图像非常重要,因为否则分辨率将受到GPU内存的限制。
论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第2张图片
可以看出,由于输出的分割区域比输入小,导致输入上图中的蓝色区域,只能分割出黄色区域这一部分,所以在对高分辨率图进行拆分识别时,需要重叠一部分,即 overlap-title。过程如下:
论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第3张图片
这样最终实现效果只能识别到中心区域:
论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第4张图片
所以作者对Missing Data进行了镜像填补,即左边空缺的部分以黄色框的左边框将识别结果进行镜像,上下右同理,左上角的部分,以黄色框的左上角顶点进行旋转镜像,右上角,左右下角同理。

pixel-wise loss weight

由于语义分割只会分割出前景背景,如图中c所示,这样所有细胞都会被分割到一起,细胞间的边界就不明显了。论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第5张图片
作者给细胞缝隙间的小背景增加大的损失权重,其他大背景使用小权重,分割效果如图d。损失函数如下:
论文阅读笔记:U-Net: Convolutional Networks for Biomedical Image Segmentation_第6张图片
d1,d2则是分割边界和最新两个细胞的距离,以此来判断是否为细胞间的小背景。

你可能感兴趣的:(深度学习论文阅读,语义分割,深度学习,pytorch,cnn)