UNet
摘要
2015年诞生,获得当年的ISBI细胞追踪挑战比赛第一名,在GPU上推理512x512的图像不到1秒钟,开创图像分割的先河。
简介
在当时,卷积神经网络是主流,但是仅限于图像分类任务,并且需要大量的数据集。对于医学图像,数据集的量很少。
2012年 Ciresan提出的网络虽然获得了EM的第一名,但是有缺陷,因此作者提出了UNet,解决了这些问题。并且远远超出了之前的所有分割网络。
Over-tile策略
对图中黄色部分像素点进行预测的时候,需要用到蓝色部分的上下文信息,但是这么做会出现两个问题。
1.边界问题:进行镜像扩充。
2.重叠问题:在卷积时只使用有效部分,在卷积的时候会使用到蓝色部分,但是传入到下一层的只有黄色部分。
网络架构
左侧为收缩路径,由3X3卷积、Relu、最大池化组成,每次下采样后通道数量加倍,用于获取上下文信息。
右侧为扩展路径,由3X3卷积、Relu、2X2上采样组成,每次下采样后通道数量减半,用于精确定位。
输入是572x572的,但是输出变成了388x388,这说明经过网络以后,输出的结果和原图不是完全对应的,这在计算loss和输出结果都可以得到体现.
蓝色箭头代表3x3的卷积操作,并且步长是1,不进行padding,因此,每个该操作以后,featuremap的大小会减2.
红色箭头代表2x2的最大池化操作.如果池化之前特征向量的大小是奇数,那么就会损失一些信息 。输入的大小最好满足一个条件,就是可以让每一层池化操作前的特征向量的大小是偶数,这样就不会损失一些信息,并且crop的时候不会产生误差.
绿色箭头代表2x2的反卷积操作.何为反卷积会在后面进行记录
灰色箭头表示复制和剪切操作.
输出的最后一层,使用了1x1的卷积层做了分类
前半部分也就是图中左边部分的作用是特征提取,后半部分也就是图中的右边部分是上采样,也叫 encoder-deconder结构
训练
采用SGD优化器,动量设置为0.99,使用单张图片训练,使用了加权重的softmax损失函数,使得每个像素有自己的权重,也就是做了w*h个softmax。
数据增强
主要使用了旋转平移不变性、弹性形变和dropout。
小结
Unet是一个分割网络,主要提出了两个策略:
第一个是overlap-tile策略,解决了边缘区域没有上下文的问题;
第二个是使用了加权损失以使得网络更加重视边缘像素的学习。