语义分割之unet

论文简介

  • 地址:U-Net: Convolutional Networks for Biomedical Image Segmentation
  • 论文中提出的unet网络结构包含用于获取信息的contracting path和用于精准定位的symmetric expanding path,可以直接进行端到端的训练,同时比当前的FCN方法的性能都要更好;此外,unet的inference time也很短,对于512X512的图像,在gpu上不到1s。

introduction

  • 之前用于分类的网络,在最后的convolution layer后面都会加上fully connect layer,由softmax激活函数处理后,输出一个向量,代表输入属于各个类别的概率。FCN(fully convolutional network)则是需要给出输入图像中每个pixel的预测类别,即在最后的convolution layer后面不接全连接层,而是经过上采样的convolution filter,经过softmax处理即可。
  • 论文中提出的unet模型在只需很少训练数据的情况下,也可以得到很精确的分割结果。主要是将之前的pooling layers替换成unsampling operators,将之前高分辨率的浅层网络输出与unsampleed output进行concat,从而实现pixel级别的localization。
  • unet在unsampling layer中也会有很多feature channels,从而保证网络有足够多的context信息并流向更高分辨率的layers。
  • unet中使用很多data augmentation的方法,来解决数据量很小的问题,这也会使得网络对输入变形的情况更加鲁棒。
  • 对于同一类的instance,为了将其进行分开,作者在训练的时候,使得那些instance边界的pixel的误分类loss的weight很大,即更加关注这些border。

network architecture

  • 网络结构主要见下图

unet

  • 因为输出图像尺寸比输入图像尺寸要小,因此需要将当输入图像沿边界做镜像拷贝,否则无法对输入图像的边界进行预测。
  • 网络左边是降采样,右边是上采样,在每次降采样的时候,都会加倍feature channel,输入图像的大小很重要,因为需要保证所有的2X2max pooling layer的height和width都是偶数的。

training

  • loss是weighted softmax loss
  • 作者使用了shift、rotation、elastic deformations等方法来进行data augmentation,同时在最后也加上了dropout layer

experiment

  • EM segmentation challenge上进行了测试,比其他方法的效果都要好。在cell segmentation task上进行了测试,average IOU是77.5%(第二名是46%)。