02 - UNet结构详解

1,582 阅读2分钟

一、UNet网络结构详解

1. 引言

  1. 图示

    image.png

  2. 相关资源

    1. 论文地址
    2. 和医学影像领域相关

2. 网络具体结构

  1. 图示

    image.png

  2. 可以看出,网络整体是一个encoder - decoder结构,作者将Encoder部分称为contracting path,将Decoder部分称为expansive path。以一副单通道图像输入为例。

  3. 注意

    1. 可以看出作者在使用卷积时是没有用到padding的,每次得到的高宽都会减少2(步长为1)。
    2. UNet出现的较早,Batch Normalization还未流行,所以作者没有采用。
    3. 上采样(图中绿色向上箭头)使用的是转置卷积
    4. 每次进行中心裁剪之后的contrasting path上的volume都会和expansive path上的输出在通道维度上进行拼接。所以中心裁剪的结果也和expansive path上的输出高宽保持一致。
    5. 原论文中输入输出的高宽并不一致,但是在他人复现过程中,每次卷积都会使用padding来实现Same卷积,使得**输入输出高宽保持一致。**还会加上BN层
  4. 分割结果

    1. 图示

    image.png

    1. 可以看出我们的输出图像比输入图像少了一截。为了保证我们的输入图像被完整分割,作者对原始图像边界使用了镜像处理。

    2. 为了获得右图小黄框的分割图像,我们还需要使用一个较大的蓝框图像,但是由于超出了原图,所以原作者使用的是镜像处理。若采用Same卷积都用不到如此麻烦。

  5. 目前分割方式

    1. 如果直接将一整张高分辨率图像输入网络,会导致显存爆炸。

    2. 图示

    image.png

    我们会将图像分割为多个大小一致的patch,patch和patch之间存在overlap部分,便于分割patch边缘部分。

  6. 图例

    1. 图示

    image.png

    1. 第一张图为原始图片,第二张图是人工标注的标签图片,第三个是语义分割的二值图像。

    2. 注意:作者认为,分割细胞之间的像素有些困难,所以作者为细胞之间的标签像素值设立了较大权重(便于计算损失).