【论文阅读】医疗影像分割中的半监督学习Semi-supervised

一 Transformation Consistent Self-ensembling Model for Semi-supervised Medical Image Segmentation

【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第1张图片

前言

医疗影像的数据紧缺问题我就不再多bibi了,为了解决这个问题,出现了很多的方法,像主动学习,迁移学习,半监督学习等弱监督学习方法,部分方法在图像分类中有很突出的应用。但是!图像分割尤其是医疗影像分割方面的弱监督方法还有待发掘~当然,也存在一些简单的方法,比如使用少量的数据训练的模型去预测未标注的数据,得到伪标签然后加入训练集继续训练。。。(在分类任务中比较常用)

本博客就分享一偏使用半监督学习来使影像分割到达更好的效果的论文。思路比较有趣,值得学习~

先搞一下要点:

  1. 半监督学习
  2. 影像分割
  3. 正则化loss
  4. 三个医疗影像数据集:skin lesion ISIC 2017 dataset,optic disc REFUGE dataset,liver LiTS dataset

先了解一下一个有意思的事情:

Transformation equivariant representation

在不管是分类还是分割中,我们通常会需要数据增强来防止过拟合,并且提高精度。但是数据在进行增强时,比如图像顺时针旋转90度,而网络的参数是不会旋转的,其中的feature map也不一定与直接将不旋转的图像数据得到的feature map顺时针旋转90度一样,等价。但是他们的输入的确相同的,不过是其中一个多了90度的扰动。
注意: 在图像分割的任务中,默认是transformation equivariant!!
上面这个概念可以很好的由下面的图解释:
【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第2张图片
什么叫transformation equivariant,即上图a所示,但是在卷积中这并不是等价的,所以目前有很多在卷积中做转换等价的研究,包括同时旋转滤波器或者是特征图。
本论文利用了这个不等价的特性,加入了正则化平方差loss,这个后面再谈。

训练流程

【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第3张图片

通过上图简单明了,输入经过两个部分,一部分使用 π i \pi_i πi代表数据增强扰动, i i i为样本index。每次的训练过程, π i \pi_i πi保持不变,不同的样本不同的训练过程 π i \pi_i πi发生变化,可使用非常多的种类的数据增强。
样本的真实标注 y i y_i yi在每一次的训练过程都要在 π i \pi_i πi下进行变换,得到 y ~ i \widetilde y_i y i,在计算loss时,使用 y ~ i \widetilde y_i y i
每次的训练都要进行实时的预测。得到样本的预测mask。

x i x_i xi直接经过网络的得到mask,对mask进行此次训练的扰动 π i \pi_i πi得到 z i z_i zi z i z_i zi y ~ i \widetilde y_i y i计算交叉熵loss。
x i x_i xi经过扰动 π i \pi_i πi之后得到的输入 x ~ i \widetilde x_i x i经过网络得到输出 z ~ i \widetilde z_i z i z ~ i \widetilde z_i z i z i z_i zi计算平方loss。

过程简单易见。

半监督学习

此处的半监督学习就是利用了上面loss流程中的mean square loss,这个loss的计算是不需要真正的gt或者是加扰动的gt来参与的,只要网络能够预测就可以。
此处的mean square error是作为loss中的正则化项的,为什么是正则,还有待讨论。
假设一共有 N N N个输入,其中 M M M个输入是没有标签的,那么 N − M N-M NM个数据有标注。定义一下,有标注的集合 L L L和未标注的集合 U U U
L = { ( x i , y i ) } i = 1 M L = \{(x_i, y_i)\}_{i=1}^M L={(xiyi)}i=1M
U = { x i } i = M + 1 N U=\{x_i\}_{i=M+1}^N U={xi}i=M+1N
loss的形式:
min ⁡ θ ∑ i = 1 M l ( f ( x i ; θ ) , y i ) + λ R ( θ , L , U ) \min \limits_\theta\sum_{i=1}^Ml(f(x_i;\theta),y_i) + \lambda R(\theta, L, U) θmini=1Ml(f(xi;θ),yi)+λR(θ,L,U)
无标签的数据只是在 λ R ( θ , L , U ) \lambda R(\theta, L, U) λR(θ,L,U)正则化的部分有效。
整体算法流程:
【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第4张图片

实验结果

不用说,论文上的肯定不错。
【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第5张图片
三个不同的数据集:
【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第6张图片

目前此训练流程还未尝试。。。

二 Semi-supervised Learning for Network-Based Cardiac MR Image Segmentation

前言

跟分类的方法很类似呀,说白了就是一句话,用标注的数据训练模型去预测未标注的数据,然后把模型标注的数据加到训练数据中,循环。。。训练模型预测的未标注数据的标签,术语为伪标注!

流程整理如下

现在有已经标注的数据, S L = { X L , Y L } S_L = \{X_L, Y_L\} SL={XLYL},未标注的数据, S U = { X U , Y U } S_U= \{X_U, Y_U\} SU={XUYU}
监督学习阶段:
【论文阅读】医疗影像分割中的半监督学习Semi-supervised_第7张图片
半监督学习阶段:
在这里插入图片描述
注意,此时的U标注是上一个模型预测的结果。
假设网络参数为 Θ \Theta Θ,伪标注 Y U Y_U YU,两者交替进行更新:

  1. Θ ^ \hat \Theta Θ^固定预测 Y U Y_U YU
  2. Y ^ U \hat Y_U Y^U固定更新 Θ \Theta Θ

https://github.com/baiwenjia/CIMAS.

你可能感兴趣的:(深度学习笔记)