【论文阅读】医疗影像分割中的半监督学习Semi-supervised
一 Transformation Consistent Self-ensembling Model for Semi-supervised Medical Image Segmentation

前言
医疗影像的数据紧缺问题我就不再多bibi了,为了解决这个问题,出现了很多的方法,像主动学习,迁移学习,半监督学习等弱监督学习方法,部分方法在图像分类 中有很突出的应用。但是!图像分割尤其是医疗影像分割方面的弱监督方法还有待发掘~当然,也存在一些简单的方法,比如使用少量的数据训练的模型去预测未标注的数据,得到伪标签然后加入训练集继续训练。。。(在分类任务中比较常用)
本博客就分享一偏使用半监督学习来使影像分割到达更好的效果的论文。思路比较有趣,值得学习~
先搞一下要点:
- 半监督学习
- 影像分割
- 正则化loss
- 三个医疗影像数据集:skin lesion ISIC 2017 dataset,optic disc REFUGE dataset,liver LiTS dataset
先了解一下一个有意思的事情:
Transformation equivariant representation
在不管是分类还是分割中,我们通常会需要数据增强来防止过拟合,并且提高精度。但是数据在进行增强时,比如图像顺时针旋转90度,而网络的参数是不会旋转的,其中的feature map也不一定与直接将不旋转的图像数据得到的feature map顺时针旋转90度一样,等价。但是他们的输入的确相同的,不过是其中一个多了90度的扰动。
注意: 在图像分割的任务中,默认是transformation equivariant!!
上面这个概念可以很好的由下面的图解释:

什么叫transformation equivariant,即上图a所示,但是在卷积中这并不是等价的,所以目前有很多在卷积中做转换等价的研究,包括同时旋转滤波器或者是特征图。
本论文利用了这个不等价的特性,加入了正则化平方差loss,这个后面再谈。
训练流程

通过上图简单明了,输入经过两个部分,一部分使用\pi_i代表数据增强扰动,i为样本index。每次的训练过程,\pi_i保持不变,不同的样本不同的训练过程\pi_i发生变化,可使用非常多的种类的数据增强。
样本的真实标注y_i在每一次的训练过程都要在\pi_i下进行变换,得到\widetilde y_i,在计算loss时,使用\widetilde y_i。
每次的训练都要进行实时的预测。得到样本的预测mask。
x_i直接经过网络的得到mask,对mask进行此次训练的扰动\pi_i得到z_i,z_i与\widetilde y_i计算交叉熵loss。
x_i经过扰动\pi_i之后得到的输入\widetilde x_i经过网络得到输出\widetilde z_i, \widetilde z_i与z_i计算平方loss。
过程简单易见。
半监督学习
此处的半监督学习就是利用了上面loss流程中的mean square loss,这个loss的计算是不需要真正的gt或者是加扰动的gt来参与的,只要网络能够预测就可以。
此处的mean square error是作为loss中的正则化项的,为什么是正则,还有待讨论。
假设一共有N个输入,其中M个输入是没有标签的,那么N-M个数据有标注。定义一下,有标注的集合L和未标注的集合U:
L = \{(x_i, y_i)\}_{i=1}^M
U=\{x_i\}_{i=M+1}^N
loss的形式:
\min \limits_\theta\sum_{i=1}^Ml(f(x_i;\theta),y_i) + \lambda R(\theta, L, U)
无标签的数据只是在\lambda R(\theta, L, U)正则化的部分有效。
整体算法流程:

实验结果
不用说,论文上的肯定不错。

三个不同的数据集:

目前此训练流程还未尝试。。。
二 Semi-supervised Learning for Network-Based Cardiac MR Image Segmentation
前言
跟分类的方法很类似呀,说白了就是一句话,用标注的数据训练模型去预测未标注的数据,然后把模型标注的数据加到训练数据中,循环。。。训练模型预测的未标注数据的标签,术语为伪标注!
流程整理如下
现在有已经标注的数据,S_L = \{X_L, Y_L\},未标注的数据,S_U= \{X_U, Y_U\},
监督学习阶段:

半监督学习阶段:

注意,此时的U标注是上一个模型预测的结果。
假设网络参数为\Theta,伪标注Y_U,两者交替进行更新:
- \hat \Theta固定预测Y_U
- \hat Y_U固定更新\Theta
