Non-local U-Nets for Biomedical Image Segmentation 阅读笔记
摘要(Abstract)
深度学习在各种生物医学图像分割任务中显示出巨大的应用前景。现有模型通常是基于U-Net的编解码结构与堆叠的本地运营商逐步聚合远程信息。但是,仅使用局部运算符限制效率和效果。在这项工作中,我们建议非局部U-Nets具有灵活的全局ag-gregation块,用于生物医学图像分割。这些块可以作为尺寸保持过程插入U-Net,也可以作为下采样层和上采样层插入。我们对三维多模态进行了深入的实验等强度婴儿脑磁共振图像分割任务,评估Non-local U-Net。结果表明,我们的建议模型有较少的参数和更快计算速度。
存在的不足
作者首先分析了U-Net存在的不足。
1.U-Net的encoder部分由若干卷积层和池化层组成,由于他们都是local的运算,只能看到局部的信息,因此需要通过堆叠多层来提取长距离信息,这种方式较为低效,参数量大,计算量也大。过多的下采样导致更多空间信息的损失(U-Net下采样16倍),图像分割要求对每个像素进行准确地预测,空间信息的损失会导致分割图不准确。
2.decoder的形式与encoder部分正好相反,包括若干个上采样运算,使用反卷积或插值方法,他们也都是local的方法。
创新点
1.为了解决以上问题,作者基于self-attention提出了一个Non-local的结构,global aggregation block用于在上/下采样时可以看到全图的信息,这样会使得到更精准的分割图。
2.简化U-Net,减少参数量,提高推理速度,上采样和下采样使用global aggregation block,使分割更准确。
global aggregation block如上图所示,图看起来很复杂,实际上运算过程很简单。
1.该结构与Attention Is All You Need这篇文章的形式很相似。输入图为X(BHWC),经过QueryTransform和11卷积,转换为Q(BHqWqCk),K(BHWCk),V(BHWCv)。QueryTransform可以为卷积,反卷积,插值等你喜欢的方法,最后的输出结果的H与W将与这个值一致。
2.代码里在Unfold之前有Multi-Head(Attention Is All You Need)的操作,不过在论文中没有说明,实际上是把通道分为N等份。Unfold是把Batch,height,width,N通道合并,Q(BHqWqNck),K(BHWNck),V(BHWN*cv)。
3.接下来是经典的点积attention操作,得到一个权值矩阵A((BHqWqN)(BHWN)),用于self-attention的信息加权,分母Ck是通道数,作用是调节矩阵的数值不要过大,使训练更稳定(这个也是Attention Is All You Need提出的)。最后权值矩阵A和V点乘,得到最终的结果((BHqWqN)*cv),可见输出的height和width由Q决定,通道数由V决定。
4.还原为原维度大小。
实验结果
参考文献
知乎:一文带你看懂Attention机制
论文笔记
1.Non-local U-Nets for Biomedical Image Segmentation
2.U-Net: Convolutional Networks for Biomedical Image Segmentation
3.Attention Is All You Need
4.Non-local Neural Networks
5.Decoders Matter for Semantic Segmentation: Data-Dependent Decoding Enables Flexible Feature Aggregation