查看原文
其他

【源头活水】Few-shot 医学图像分割



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—结发授长生
地址:https://zhuanlan.zhihu.com/p/419340567

论文导读:本文选自ICCV 2021, 在这项工作中,提出了一个新的few-shot医学图像分割框架,利用上下文关系编码器和循环模块迭代地改进分割掩模。


01

Abstract

深度学习在医学图像分割方面存在:

  • 需要大量的数据进行训练。

  • 难以扩展到未知的类别。

Few-shot learning 通过少数有标记的数据来学习新的类别来解决上述问题。

在本文中,提出了一种基于原型网络的few-shot医学图像分割框架:

  • 上下文关系编码器(CRE),利用相关性来捕获前景和背景区域之间的局部关系特征;

  • 重复使用CRE和原型网络来重新捕获上下文关系的变化,迭代地对分割掩码进行细化。


02

Method

在本工作中,引入了一种新的网络框架,用于使用原型网络(RP-Net: Recurrent prototype Networks)进行few-shot 医学图像分割。

首先,提出了一种基于提取特征的上下文关系编码器(CRE),以显式建模前景和背景特征图之间的关系。在医学图像分割中,前景区域和背景区域之间的关系是确定感兴趣区域边界的重要因素。其次,提出了一个循环掩模细化模块,该模块使用CRE和原型网络迭代细化分割。

Problem definition

在few-shot 医学图像分割中从训练数据    中提取图像和语义标签    ,在测试阶段网络从测试数据集    预测得到语义标签    ,注意    例如, 模型在带有语义标签的    {肝脏,左右肾},在测试阶段需要在新的类别上进行测试    {脾脏}。设N为    中的类别,每个类别中抽取K个样本。从N*K个样本中学习如何区分N个类别,因此被称为N-way K-shot。为了模拟测试阶段中每个类只提供K个例子的情况,训练模式以数据对[(    ), (    )]的形式从    中随机抽取每个训练样本。model 从(    )中学习先验知识应用到新样本    。

Proposed method

网络RP-Net 的结构如图1所示。包括3个步骤:

1)提取图像特征。

2)使用CRE增强上下文关系特征。

3)迭代地应用CRE和原型网络来细化分割掩码。

Feature extraction

网络的输入是一组K个图像包括support图像,    和query image   

中,    分别为高度和宽度,support 图像和query image 首先使用放射变换进行对齐。之后使用相同的特征提取器    去提取support 特征    和query 特征    。    分别是特征的高度和宽度。    为通道数。采用改进的U-Net backbone 作为特征提取器    。经特征提取器提取后特征值的大小为   

Context relation encoder (CRE)

在医学图像分割中,局部上下文特征是确定前景和背景边界的重要依据。为了增强和强调这些特征,提出了上下文关系编码器来增强上下文特征,并迫使模型关注感兴趣区域的形状和上下文,而不是像素本身。

CRE 的输入为提取的特征F(为了方便表示,省略了下标)和mask(包括support的mask 和query 的mask),输出的特征为    。首先从特征中提取前景和背景的特征,利用m:    ,    。    ,    分别表示3*3 的卷积操作,之后得到前景和背景的相关特征在每个前景    位置    和背景    :

   表示偏移量。因为并不是计算像素对之间的关系对偏移量做了限制,设置参数d,    的计算在尺寸    内。最后将    沿着通道进行拼接并使用1*1的卷积操作生成最后的特征    ,在实践中d设置为5。

Prototypical networks

对于support 的特征    ,首先通过掩码平均池化计算c类的原型:

原型网络计算查询特征向量与计算原型    之间的距离。对于query 特征    :

其中,d 表示余弦距离。    =20 比例因子。最后类预测可以通过:

Recurrent mask refinement

由于用于计算上下文关系特征的掩码m在每次网络进行预测时都会发生变化,因此我们提出了一个循环掩码优化模块来重新捕捉这种变化,并根据之前的预测计算新的上下文关系特征。recurrent mask refinement module 估计不同的mask predictions {    }从初始的掩码    中其中   为所用support masks 的并集。    。第t次循环迭代会产生新的mask    ,    基于    。模型经过训练,学习逐步修改mask,使最终输出掩模    收敛到最优解。注意,在这个工作中,由于图像是仿射对齐的,    是使用平均support mask初始化的,但也可以使用其他方法更好地初始化    。

recurrent mask refinement 模块,采用support 特征    ,query 特征    和前一次mask 的输出    ,使用CRE增强query 特性,并应用原型网络输出分割掩码:

在训练过程中,使用了4次迭代的循环掩模细化模块,以节省内存和计算成本。最后的预测是通过双线性插值将    上采样到与    相同的分辨率得到的。

Loss function

使用dice loss + cross-entropy 作为loss训练网络。


03

Experiment

用两个腹部进行实验 CT数据集和一个MRI数据集。

ABD-110是的腹部数据集,包含110张不同腹部肿瘤患者的3D CT图像,这些CT扫描是在治疗计划阶段拍摄的。

ABD-30是来自MICCAI 2015的腹部数据集多图谱腹部标记挑战。它包含30张不同病理患者的3D腹部CT (ABD-30),扫描强度分布不同。

ABD-MR是来自ISBI 2019 Combined的MRI数据集健康腹部器官分割挑战。它包含20个三维T2-SPIR MRI扫描。

在实验中执行相同的5倍交叉验证,只考虑1-way 1-shot learning。

结果


04

总结

亮点:

1)个人认为本文的亮点为RP-Net 网络框架,至于其中的CRE 模块个人认为其结构比较常见只在细节之处做了改进,当然应用是新颖的。

由于不是专门做few-shot learning,如有错误,请留言指正。

code:

尚未公开训练代码,只公开了测试代码。

https://github.com/uci-cbcl/RP-Net

参考文献:

[1] Tang H , Liu X , Sun S , et al. Recurrent Mask Refinement for Few-Shot Medical Image Segmentation[J]. 2021.

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存