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

Abstract
Unet是2015年的一篇工作了,在医疗图像分割中,能够在很少的训练集上实现比较好的分割效果。同时,设计的Encode-Decode结构(U形结构),在后来的很多方法中被借鉴使用
现在回过来看UNet的工作,整体思路还是比较简单的,具体的细节,将按照如下的网络结构图进行展开阐述:
在这里插入图片描述

Details
每一层的尺寸
在这里插入图片描述

训练样本的大小是512512,为了能够包含到图像边缘的像素点,将训练样本扩充为572572(图像边缘多30个像素,用图像内的像素对称填充),如下图

至于为什么扩充30个像素,个人理解是为了保证对Encode中的倒数第二个特征图(也就是Decode时进行concat的第一个层)crop时不会把原始图像的边缘信息裁剪掉,如上图中右侧原始图像的一个点,其按照Encode的反向过程计算的感受野大小为((0×2+2+2)×2+2+2)×2+2+2)×2+2+2=60
Encode过程中,每一层的卷积都是valid卷积,即padding=0,这就会导致每一层执行一次33卷积尺寸便缩小减小4个像素。这里如果用same conv,网络结构设计上应该也会更随意些
整个UNet共计经过4次下采样和4次上采样,除最后一层外全部使用的是3
3(valid conv),最后一层使用1*1,共计23层conv
每一层的channel个数

Encode每次执行pooling后,kernel的个数都会增加一倍,而Decode的过程中,则是反过来的
Encode-Decode结构的连接方式

这里连接是为了将低层特征和高层特征进行融合
对于低层特征(encode部分的feature map),由于前面提到的valild conv,在decode中的层执行upconv操作后,和原始尺寸还是有偏差的,因此直接将encode过程中的feature map裁剪成相同大小的feature map,然后在直接在channel维度concate,而不是element-wise的sum;同时,原始输入图像扩充,也保证了这里crop时原始图像的特征不会被丢弃
Loss

unet使用的是二分类交叉熵损失,如果用于多分类,该用多分类交叉熵即可
unet本身对二分类交叉熵loss进行了修改,引入weighted map,使得网络能够学习到更好的边界信息,这里不再赘述。(个人理解,对于其他语义分割任务,用原始交叉熵即可)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值