name_en: U-Net: Convolutional Networks for Biomedical Image Segmentation
name_ch: U-Net:用于生物医学图像分割的卷积网络
addr: http://link.springer.com/10.1007/978-3-319-24574-4_28
doi: 10.1007/978-3-319-24574-4_28
date_read: 2023-02-08
date_publish: 2015-01-01
tags: [‘图形图像’']
journal: Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015
author: Nassir Navab, 德国弗莱堡大学
citation: 56373
读后感
本文主要针对的问题是优化生物医学图像领域的图像识别,之前图像模型往往需要数千张标注图片训练。而医学影像数据往往存在图片大,图片中内容多(比如一张图中可能有很多的不正常细胞),难以做几千张图片的标注,除了正常异常,还常常需要标出具体位置。之前的方法是用滑动窗口将图像切成小块训练,这种方法比较慢图像重叠造成冗余,还要根据具体情况考虑切分方法,才能在上下文和效率之取得平衡。
文中提出的解决方法是:设计了U型网络结构和训练策略,相对于普通的卷积网络,增加了右侧的上采样卷积,从而恢复图像。
最终效果是,训练使用更少的数据即可训练,网络速度快,且验证在多个任务上效果好。
模型结构
在结构上,它与卷积网络的区别在于:除了压缩(左侧),还加入了上采样的扩展部分(右侧),网络结构是基本对称的。网络只使用了卷积层,没有使用全连接层。
网络的左边是压缩,右边是扩展。压缩部分是普通的卷积网络,通过卷积和下采样操作,分辨率不断变小,特征通道变多;右边的扩展包含上采样和卷积,特征通道减少。在最后一层,使用 1x1 卷积将每个 64 分量特征向量映射到分类问题中的类别。网络总共有 23 个卷积层。
损失函数
目标函数定义如下:
E = ∑ x ∈ Ω w ( x ) log ( p ℓ ( x ) ( x ) ) E=\sum_{\mathbf{x} \in \Omega} w(\mathbf{x}) \log \left(p_{\ell(\mathbf{x})}(\mathbf{x})\right) E=x∈Ω∑w(x)log(pℓ(x)(x))
除了交叉熵以外,还对不同实例做了w加权:
w ( x ) = w c ( x ) + w 0 ⋅ exp ( − ( d 1 ( x ) + d 2 ( x ) ) 2 2 σ 2 ) w(\mathbf{x})=w_{c}(\mathbf{x})+w_{0} \cdot \exp \left(-\frac{\left(d_{1}(\mathbf{x})+d_{2}(\mathbf{x})\right)^{2}}{2 \sigma^{2}}\right) w(x)=wc(x)+w0⋅exp(−2σ2(d1(x)+d2(x))2)
其中根据经验将w0设为10,σ设为5,wc是平衡类别频率的权重图,d1 : 是到最近细胞边界的距离,d2 是到第二个最近细胞边界的距离,即:离边界越近,权重越大,从而使模型着重学习细胞边界,从图d中可以看到其权重示意。
数据增强
在训练策略上,由于缺少医学图像数据,在训练时还做了一些数据增强,一方面增加了训练数据,另一方面支持平移和旋转不变性以及对变形和灰度值变化的鲁棒性。特别是弹性形变,这里使用随机位移向量在粗略的 3 x 3 网格上生成平滑变形,对于移出的位置,从标准差为 10 像素的高斯分布中采样填充,然后使用双三次插值计算每像素位移。