【最新综述】医学图像分割深度半监督学习(上)

摘要:

        最近,深度学习在各种计算机视觉任务中展现出了巨大的前景。然而,在许多实际应用中,没有大规模的标记数据集,这限制了深度学习的应用。为了解决这个问题,半监督学习引起了计算机视觉界的广泛关注,尤其是在医学图像分析领域。本文分析了现有的深度半监督医学图像分割研究,并将其分为五大类(即伪标记、一致性正则化、基于 GAN 的方法、基于对比学习的方法和混合方法)。随后,我们通过在两个常见数据集上进行实验,对几种具有代表性的方法进行了实证分析。此外,我们还指出了未来几个有前景的研究方向。总之,本文全面介绍了深度半监督医学图像分割,旨在为该领域的研究人员提供方法参考和比较。 

Problem overviews

Problem definition

        半监督学习的主要目标是通过利用大量未标记数据来提高监督学习的性能(Zhu,2005 年)。为便于解释,将对术语进行定义。通常,在半监督学习设置中,假定数据集 D 由两部分组成:已标记样本集 DL = (Xi, Yi)L i=1 和未标记样本集 DU = (Xi)L+N i=L+1。其中,X、Y、L 和 N 分别表示训练图像、相应的像素级标签、已标注样本数和未标注样本数。半监督分割任务的优化目标如下:

其中,LS、LU 和 R 分别为有监督损失、无监督损失和正则化项。α 和 β 表示平衡后两项的系数,f 和 θ 是模型及其参数。W 和 H 分别代表图像的宽度和高度。为简化表达式,像素位置(a,b)忽略不计。对于半监督学习,很难在无监督损失项和正则化项之间划出明确的界限。

Assumption theories 

        半监督学习通过利用未标记的样本来提高监督学习的性能。然而,当模型不满足某些假设时,这些未标记的数据可能会导致模型做出错误的推理。在此,我们将介绍半监督学习的三个假设。

平滑假设:如果高密度区域的两个点 x1、x2 相距很近,那么相应的输出结果 y1、y2 也应如此(Chapelle 等人,2009 年)。这一假设的意思是,如果两个点通过高密度路径相连,那么它们的输出也是相似的。相反,如果两个点位于低密度区域,那么它们的输出就会不同。

聚类假设:如果点在同一个聚类中,它们很可能属于同一类别(Chapelle 等人,2009 年)。这一假设并不意味着每个类别都形成一个独立、紧凑的聚类,而是指我们通常不会在同一个聚类中观察到两个不同类别的对象(Chapelle 等人,2009 年)。根据这一假设,决策边界不应跨越高密度区域,而应位于低密度区域(Agarwal, Har-Peled, & Roth, 2005)。为此,许多方法(如熵最小化 Grandvalet & Bengio, 2004;半监督支持向量机 Zemmal, Azizi, Dey, & Sellami, 2016;密度估算 Graffeuille, Koh, Wicker, & Lehmann, 2022;Wang, Zhang, Yu and Xiao, 2023 等)都强制要求决策边界位于低密度区域,以获得更好的性能,这相当于低密度分离假设。

低密度分离假设:决策边界应位于低密度区域(Chapelle 等人,2009 年)。如果决策边界位于高密度区域,则会将一个聚类切割成两个不同的类别,导致不同的类别属于同一个聚类,这就违反了聚类假设。

Methods

        本节结合半监督损失函数和模型设计的最大特点,将深度半监督医学图像分割方法分为五个部分,即伪标记方法、一致性正则化方法、基于 GAN 的方法、基于对比学习的方法和混合方法。针对每种方法,我们首先介绍了基本原理和损失函数的一般形式,然后介绍了每种方法的改进之处。最后,从优缺点和可能的发展方向等角度进行了总结。

Pseudo-labeling

        伪标签法是一种广泛使用的半监督学习方法,易于实施(Triguero, García, & Herrera, 2015)。它首先在已标记的集合上训练一个模型,然后为未标记的样本分配最大置信度的伪标签。带有伪标签的样本可以扩展标注数据集,提高模型性能。自我训练和联合训练是典型的伪标签方法。

Self-training

        自训练算法被视为伪标记方法的基本原型(Radosavovic, Dollár, Girshick, Gkioxari, & He, 2018),它在已标记数据集上预训练一个模型,并通过预测未标记数据迭代地重新训练或微调模型本身。损失函数可表示如下:

        Fan等人(2020)引入了通过自我训练生成的伪标签来扩展标注数据集,但并未对其质量进行优化。如何提高伪标签的质量是自训练算法的核心。一些研究尝试选择和优化伪标签,我们在表 2 中进行了总结。与上述方法不同的是,Lyu 等人(2022 年)合成了新的图像来匹配这些伪标签,而不是完善它们。虽然自训练算法简单易行,但当初始伪标签包含大量噪声时,会对网络训练产生负面影响。此外,在没有标注数据的情况下,使用无监督技术进行自我训练也是一个不错的选择(Zhang 等人,2018)。 

Co-training 

        使用单一模型进行自我训练时,伪标签的质量通常会有很大差异。因此,结合多个模型生成更稳健的伪标签非常重要。作为一种典型的多视图训练方法,协同训练算法要求数据集中的每个数据都有两个或两个以上不同但互补的视图,每个视图都足以训练出一个良好的模型(Kumar & Daumé,2011 年)。每次迭代后,如果当前模型输出的预测结果可信,且概率高于预设阈值,则将未标记的数据添加到另一个模型的训练集中。简而言之,一个模型为其他模型的输入提供标签。损失函数可以表示为:

        为了创造更多的观点,Peng、Estrada、Pedersoli 和 Desrosiers(2020)提出了一种基于对抗学习的深度协同训练方法,利用对抗样本来增加不同模型之间的多样性。Zhou、Wang等人(2019)采用协同训练法学习了一种深度模型,该模型可以从多个平面挖掘共识信息.虽然这种融合方法可以生成更可靠的伪标签,但训练多个子网络会进一步增加计算开销和不可解释性。Xia 等人(2020)进一步设计了不确定性感知的多视图协同训练框架(UMCT),利用三维数据的多视图一致性,并使用贝叶斯深度学习来估计每个视图预测的可靠性。Wang 和 Li(2023 年)设计了一种双偏差异构协同训练框架来解决类不平衡问题。此外,联合训练还引入了一种自定步调的学习策略(Wang、Peng 等人,2021 年),该策略允许基于广义 JSD 的联合训练网络首先关注更容易分割的区域。为了增加对半监督分割的解释,Miao、Chen、Liu、Wei 和 Heng(2023)从因果关系的角度提出了一种因果关系启发的方法,然后设计了一种通过最小最大优化过程对不可计算的算法独立性进行统计量化的方法。现有方法往往忽视了标注数据进一步提高模型性能的潜力。为此,我们设计了关联感知相互学习(CAML)框架(Gao, Zhang, Ma, Li, & Zhang, 2023),该框架基于相互学习策略,利用标记数据指导从无标记数据中提取信息。 

        虽然协同训练利用双视图或更多视图来获得更稳健的结果,但需要同时训练多个分割网络,这增加了计算工作量,并限制了可能的视图数量。在某些情况下,数据只有一个视图。通过添加噪声或其他数据增强方法(Qiao, Shen, Zhang, Wang, & Yuille, 2018)可以产生更多视图。值得注意的是,当引入多个网络进行协同训练时,如果多个模型的参数在训练过程中过早收敛,就会退化为一个模型,削弱协同训练的效果。

Summary

        自训练方法的核心是提高伪标签的质量。相比之下,协同训练依赖于数据的多个独立特征,因此会产生更准确、更稳健的结果(Sousa & Gama,2017)。联合训练模型通常具有相同的结构和不同的初始化方式。如果共同训练的网络共享相同的参数,可能会导致性能降低,因为它们各自的优化目标和梯度下降方向不同

Consistency regularization

        由于使用伪标签会增加训练不稳定性的风险,因此引入了一致性正则化项,以明确对假设的先验约束。一致性正则化基于平滑性假设,该假设描述了一类方法,并指出数据点的实际扰动不应改变模型的输出(Oliver, Odena, Raffel, Cubuk, & Goodfellow, 2018)。接下来,我们将从数据、模型和任务三个方面对其进行描述。

Data consistency

        由于数据和模型通常不易分开,本节主要讨论数据部分。一致性正则化通常会变换未标注的数据或添加随机扰动,以迫使模型产生更平滑的预测结果,也就是说,数据层面的一致性要求即使输入经过不同的变换或扰动,输出结果也应保持一致。对于某些变换,存在逆变换或近似逆变换。换句话说,当输入的无标记数据发生变换时,相应的逆变换或近似逆变换就会应用到网络的输出上。而随机扰动通常会添加随机噪声。

        Horlava 等人(2020)采用强增强(RandAugment Cubuk, Zoph, Shlens, & Le, 2020)和弱增强(基本几何变换)来处理未标记数据。通过调整结果,可以增强正则化效果。Xu 等人(2021 年)设计了两种扩展机制(Shadow-AUG 和 Shadow-DROP)。前者通过在输入超声图像中添加模拟阴影伪影来丰富训练样本,使网络对潜在的阴影伪影具有鲁棒性。而后者的重点是剔除操作(Kendall & Gal,2017),前列腺边界是通过使用相邻的无阴影像素的分割网络推断出来的。此外,混合法(Liu、Xiao、Jiang 和 He,2022 年)混合了有标记和无标记的数据,使模型难以记住训练数据,从而能更好地泛化到未知数据。此外,Qiao 等人(2022 年)设计了一种不可靠稀释一致性训练机制,通过将可靠的标注数据整合到不可靠的非标注数据中来稀释不可靠度。此外,一些工作还进行了一致性数据转换,如补丁-洗牌数据转换(李、彭和徐,2023 年)、剪贴增强(Yap 和 Ng,2023 年)、复制-粘贴(Bai、Chen、Li、Shen 和 Wang,2023 年)。上述方法都提倡配对图像(同一图像的两个增强版本),而很少关注非配对图像(来自不同患者的图像)。为此,Chen、Zhang、Debattista 和 Han(2022 年)扩展了现有的一致性正则化方法,以保持非配对图像之间的一致性。

        虽然数据一致性利用了数据的丰富信息,但它在很大程度上依赖于分布假设,即未标记数据的预测是正确的,并且与已标记数据的标签一致。在现实中,由于未标注数据可能包含噪声、错误标注或不确定性,因此这一假设并不总是成立的。

Model consistency

        增加模型多样性是一致性正则化的另一个方向。一般来说,模型一致性要求同一图像输入到不同的模型中,得到的输出应该是一致的。人们设计了一些特定的一致性模型,如Π模型(Sajjadi, Javanmardi, & Tasdizen, 2016)、时序集合(Temporal Ensembling, Laine & Aila, 2016)和平均教师(Mean Teacher, Tarvainen & Valpola, 2017)。根据模型的数量,这些模型主要分为单模型、双模型和双解码器模型,如图 2 所示。

单一模型:单一模型与变换或随机扰动相结合,以实现一致性,如图 2(a) 所示。损失函数可表示为 :

Peng、Pedersoli 和 Desrosiers(2020)利用未标记图像的分割输出与其转换输出之间的 KL 一致性,扩展了互信息正则化。Cao 等人(2020)提出了一种用于乳腺肿块分割的时域集合分割模型。注意到不同尺度下网络输出的不一致性也可视为一种扰动。例如,Uncertainty Rectified Pyramid Consistency(URPC)(Luo 等人,2022 年)利用金字塔一致性测量不同尺度输出的不确定性,以获得更准确、更稳健的分割结果。 

双模型:Mean Teacher(Tarvainen & Valpola,2017 年)首先用于半监督图像分类,它在训练过程中采用指数移动平均(EMA)来平均模型的权重。它倾向于生成更精确的模型,而不是直接使用输出预测。双模型如图 2(b) 所示,优化目标函数如下:

为了提高教师模型输出结果的质量,在平均教师框架中集成了不确定性方法(Chang, Yan, Lou, Axel, & Metaxas, 2020; Hang et al., 2020; Li, Yu et al., 2020; Lu, Yin, Fu, & Yang, 2023; Wang et al., 2020; Yu, Wang, Li, Fu, & Heng, 2019),通常包括两种扰动方案:数据转换(如旋转、缩放等)和网络剔除操作。此外,还有一些著作引入了重构一致性(Chen,Zhou,Wang and Xiao,2022)、多尺度一致性(Wang,Wang et al.,2022)、先验解剖(Chen et al.,2023)、切片间一致性(Zeng et al.,2023)来提高师生模型的一致性。然而,"平均教师 "有一个缺点,即通过 EMA 更新参数,导致教师模型和学生模型紧密耦合(Ke, Wang, Yan, Ren, & Lau, 2019)。此外,Huang、Chen、Chen、Lu 和 Zou(2023 年)鼓励主模型从两个辅助模型中学习一致性。 

双解码器模式:双解码器模型由一个共享编码器和两个略有不同的解码器组成。如图 2(c) 所示,两个解码器通常具有相同的结构和不同的初始化,损失函数如下: 

代表作(Fang & Li,2020;Wu,Ge et al.,2022;Wu,Xu,Ge,Cai and Zhang,2021)采用双解码器或多解码器,产生多个不同的输出。每个解码器可以在另一个解码器的监督下学习(Fang 和 Li,2020 年),或最小化两个或多个解码器之间的统计差异,以减少模型的不确定性(Wu,Ge 等,2022 年;Wu,Xu 等,2021 年),这与交叉伪监督(CPS)模型的主要思想相似(Chen,Yuan,Zeng,& Wang,2021 年)。此外,为了缓解认知偏差,相互校正框架(MCF)(王晓、毕、李和高,2023)引入了两个不同的子模型,探索并利用子模型之间的差异来校正模型的认知偏差。

Task consistency 

        上述工作只考虑了不同扰动和变换下输入的一致性,忽略了不同任务之间的一致性。由于原始数据包含更多信息,因此可以设计多任务或其他辅助任务进行半监督学习。最近,Zamir 等人(2020)在推理路径不变性的基础上利用了跨任务一致性,表明研究任务一致性非常有利。图 3 显示了任务级一致性正则化的过程。损失函数可总结如下。

        Kervadec、Dolz、Granger 和 Ben Ayed(2019 年)、Luo 等人(2021 年)和 Wang、Zhan 等人(2022 年)介绍了回归任务,这不仅对分割网络进行了正则化,还迫使未标注数据预测与推断的标签分布相匹配。Zhang、Liu、Yu 和 Li(2021 年)设计了一个具有分割和病变区域修复功能的双任务网络,其中未标记的数据由掩蔽病变区域的修复损失引导。Lyu、Sui、Wang、Dou 和 Qin(2023)利用重建任务从图像中捕捉解剖信息并改进分割任务。Chen、Sun、Wei、Wu 和 Ming(2022 年)设计了一种特定类别知识提取策略,从已标记图像到未标记图像的上下文和结构亲和特征中转移特定类别知识。上述方法虽然可以借助辅助任务提高网络性能,但也存在计算开销大、超参数调整困难等问题。

Summary 

        数据一致性在很大程度上依赖于数据假设,如果数据维度过高,扰动效果无疑会很低(Verma 等,2022 年)。此外,这种方法通常不利于不同模型之间的知识交流,导致每个模型都容易过度拟合(Feng 等人,2022 年)。对于网络扰动,即使用丢弃操作来获取不确定性的模型(Wang 等,2020),由于每次迭代需要多次前向传播来获取不确定性,计算成本较高。Aralikatti、Pawan 和 Rajan(2023 年)将数据级扰动和网络级扰动集合起来,在模型预训练阶段集成数据级扰动,然后在微调阶段集成模型级扰动。

        在模型一致性方面,由于单网络的参数更新方式相对简单以及串行训练的不稳定性,通常无法获得有竞争力的结果,而双模型通常不会遇到这个问题。双解码器模型既能保持模型多样性,又能节省 GPU 内存。此外,对于平均值教师及其变体,通常会在训练数据中添加各种扰动。控制变化强度至关重要。如果变化太弱,可能会出现 "懒学生 "现象(Huo 等,2021 年),从而给学习模型带来较大的波动。相反,较大的图像扰动可能会拉大师生之间的成绩差距,学生可能会失去学习动力,影响分割成绩。

        与多任务学习不同,分割任务的样本通常只有掩码标签。在这种情况下,可以将分割掩码转换成带符号的距离域(SDF)或带符号的距离图(SDM),作为回归标签来构建回归任务。但其局限性在于,SDM(SDF)图只能描述每个体素到对象边缘的距离。当存在多个类目标时,背景中的体素的距离定义将是模糊的,因此 SDM(SDF)并不适合这种情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树的前中后序遍历(递归法、迭代法)leetcode144、94/145

leetcode144、二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root [] 输出:[] 示例 3: 输…

CesiumJS【Basic】- #057 绘制纹理填充多边形(Primitive方式)

文章目录 绘制纹理填充多边形(Primitive方式)1 目标2 代码2.1 main.ts绘制纹理填充多边形(Primitive方式) 1 目标 使用Primitive方式绘制绘制纹理填充多边形 2 代码 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesium.Viewer

测试Andrew NG的语言翻译Agent

我正在测试 Andrew Ng 的语言翻译 A​​I 代理系统及其在逆变换下的稳定性。 给定源语言的文本,我们应用翻译函数 f,然后应用 f 的逆。它应该是不变的: 但是,数学与语言翻译有什么关系? 在完美的系统中,从…

springboot异常产生原因

DataIntegrityViolationException Cause: java.sql.SQLException: Field ‘id’ doesn’t have a default value org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field id doesnt have a default …

[译]全栈Redux实战

本文乱译自一篇英文博文(Full-Stack Redux Tutorial),本人英语能力不足,技术能力有限,如有错误,多多包涵。 #关于ReduxReactImmutable的测试先行开发综合指南 Redux是最近发生在js界令人兴奋的事儿。它把…

提升Unity WebGL游戏启动速度

一、查看启动耗时 通过修改unity-namespace.js中hideTimeLogModal为false,显示timelog开发者可以看到小游戏目前的启动首屏时长: 将其设置为false后,启动小程序后就会显示启动耗时 要知道各个阶段的含义,我们必要理解启动流程。 …

springboot 整合 mybatis-plus

一.前言 1. mybatis-plus是什么 mybatis-plus是一个对mybati框架的拓展框架,它在mybatis框架基础上做了许多的增强,帮助我们快速的进行代码开发。目前企业开发中,使用mybati的项目基本会选择使用mybatis-plus来提升开发效率。 2.官网地址&…

LT8668SXC 、LT8668SX-D 、LT8668SX三种芯片的相似与不同

一、LT8668SXC(支持eDP输出) 定义:LT8668SXC配置在HDMI2.1标准下工作,最大数据速率为8Gbps。 LT8668SXC还可以配置为在Type-C输入或DP1.4a下工作,数据速率高达8.1Gbps。 eDP1.4b输出由8个数据通道组成,支持RBR (1.62Gbps)、HBR (2…

比较多种msvcr110.dll丢失的解决方法,哪一种更加方便?

当遇到“msvcr110.dll丢失”这种问题时,这通常意味着你的系统中缺少了Microsoft Visual C 2012 Redistributable的组件。下面我将详细介绍五种解决方法,并对比它们的优点。 一.多种msvcr110.dll丢失的解决方法 方法 1: 重新安装Microsoft Visual C 2012…

Redis持久化的三种方式(RDB、AOF和混合)

Redis持久化的三种方式(RDB、AOF和混合) 目录 Redis持久化的三种方式(RDB、AOF和混合)介绍RDB示例1.配置文件2.触发 RDB 快照保存3.验证 AOF示例1.配置文件2.校验 混合型持久化存储配置文件 介绍 Redis数据主要存储与内存中,因此如果服务器意外重启、宕机、崩溃&am…

乘积最大子数组

代码实现&#xff1a; 方法一&#xff1a;暴力法 方法二&#xff1a;动态规划 int maxProduct(int *nums, int numsSize) {long imax nums[0], imin nums[0], res nums[0];for (int i 1; i < numsSize; i) {if (nums[i] < 0) {int temp imax;imax imin;imin temp;…

学会python——用python编写一个电子时钟(python实例十七)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.电子时钟程序 3.1 代码构思 3.2代码实例 3.3运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性…

今天的A股,让人惊愕了,2个耐人寻味的重要信号,有望迎来下一个超级风口!

今天的A股&#xff0c;让人惊愕了&#xff0c;你知道是为什么吗&#xff1f;盘面上出现2个耐人寻味的重要信号&#xff0c;有望迎来下一个超级风口&#xff01; 1、今天两市低开低走&#xff0c;但大消费劲头十足&#xff0c;连中免这样的大体量都涨停了&#xff0c;另外消费茅…

爬虫-网页基础

HTML 基本语法 HTML&#xff1a;Hyper Text Markup Language, 超文本标记语言&#xff0c;是计算机语言的一种&#xff0c;由元素构成。 p元素 <p>Web 真好玩&#xff01;</p> 由三大部分组成 开始标签&#xff1a;一对尖括号中间包裹这元素名称元素内容&#x…

SaaS运营:如何根据“客户漏斗”定制合作伙伴营销策略?

将你的合作伙伴营销策略与你的客户漏斗模型相结合&#xff0c;可以显著提升你的营销效果。通过瞄准客户旅程中的每一个阶段&#xff0c;你可以增加客户参与度并推动转化&#xff0c;从而将你的促销活动提升到新的高度——这仅仅是一个以数据为支撑的方法。 为了探讨如何在漏斗…

数据结构 - C/C++ - 树

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 树的概念 结构特性 树的样式 树的存储 树的遍历 节点增删 二叉搜索树 平衡二叉树 树的概念 二叉树是树形结构&#xff0c;是一种非线性结构。 非线性结构&#xff1a;在二叉树中&#x…

LLM应用:传统NLP任务

LLM出来以后&#xff0c;知乎上就出现了“传统NLP已死”的言论&#xff0c;但是传统NLP真的就被扔进历史的垃圾桶了吗&#xff1f; 其实&#xff0c;尽管LLM具有出色的通用能力&#xff0c;但仍然无法有效应对低资源领域的自然语言处理任务&#xff0c;如小语种翻译。为了更好地…

golang——Gin框架及路由介绍

一. 框架介绍 Gin是一个轻量级的Go语言Web框架&#xff0c;它具有高性能和简洁的设计。由于其快速的路由匹配和处理性能&#xff0c;Gin成为Go语言中最受欢迎的Web框架之一。 特点&#xff1a; 快速和轻量&#xff1a;Gin框架的设计注重性能和效率&#xff0c;采用了一些优化措…

第二十一章 网络编程

​ 一、网络的相关概念 1. 网络通信 &#xff08;1&#xff09;网络通信&#xff1a;将 数据 通过网络从一台设备传输到另一台设备 &#xff08;2&#xff09;java.net 包下提供了一系列的类或接口&#xff0c;完成网络通信 2. 网络 概念&#xff1a;两台或多台设备通过一定…

轻松省电!教你苹果手机自动调节亮度怎么设置

在日常使用手机的过程中&#xff0c;屏幕亮度是影响电池续航的关键因素之一。苹果手机提供的自动调节亮度功能&#xff0c;可以根据环境光线自动调整屏幕亮度&#xff0c;从而提供最佳的视觉体验并有效延长电池使用时间。想知道苹果手机自动调节亮度怎么设置吗&#xff1f; 本…