医学分割论文:UNet++: A Nested U-Net Architecture for Medical Image Segmentation
Auther: Zongwei Zhou, Institution:Arizona State University, Publish year: 2018
论文地址:https://arxiv.org/abs/1807.10165
https://github.com/MrGiovanni/UNetPlusPlus
目前存在的问题:
- 传统的UNet中的skip-connect采用的是channel维度的拼接融合,作者认为这种直接将ecoder的浅层特征和decoder中的深层特征结合是不妥的,会产生语义鸿沟(semantic gap)
- 当深层特征和浅层特征语义相似度高的情况下,有利于优化器优化
背景知识:
UNet中的skip-connect采用的是channel拼接,即将两个矩阵在某个维度(channel维度)进行拼接,在tensorflow中采用的是tf.concat操作,类似于numpy中的np.concatenate(),仅改变矩阵(张量)的一个维度
模型结构:
Fig1 UNet++网络结构
a. 在UNet++中,encoder和decoder之间通过一系列嵌套的密集卷积块连接,黑色表示原始Unet,绿色和蓝色表示跳跃路径上的密集卷积块,红色表示深度监督
b. 详细分析了第一个跳跃连接路径
c. 在深度监督模式训练下,模型可做剪枝处理,以减少参数
深度监督:
在模型深度增加的情况下,将部分中间结点增加辅助分类器,作为网络分支对主干网络进行监督
图中红色部分就是深度监督部分,将不同层的loss输出。每层的loss使用dice和交叉熵的混合loss
分割性能:
Fig2 Unet++的分割性能
Fig3 不同剪枝策略下Unet++的参数规模、推理速度和精度
一点点理解
作者的出发点是降低encoder和decoder两层连接时的语义鸿沟(decoder层已经经过了多次卷积处理),所以在skip-connect中也加入了几个卷积核,使得融合时差异更小