【文献阅读】MCNet+:Mutual Consistency Learning for Semi-supervised Medical Image Segmentation

最近研究半监督,随手记录一下看过的文章,如果理解有误欢迎大佬指出。
文章:Mutual Consistency Learning for Semi-supervised Medical Image Segmentation
代码:github


Motivation


MC-Net+模型的动机是观察到用有限注释训练的深度模型在医学图像分割的模糊区域(例如,粘连边缘或细分支)容易输出高度不确定和容易错误分类的预测。考虑到深度模型可以产生像素/体素级的不确定性的分割结果,本方法利用这种不确定性来有效地利用未标记数据,旨在进一步提高半监督医学图像分割的性能。有点类似于UAMT:利用网络预测的不确定度指导一致性损失,只对高置信度区域计算一致性。但是本文与UAMT在思路上是相反的,UAMT关注高置信度区域,而MCNet+则关注未标记数据的低置信度区域,即难以分割的区域。
在这里插入图片描述
从这个实验中可以看出两点关键信息:
(1)高度不确定的预测主要出现在一些具有挑战性的区域,随着训练数据量的增多,网络只是优化了这些具有挑战性的区域的分割结果;
(2)随着用于训练的标记数据量的增加,模型会输出更少的模棱两可的分割结果。
因此,本文假设深度模型的泛化能力应该与模型的不确定性高度相关。这些观察促使本文探索模型的不确定性,以帮助模型在这些难以分割的区域上更具泛化性。


Method


在这里插入图片描述
MCNet+采用一个编码器和三个解码器(结构相同,只是采用的上采样方式不同),三个解码器的输出分别作为另外两个解码器的伪标签(Soft Pseudo Labels),计算一致性损失。另外如果是标记数据,则三个解码器的输出都与标签计算监督损失。


思考


策略其实很简单,那么MCNet+对于低置信度区域的关注怎么体现呢
我们训练一个网络,不仅希望网络能够输出正确的结果,同时希望网络能够对于自己的输出有“自信”,即网络的不确定度尽可能低。网络的不确定度的一种经典评估方法就是同时在一个数据集上训练一个模型多次,比较它们的输出结果的差异,以此作为模型不确定度评估的标准。那么这里三个解码器的输出的差异就可以体现模型的不确定性,而这种不确定性只会出现在边缘这种难以分割的地方。MCNet+让三个decoder的输出互相计算一致性损失,这里的一致性损失其实主要就是低置信度区域的差异,因此就让模型在训练时关注这些难分割的区域,从而得到低不确定度的模型。

为什么模型的不确定度越低,模型的分割效果就越好呢
前面说了,模型的不确定度来自于多次训练时模型对于边缘地区分割结果的差异,那么通过约束模型的不确定度,其实一定程度上平均了多次训练的模型,使得最终得到的模型对于边缘地区的分割结果更加具有鲁棒性。

文中说到,MCNet+不仅用到了基于一致性的约束,还用到了基于熵最小化的约束。二者如何体现
一致性约束基于一致性假设,即微小的扰动不应该影响网络的输出结果。MCNet+使用一个decoder的输出与其它decoder的输出计算一致性损失,其实扰动就是不同decoder中采用不同的上采样的种类。熵最小化约束基于聚类假设,即同一类别的聚类应该是紧凑的,换言之是低熵的,也就是说模型应该是低不确定度的,MCNet+约束不同decoder的输出一致,其实就是约束了模型在于边缘地区的不确定度。

与这篇文章同时期的一篇工作CPS也采用了了类似的思路,只是用的是完全一样的模型与不同的初始化。为什么这篇文章对于每个decoder要采用不同的上采样?
文中说到,之所以对于每个decoder采用不同的上采样是为了增加模型内部的多样性。说白了其实这就是采用的一种制造扰动的方式。CPS中的扰动是采用不同的模型初始化,而MCNet+的扰动则是采用不同的上采样。

猜你喜欢

转载自blog.csdn.net/Fyw_Fyw_/article/details/129355749