用于医学图像数据集的对比学习方法及系统与流程

未命名 10-25 阅读:44 评论:0


1.本发明涉及医学图像处理的技术领域,具体而言,涉及一种用于医学图像数据集的对比学习方法及系统。


背景技术:

2.近年来,随着transformer在计算机视觉(computer vision,cv)领域的成功,深度学习在cv领域发展迅速。相比传统的数字图像处理方法,深度学习方法在复杂的图像问题的处理上有着巨大优势,使得其在医学图像处理方面也有很多应用。
3.但是,目前大多数应用在医学图像的深度学习方法仍基于有监督学习,这意味着训练这些模型需要大规模且有完备标签的数据。然而在实际问题中,医学图像数据集的规模往往较小,且较难有完备的标签。具体地说,相比自然图像,一方面医学图像的数量稀少,这是由于医学图像的拍摄成本高、拍摄过程复杂、以及样本数量少,因此对于网络训练来说,每一张医学图像都是及其宝贵的。另一方面给医学图像打标签的成本很高,这是由于医学图像需要专业的医生进行标注,并且医学图像的内容又较为复杂,需要耗费较多的时间和精力,尤其是分割任务需要的像素级标签。综上所述,由于医学图像本身是宝贵的,并且打标签的成本又很高,这就需要更优秀的算法能够充分利用那些即便是没有标签的医学图像,显然地,相较于有监督学习方法,不需要标签的无监督学习方法更能解决这类问题。
4.对比学习(contrastive learning,cl)作为一种无监督学习方法,在近些年的发展迅速,由于其训练不需要人工标签,因此适合解决无标签数据的训练问题。然而对比学习网络一般需要在大规模的数据集上进行训练,直接使用小规模医学图像数据集去训练对比学习网络往往效果不佳。因此适用于处理无标签数据的对比学习方法,却因受限于数据集大小,而无法在小规模医学数据集上得到有效应用。
5.小规模数据集无法训练好对比学习网络,主要有以下两方面原因:一方面,作为一种无监督学习方法,对比学习不需要有监督学习中必须的标签,因此想要达到同等或更好的效果,对数据集大小的要求是比较苛刻的。在以往的研究中常用的自然图像数据集是imagenet、coco,甚至比它们更大的数据集。然而医学图像数据集规模远远达不到自然图像数据集的大小。相对较大的医学图像数据集也只有几千例左右,远少于自然图像数据集动则上百万例的规模;另一方面,随着transformer的成功,许多对比学习方法开始尝试把骨干网络由卷积神经网络(convolutional neural networks,cnns)修改为基于transformer的网络。由于cnns最开始就是针对图像处理问题设计,包含许多适用于图像领域的归纳偏置,比如局部性(locality)和平移等变性(translation equivariance)。而transformer最开始应用在自然语言处理领域,虽然比cnns有全局建模的优势,但是缺少针对图像的归纳偏置,因此需要用大量数据进行训练来弥补这一不足,这使得基于transformer的网络对于数据集规模要求更加苛刻。


技术实现要素:

6.本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
7.为此,本发明的第一目的在于提出一种用于医学图像数据集的对比学习方法。
8.本发明的第二目的在于提出一种用于医学图像数据集的对比学习系统。
9.本发明的第三目的在于提出一种计算机装置。
10.本发明的第四目的在于提出一种计算机可读存储介质。
11.为了实现上述目的,本发明的第一方面的技术方案,提供了一种用于医学图像数据集的对比学习方法,基于对比学习网络,所述对比学习网络包括基编码器和动量编码器,所述基编码器包括骨干网络、投影层和预测层,以及所述动量编码器包括骨干网络和投影层,该对比学习方法包括:获取医学图像数据集,其中,所述医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,所述下游任务数据集为有标签的医学图像数据集,以及所述下游任务数据集包括:下游任务训练集;搭建以swin transformer为骨干网络的对比学习网络;将所述swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为所述对比学习网络的预训练模型;基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络;输出对比学习模型,并将所述对比学习模型作为下游任务网络的预训练模型;基于所述下游任务训练集和所述下游任务网络的预训练模型训练下游任务网络;输出下游任务模型。
12.优选地,所述下游任务数据集还包括:下游任务测试集;所述对比学习方法还包括:使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。
13.优选地,所述基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络的步骤,具体包括:设置所述基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;将所述对比学习网络的预训练模型作为所述基编码器和动量编码器中的骨干网络的初始化权重;定义不同的数据增强方式;根据所述不同的数据增强方式分别对所述对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;将所述若干组正样本对分别输入所述基编码器和动量编码器,以使得所述基编码器中的预测层的输出去拟合所述动量编码器中的投影层的输出。
14.优选地,所述设置所述基编码器和动量编码器不同的参数更新方式的步骤,具体包括:
15.设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:
16.m
t
=m
·mt-1
+(1-m)
·bt
17.式中,mt为更新后的动量编码器的参数,m
t-1为更新前的动量编码器的参数,bt为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。
[0018]
本发明的第二方面的技术方案,还提供了一种用于医学图像数据集的对比学习系统,基于对比学习网络,所述对比学习网络包括基编码器和动量编码器,所述基编码器包括骨干网络、投影层和预测层,以及所述动量编码器包括骨干网络和投影层,该对比学习系统
包括:获取模块,用于获取医学图像数据集,其中,所述医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,所述下游任务数据集为有标签的医学图像数据集,以及所述下游任务数据集包括:下游任务训练集;对比学习网络搭建模块,用于搭建以swin transformer为骨干网络的对比学习网络;有监督预训练模块,用于将所述swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为所述对比学习网络的预训练模型;对比学习网络训练模块,用于基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络;对比学习模型输出模块,用于输出对比学习模型,并将所述对比学习模型作为下游任务网络的预训练模型;下游任务网络训练模块,基于所述下游任务训练集和所述下游任务网络的预训练模型训练下游任务网络;下游任务模型输出模块,用于输出下游任务模型。
[0019]
优选地,所述下游任务数据集还包括:下游任务测试集;所述对比学习系统还包括:效果评估模块,用于使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;所述效果评估模块,还用于将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。
[0020]
优选地,所述对比学习网络训练模块,具体包括:参数更新模块,用于设置所述基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;权重初始化模块,用于将所述对比学习网络的预训练模型作为所述基编码器和动量编码器中的骨干网络的初始化权重;数据增强模块,用于定义不同的数据增强方式;所述数据增强模块,还用于根据所述不同的数据增强方式分别对所述对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;拟合模块,用于将所述若干组正样本对分别输入所述基编码器和动量编码器,以使得所述基编码器中的预测层的输出去拟合所述动量编码器中的投影层的输出。
[0021]
优选地,所述参数更新模块,具体用于:设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:
[0022]mt
=m
·mt-1
+(1-m)
·bt
[0023]
式中,m
t
为更新后的动量编码器的参数,m
t-1
为更新前的动量编码器的参数,b
t
为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。
[0024]
本发明的第三方面的技术方案,还提供了一种计算机装置,该计算机装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一技术方案中的用于医学图像数据集的对比学习方法的步骤。
[0025]
本发明的第四方面的技术方案,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一技术方案中的用于医学图像数据集的对比学习方法的步骤。
[0026]
本发明的有益效果:
[0027]
(1)本发明提供的用于医学图像数据集的对比学习方法及系统,基于对比学习网
络,该对比学习网络是以swin transformer为骨干网络,相比计算机视觉(computer vision,cv)领域惯用的vit网络,swin transformer使用了与卷积神经网络(convolutional neural networks,cnns)相似的分层网络结构设计,从而引入了部分cnns拥有的归纳偏置,使得本发明的对比学习网络在面对小规模的医学图像数据集时更友好。
[0028]
(2)本发明提供的用于医学图像数据集的对比学习方法及系统,基于对比学习网络,该对比学习网络的基编码器和动量编码器中的骨干网络后都使用了多层感知机(multilayer perceptron,mlp)组成的投影层,加入该投影层会使网络学习到的特征得到进一步的改善,从而使下游任务网络的迁移学习效果变得更好。在基编码器的最后,加入一个mlp构成的预测层,要求该预测层的输出尽可能接近动量编码器中投影层的输出,将对比学习网络常用的匹配任务变成预测任务,从而实现去掉了负样本的约束的技术效果,而传统的使用个体判别匹配任务的对比学习网络需要负样本的约束来达到避免训练坍塌的目的。由于对比学习可以看作是字典查询任务,如果想要好的训练效果,就要求负样本特征构成一个大规模且一致性较强的字典,这对数据集的规模要求较为苛刻。因此本发明搭建的基于预测任务的对比学习网络,更适用于训练小规模的医学图像数据集。
[0029]
(3)本发明提供的用于医学图像数据集的对比学习方法及系统,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为该对比学习网络的预训练模型,再使用对比学习数据集训练该对比学习网络,即使用迁移学习方法训练该对比学习网络。具体地,由于在自然图像数据集imagenet上进行有监督学习得到的有监督模型包含很多学习到的先验知识,将得到的有监督模型用作对比学习网络的预训练模型,可以进一步地补足transformer在图像方面上欠缺的归纳偏置,从而实现了该对比方法在小规模的医学图像数据集上也能取得良好的训练效果,获得更好的对比学习结果。
[0030]
(4)本发明提供的用于医学图像数据集的对比学习方法及系统,将训练该对比学习网络得到的对比学习模型作为下游任务网络的迁移学习使用的预训练模型,与直接使用有监督模型作为下游任务迁移学习预训练模型的方法相比,能够大幅度提升下游任务网络训练的精度。
[0031]
本发明的附加方面和优点将在下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0032]
图1示出了本发明的一个实施例的用于医学图像数据集的对比学习方法的示意流程图;
[0033]
图2示出了本发明的一个实施例的对比学习网络的示意结构图;
[0034]
图3示出了本发明的一个实施例的骨干网络的示意结构图;
[0035]
图4示出了本发明的一个实施例的用于医学图像数据集的对比学习系统的示意框图;
[0036]
图5示出了本发明的一个实施例的计算机装置的示意框图。
[0037]
图6示出了本发明的一个实施例的下游任务数据集的部分示例图像。
[0038]
图7示出了本发明的一个实施例的对比学习数据集的部分示例图像。
具体实施方式
[0039]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互结合。
[0040]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
[0041]
图1示出了本发明的一个实施例的用于医学图像数据集的对比学习方法的示意流程图。其中,该对比学习方法基于对比学习网络。图2示出了本发明的一个实施例的对比学习网络的示意结构图。如图2所示,该对比学习网络包括基编码器和动量编码器,该基编码器包括骨干网络、投影层和预测层,以及该动量编码器包括骨干网络和投影层,如图1所示,一种用于医学图像数据集的对比学习方法,包括:
[0042]
步骤102,获取医学图像数据集;
[0043]
步骤104,搭建以swin transformer为骨干网络的对比学习网络;
[0044]
步骤106,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为对比学习网络的预训练模型;
[0045]
步骤108,基于对比学习数据集和对比学习网络的预训练模型训练对比学习网络;
[0046]
步骤110,输出对比学习模型,并将对比学习模型作为下游任务网络的预训练模型;
[0047]
步骤112,基于下游任务训练集和下游任务网络的预训练模型训练下游任务网络;
[0048]
步骤114,输出下游任务模型。
[0049]
其中,该医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,该下游任务数据集为有标签的医学图像数据集,以及该下游任务数据集包括:下游任务训练集。
[0050]
在本实施例中,因为训练对比学习网络的过程不依赖标签,所以对比学习数据集对其所包含的图像是否含有标签不作要求,对比学习数据集可以包含有标签和没有标签的图像;但是下游任务网络会进行有监督的迁移学习,所以下游任务数据集中只包含有标签的图像。
[0051]
本发明提供的用于医学图像数据集的对比学习方法,基于对比学习网络,通过获取医学图像数据集,并搭建以swin transformer为骨干网络的对比学习网络,该对比学习网络是以swin transformer为骨干网络,相比计算机视觉(computer vision,cv)领域惯用的vit网络,swin transformer使用了与卷积神经网络(convolutional neural networks,cnns)相似的分层网络结构设计,从而引入了部分cnns拥有的归纳偏置,使得本发明的对比学习网络在面对小规模的医学图像数据集时更友好。
[0052]
进一步地,本发明基编码器和动量编码器中的骨干网络后都使用了多层感知机(multilayer perceptron,mlp)组成的投影层,加入该投影层会使网络学习到的特征得到进一步的改善,从而使下游任务网络的迁移学习效果变得更好。在基编码器的最后,加入一个mlp构成的预测层,要求该预测层的输出尽可能接近动量编码器中投影层的输出,将对比学习网络常用的匹配任务变成预测任务,从而实现去掉了负样本的约束的技术效果,而传
统的使用个体判别匹配任务的对比学习网络需要负样本的约束来达到避免训练坍塌的目的。由于对比学习可以看作是字典查询任务,如果想要好的训练效果,就要求负样本特征构成一个大规模且一致性较强的字典,这对数据集的规模要求较为苛刻。因此本发明搭建的基于预测任务的对比学习网络,更适用于训练小规模的医学图像数据集。
[0053]
进一步地,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为该对比学习网络的预训练模型,再使用对比学习数据集训练该对比学习网络,即使用迁移学习方法训练该对比学习网络。具体地,由于在自然图像数据集imagenet上进行有监督学习得到的有监督模型包含很多学习到的先验知识,将得到的有监督模型用作对比学习网络的预训练模型,可以进一步地补足transformer在图像方面上欠缺的归纳偏置,从而实现了该对比方法在小规模的医学图像数据集上也能取得良好的训练效果,获得更好的对比学习结果。
[0054]
进一步地,将训练该对比学习网络得到的对比学习模型作为下游任务网络的迁移学习使用的预训练模型,再使用下游任务训练集训练下游任务网络,最后输出下游任务模型,与直接使用有监督模型作为下游任务迁移学习预训练模型的方法相比,能够大幅度提升下游任务网络训练的精度。其中,swin transformer作为一种知名度较高的开源算法,其在自然图像数据集imagenet上进行有监督学习得到的有监督模型很容易从网上下载得到。
[0055]
图3示出了本发明的一个实施例的骨干网络的示意结构图。如图3所示,本发明搭建的对比学习网络以swin transformer为骨干网络。在骨干网络部分,输入的图像首先经过图块分割层(patch partition layer)划分为大小相同的不重叠图块,再经过线性嵌入层(linear embedding layer)将图块编码为对应的特征张量。随后输入进一共四个阶段的swin transformer块中进行运算。在阶段2-4的swin transformer块之前,会经过一个图块融合层(patch merging layer)将特征图的长宽减半和通道加倍。
[0056]
在本发明的一个实施例中,所述下游任务数据集还包括:下游任务测试集;所述对比学习方法还包括:使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。
[0057]
在本实施例中,对训练下游任务网络输出的下游任务模型进行效果评估,以衡量对比学习模型实际的迁移效果,验证了即便是在小规模医学图像数据集上,使用本发明的对比学习方法训练得到的下游任务模型,会优于直接使用有监督模型进行迁移学习得到的下游任务模型,增加了本发明的对比学习方法的使用可靠性。具体实施例中,该下游任务数据集中的80%为下游任务训练集,该下游任务数据集中的20%为下游任务测试集。
[0058]
在本发明的一个实施例中,所述基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络的步骤,具体包括:设置所述基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;将所述对比学习网络的预训练模型作为所述基编码器和动量编码器中的骨干网络的初始化权重;定义不同的数据增强方式;根据所述不同的数据增强方式分别对所述对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;将所述若干组正样本对分别输入所述基编码器和动量编码器,以使得所述基编码器中的预测层的输出去拟合所述动量编码器中的投影层的输出。
[0059]
在本实施例中,通过设置基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器,以使得预测层的输出尽可能接近动量编码器中投影层的输出,再将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为对比学习骨干网络部分的初始化权重,再定义不同的数据增强方式,根据不同的数据增强方式分别对对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对。具体地,以一组正样本对为例,输入的图像会被以不同的方式进行数据增强,从而得到两张看起来不相同但是语义信息几乎相同的图像,这两张图像会构成一对正样本对,之后输入后续的网络中。这里的图像之所以是用不同的方式进行数据增强,是为了保证数据增强后的图像不同。不同的方式可以是不同的数据增强方法,或者是同样的数据增强方法但使用的参数不同。但在选取数据增强方法时,应尽量保证原始图像的语义信息几乎不发生更改;举例说明,比如原来的图像是一只猫,数据增强后的图像可以改变猫的朝向、猫的颜色、甚至是只截取猫的一部分,但是数据增强后的图像需要看起来还是一只猫,这就是所谓的语义信息几乎不发生更改。最后,将生成的若干组正样本对分别输入基编码器和动量编码器,以使得基编码器中的预测层的输出去拟合动量编码器中的投影层的输出。
[0060]
在本发明的一个实施例中,所述设置所述基编码器和动量编码器不同的参数更新方式的步骤,具体包括:设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:
[0061]mt
=m
·mt-1
+(1-m)
·bt
[0062]
式中,m
t
为更新后的动量编码器的参数,m
t-1
为更新前的动量编码器的参数,b
t
为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。
[0063]
在本实施例中,动量编码器的参数更新方式使用动量更新,即在训练过程中,基编码器的参数更新方式正常使用梯度回传更新,动量编码器不使用梯度回传更新,而是使用基编码器更新后的参数和动量编码器更新前的参数,经过动量因子加权后得到更新后的动量编码器参数。实际应用时,m一般设置得比较大,从而使动量编码器的更新速度远远慢于基编码器。具体实施例中,m可以为0.99。
[0064]
具体地,基编码器的参数更新方式采用正常使用梯度回传更新,动量编码器的参数更新方式不采用梯度回传更新,如图2所示的梯度阻断,该梯度阻断等同于不采用梯度回传更新,也就是本发明所说的动量更新。不采用梯度回传更新目的是为了让基编码器更好地去预测动量编码器的输出;假设基编码器和动量编码器都正常使用梯度更新,这时会引发一个后果。由于网络的目的是让基编码器预测动量编码器的输出,那么一个很简单的捷径解就是:不管输入的是什么,让两个编码器的输出全都是固定,比如全都输出0。这样看似网络完成了预测的任务,但是编码器却变成了无论输入是什么,输出都是0的无用输出。这样的灾难被我们称之为模型训练坍塌。所以为了防止此事发生,就必须让动量编码器的更新速度远远慢于基编码器,因此设置动量编码器的参数更新方式为动量更新,当动量非常大时,动量编码器的速度自然就会远远慢于基编码器,从而防止学习到显而易见的捷径解导致模型的训练坍塌。
[0065]
图4示出了本发明的一个实施例的用于医学图像数据集的对比学习系统的示意框
图。其中,该对比学习系统基于对比学习网络。如图2所示,该对比学习网络包括基编码器和动量编码器,该基编码器包括骨干网络、投影层和预测层,以及该动量编码器包括骨干网络和投影层,如图4所示,一种用于医学图像数据集的对比学习系统400,包括:
[0066]
获取模块402,用于获取医学图像数据集,其中,医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,下游任务数据集为有标签的医学图像数据集,以及下游任务数据集包括:下游任务训练集;
[0067]
对比学习网络搭建模块404,用于搭建以swin transformer为骨干网络的对比学习网络;
[0068]
有监督预训练模块406,用于将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为对比学习网络的预训练模型;
[0069]
对比学习网络训练模块408,用于基于对比学习数据集和对比学习网络的预训练模型训练对比学习网络;
[0070]
对比学习模型输出模块410,用于输出对比学习模型,并将对比学习模型作为下游任务网络的预训练模型;
[0071]
下游任务网络训练模块412,基于下游任务训练集和下游任务网络的预训练模型训练下游任务网络;
[0072]
下游任务模型输出模块414,用于输出下游任务模型。
[0073]
在本实施例中,因为训练对比学习网络的过程不依赖标签,所以对比学习数据集对其所包含的图像是否含有标签不作要求,对比学习数据集可以包含有标签和没有标签的图像;但是下游任务网络会进行有监督的迁移学习,所以下游任务数据集中只包含有标签的图像。
[0074]
本发明提供的一种用于医学图像数据集的对比学习系统400,基于对比学习网络,通过获取模块402,获取医学图像数据集,并通过对比学习网络搭建模块404,搭建以swin transformer为骨干网络的对比学习网络,该对比学习网络是以swin transformer为骨干网络,相比计算机视觉(computer vision,cv)领域惯用的vit网络,swin transformer使用了与卷积神经网络(convolutional neural networks,cnns)相似的分层网络结构设计,从而引入了部分cnns拥有的归纳偏置,使得本发明的对比学习网络在面对小规模的医学图像数据集时更友好。
[0075]
进一步地,本发明基编码器和动量编码器中的骨干网络后都使用了多层感知机(multilayer perceptron,mlp)组成的投影层,加入该投影层会使网络学习到的特征得到进一步的改善,从而使下游任务网络的迁移学习效果变得更好。在基编码器的最后,加入一个mlp构成的预测层,要求该预测层的输出尽可能接近动量编码器中投影层的输出,将对比学习网络常用的匹配任务变成预测任务,从而实现去掉了负样本的约束的技术效果,而传统的使用个体判别匹配任务的对比学习网络需要负样本的约束来达到避免训练坍塌的目的。由于对比学习可以看作是字典查询任务,如果想要好的训练效果,就要求负样本特征构成一个大规模且一致性较强的字典,这对数据集的规模要求较为苛刻。因此本发明搭建的基于预测任务的对比学习网络,更适用于训练小规模的医学图像数据集。
[0076]
进一步地,通过有监督预训练模块406,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为该对比学习网络的预训练模型,再通过
对比学习网络训练模块408,使用对比学习数据集训练该对比学习网络,即使用迁移学习方法训练该对比学习网络。具体地,由于在自然图像数据集imagenet上进行有监督学习得到的有监督模型包含很多学习到的先验知识,将得到的有监督模型用作对比学习网络的预训练模型,可以进一步地补足transformer在图像方面上欠缺的归纳偏置,从而实现了该对比方法在小规模的医学图像数据集上也能取得良好的训练效果,获得更好的对比学习结果。
[0077]
进一步地,通过对比学习模型输出模块410,将训练该对比学习网络得到的对比学习模型作为下游任务网络的迁移学习使用的预训练模型,再通过下游任务网络训练模块412,使用下游任务训练集训练下游任务网络,最后通过下游任务模型输出模块414,输出下游任务模型,与直接使用有监督模型作为下游任务迁移学习预训练模型的方法相比,能够大幅度提升下游任务网络训练的精度。其中,swin transformer作为一种知名度较高的开源算法,其在自然图像数据集imagenet上进行有监督学习得到的有监督模型很容易从网上下载得到。
[0078]
在本发明的一个实施例中,如图4所示,所述下游任务数据集还包括:下游任务测试集;所述一种用于医学图像数据集的对比学习系统400还包括:效果评估模块416,用于使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;所述效果评估模块416,还用于将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。
[0079]
在本实施例中,通过效果评估模块416,对训练下游任务网络输出的下游任务模型进行效果评估,以衡量对比学习模型实际的迁移效果,验证了即便是在小规模医学图像数据集上,使用本发明的对比学习方法训练得到的下游任务模型,会优于直接使用有监督模型进行迁移学习得到的下游任务模型,增加了本发明的对比学习方法的使用可靠性。具体实施例中,该下游任务数据集中的80%为下游任务训练集,该下游任务数据集中的20%为下游任务测试集。
[0080]
在本发明的一个实施例中,所述对比学习网络训练模块408,具体包括:参数更新模块4080,用于设置基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;权重初始化模块4082,用于将对比学习网络的预训练模型作为基编码器和动量编码器中的骨干网络的初始化权重;数据增强模块4084,用于定义不同的数据增强方式;数据增强模块4084,还用于根据所述不同的数据增强方式分别对对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;拟合模块4086,用于将若干组正样本对分别输入基编码器和动量编码器,以使得基编码器中的预测层的输出去拟合动量编码器中的投影层的输出。
[0081]
在本实施例中,通过设置基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器,以使得预测层的输出尽可能接近动量编码器中投影层的输出,再将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为对比学习骨干网络部分的初始化权重,再定义不同的数据增强方式,根据不同的数据增强方式分别对对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对。具体地,以一组正样本对为例,输入的图像会被以不同的方式进行数据增强,从而得到两张看起来不相同但是语义信息几乎相同的图像,这两张图像会构成一对正样本对,之后输入后续的网络中。这里的图像之所以是用不同的方式进行数据增强,是为了
保证数据增强后的图像不同。不同的方式可以是不同的数据增强方法,或者是同样的数据增强方法但使用的参数不同。但在选取数据增强方法时,应尽量保证原始图像的语义信息几乎不发生更改;举例说明,比如原来的图像是一只猫,数据增强后的图像可以改变猫的朝向、猫的颜色、甚至是只截取猫的一部分,但是数据增强后的图像需要看起来还是一只猫,这就是所谓的语义信息几乎不发生更改。最后,将生成的若干组正样本对分别输入基编码器和动量编码器,以使得基编码器中的预测层的输出去拟合动量编码器中的投影层的输出。
[0082]
在本发明的一个实施例中,所述参数更新模块4080,具体用于:设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:
[0083]mt
=m
·mt-1
+(1-m)
·bt
[0084]
式中,m
t
为更新后的动量编码器的参数,m
t-1
为更新前的动量编码器的参数,b
t
为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。
[0085]
在本实施例中,动量编码器的参数更新方式使用动量更新,即在训练过程中,基编码器的参数更新方式正常使用梯度回传更新,动量编码器不使用梯度回传更新,而是使用基编码器更新后的参数和动量编码器更新前的参数,经过动量因子加权后得到更新后的动量编码器参数。实际应用时,m一般设置得比较大,从而使动量编码器的更新速度远远慢于基编码器。具体实施例中,m可以为0.99。
[0086]
具体地,基编码器的参数更新方式采用正常使用梯度回传更新,动量编码器的参数更新方式不采用梯度回传更新,如图2所示的梯度阻断,该梯度阻断等同于不采用梯度回传更新,也就是本发明所说的动量更新。不采用梯度回传更新目的是为了让基编码器更好地去预测动量编码器的输出;假设基编码器和动量编码器都正常使用梯度更新,这时会引发一个后果。由于网络的目的是让基编码器预测动量编码器的输出,那么一个很简单的捷径解就是:不管输入的是什么,让两个编码器的输出全都是固定,比如全都输出0。这样看似网络完成了预测的任务,但是编码器却变成了无论输入是什么,输出都是0的无用输出。这样的灾难被我们称之为模型训练坍塌。所以为了防止此事发生,就必须让动量编码器的更新速度远远慢于基编码器,因此设置动量编码器的参数更新方式为动量更新,当动量非常大时,动量编码器的速度自然就会远远慢于基编码器,从而防止学习到显而易见的捷径解导致模型的训练坍塌。
[0087]
如图5所示,一种计算机装置500包括:存储器502、处理器504及存储在存储器502上并可在处理器504上运行的计算机程序,处理器504执行计算机程序时实现如上述任一实施例中的用于医学图像数据集的对比学习方法的步骤。
[0088]
本发明提供的计算机装置500,处理器504执行计算机程序时,通过获取医学图像数据集,并搭建以swin transformer为骨干网络的对比学习网络,该对比学习网络是以swin transformer为骨干网络,相比计算机视觉(computer vision,cv)领域惯用的vit网络,swin transformer使用了与卷积神经网络(convolutional neural networks,cnns)相似的分层网络结构设计,从而引入了部分cnns拥有的归纳偏置,使得本发明的对比学习网络在面对小规模的医学图像数据集时更友好。
[0089]
进一步地,本发明基编码器和动量编码器中的骨干网络后都使用了多层感知机(multilayer perceptron,mlp)组成的投影层,加入该投影层会使网络学习到的特征得到进一步的改善,从而使下游任务网络的迁移学习效果变得更好。在基编码器的最后,加入一个mlp构成的预测层,要求该预测层的输出尽可能接近动量编码器中投影层的输出,将对比学习网络常用的匹配任务变成预测任务,从而实现去掉了负样本的约束的技术效果,而传统的使用个体判别匹配任务的对比学习网络需要负样本的约束来达到避免训练坍塌的目的。由于对比学习可以看作是字典查询任务,如果想要好的训练效果,就要求负样本特征构成一个大规模且一致性较强的字典,这对数据集的规模要求较为苛刻。因此本发明搭建的基于预测任务的对比学习网络,更适用于训练小规模的医学图像数据集。
[0090]
进一步地,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为该对比学习网络的预训练模型,再使用对比学习数据集训练该对比学习网络,即使用迁移学习方法训练该对比学习网络。具体地,由于在自然图像数据集imagenet上进行有监督学习得到的有监督模型包含很多学习到的先验知识,将得到的有监督模型用作对比学习网络的预训练模型,可以进一步地补足transformer在图像方面上欠缺的归纳偏置,从而实现了该对比方法在小规模的医学图像数据集上也能取得良好的训练效果,获得更好的对比学习结果。
[0091]
进一步地,将训练该对比学习网络得到的对比学习模型作为下游任务网络的迁移学习使用的预训练模型,再使用下游任务训练集训练下游任务网络,最后输出下游任务模型,与直接使用有监督模型作为下游任务迁移学习预训练模型的方法相比,能够大幅度提升下游任务网络训练的精度。
[0092]
本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中的用于医学图像数据集的对比学习方法的步骤。
[0093]
本发明提供的计算机可读存储介质,计算机程序被处理器执行时,通过获取医学图像数据集,并搭建以swin transformer为骨干网络的对比学习网络,该对比学习网络是以swin transformer为骨干网络,相比计算机视觉(computer vision,cv)领域惯用的vit网络,swin transformer使用了与卷积神经网络(convolutional neural networks,cnns)相似的分层网络结构设计,从而引入了部分cnns拥有的归纳偏置,使得本发明的对比学习网络在面对小规模的医学图像数据集时更友好。
[0094]
进一步地,本发明基编码器和动量编码器中的骨干网络后都使用了多层感知机(multilayer perceptron,mlp)组成的投影层,加入该投影层会使网络学习到的特征得到进一步的改善,从而使下游任务网络的迁移学习效果变得更好。在基编码器的最后,加入一个mlp构成的预测层,要求该预测层的输出尽可能接近动量编码器中投影层的输出,将对比学习网络常用的匹配任务变成预测任务,从而实现去掉了负样本的约束的技术效果,而传统的使用个体判别匹配任务的对比学习网络需要负样本的约束来达到避免训练坍塌的目的。由于对比学习可以看作是字典查询任务,如果想要好的训练效果,就要求负样本特征构成一个大规模且一致性较强的字典,这对数据集的规模要求较为苛刻。因此本发明搭建的基于预测任务的对比学习网络,更适用于训练小规模的医学图像数据集。
[0095]
进一步地,将swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为该对比学习网络的预训练模型,再使用对比学习数据集训练该对比学
习网络,即使用迁移学习方法训练该对比学习网络。具体地,由于在自然图像数据集imagenet上进行有监督学习得到的有监督模型包含很多学习到的先验知识,将得到的有监督模型用作对比学习网络的预训练模型,可以进一步地补足transformer在图像方面上欠缺的归纳偏置,从而实现了该对比方法在小规模的医学图像数据集上也能取得良好的训练效果,获得更好的对比学习结果。
[0096]
进一步地,将训练该对比学习网络得到的对比学习模型作为下游任务网络的迁移学习使用的预训练模型,再使用下游任务训练集训练下游任务网络,最后输出下游任务模型,与直接使用有监督模型作为下游任务迁移学习预训练模型的方法相比,能够大幅度提升下游任务网络训练的精度。
[0097]
下面将以一个具体的实施例来展示本发明的技术方案。
[0098]
(1)数据集方面:使用的腮腺mr图像数据集包含148名来自两个不同中心的腮腺肿瘤患者。每个患者都有三种不同的mri序列,即短时反转恢复(stir)序列、t1加权(t1)序列和t2加权(t2)序列。将stir、t1和t2序列中的相应切片组成三通道图像。分割标签是由有经验的临床医生选择有肿瘤的一侧来勾勒腮腺和肿瘤的轮廓。这些数据分别构成了下游任务数据集和对比学习数据集。下游任务数据集的部分示例图像如图6所示。由于只有一侧的腮腺有标签,因此将腮腺图像从中间分成左、右腮腺图像,将有标签的一侧图像组成下游任务数据集。预处理后共有1897张mr图像切片。其中80%的数据集被作为训练集,其余的20%作为测试集。对比学习数据集的部分示例图像如图7所示。由于对比学习不需要标签,无标签的图像也可以训练对比学习网络。因此,对比学习数据集包含腮腺两侧的图像。预处理后共有4688张mr图像切片可用。
[0099]
(2)数据增强方面:除了常用的随机裁剪、颜色抖动、随机灰度化、高斯模糊、随机solarize和随机水平翻转外,由于更强的数据增强更有利于对比学习模型学到图像的关键语义信息,因此配合腮腺mr图像的特点,本算例还使用了随机小角度旋转,用来模拟mri检查时受试者可能会有小角度偏头的情况。其中,旋转操作产生的图像黑边不裁剪,以保证mr图像的完整性。
[0100]
(3)超参数方面:由于医学图像数据集规模会远小于自然图像数据集,本算例没有使用自然图像数据集上常用的上千的batch size(一次训练所选取的样本数),而是将batch size设置为96。另外,由于数据量的减少,网络训练过程中每个epoch包含的步数就变少了,相应的网络梯度下降的速度就要增加,因此由网格搜索实验确定学习率最大值增大为1
×
10-3
,采用半周期余弦函数的方式进行学习率下降。使用的动量因子为0.99,共训练300个epoch。
[0101]
(4)评价指标方面:使用了四种分割评价指标来评价模型在测试集上的分割效果,分别是dice相似系数(dice-similarity coefficient,dsc)、平均像素准确率(mean pixel accuracy,mpa)、平均交并比(mean intersection over union,miou)和豪斯多夫距离(hausdorff distance,hd)。其中dsc、mpa和miou反应了分割结果的面积相似度,数值越大说明结果越好。hd反映了分割结果的轮廓差异度,数值越小表示结果越好。具体实验结果见分割模型在测试集上的评价指标表1。
[0102]
表1分割模型在测试集上的评价指标
[0103][0104]
表1中,表中第一行是没有使用任何预训练模型,直接使用随机参数初始化方式训练分割网络得到的结果。第二行是使用有监督模型作为预训练模型训练分割网络的结果。第三行是直接使用随机初始化参数训练对比学习网络,并将得到的对比学习模型作为分割网络的预训练模型的结果。结果显示使用随机初始化训练的对比学习模型的结果比第一行不使用任何预训练模型的结果要好,说明对比学习网络是有效的,但是不如使用有监督模型做预训练模型的结果。第四行是使用迁移学习方法训练对比学习网络,再将得到的对比学习模型作为分割网络预训练模型的结果。结果显示训练出的对比学习模型在下游任务的迁移性能上取得了明显的改进,并优于直接使用有监督模型做下游任务预训练模型的结果,说明了本发明技术方案的有效性。
[0105]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种用于医学图像数据集的对比学习方法,基于对比学习网络,所述对比学习网络包括基编码器和动量编码器,所述基编码器包括骨干网络、投影层和预测层,以及所述动量编码器包括骨干网络和投影层,其特征在于,该对比学习方法包括:获取医学图像数据集,其中,所述医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,所述下游任务数据集为有标签的医学图像数据集,以及所述下游任务数据集包括:下游任务训练集;搭建以swin transformer为骨干网络的对比学习网络;将所述swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为所述对比学习网络的预训练模型;基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络;输出对比学习模型,并将所述对比学习模型作为下游任务网络的预训练模型;基于所述下游任务训练集和所述下游任务网络的预训练模型训练下游任务网络;输出下游任务模型。2.根据权利要求1所述的用于医学图像数据集的对比学习方法,其特征在于,所述下游任务数据集还包括:下游任务测试集;所述对比学习方法还包括:使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。3.根据权利要求1或2所述的用于医学图像数据集的对比学习方法,其特征在于,所述基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络的步骤,具体包括:设置所述基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;将所述对比学习网络的预训练模型作为所述基编码器和动量编码器中的骨干网络的初始化权重;定义不同的数据增强方式;根据所述不同的数据增强方式分别对所述对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;将所述若干组正样本对分别输入所述基编码器和动量编码器,以使得所述基编码器中的预测层的输出去拟合所述动量编码器中的投影层的输出。4.根据权利要求3所述的用于医学图像数据集的对比学习方法,其特征在于,所述设置所述基编码器和动量编码器不同的参数更新方式的步骤,具体包括:设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:
m
t
=m
·
m
t-1
+(1-m)
·
b
t
式中,m
t
为更新后的动量编码器的参数,m
t-1
为更新前的动量编码器的参数,b
t
为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。5.一种用于医学图像数据集的对比学习系统,基于对比学习网络,所述对比学习网络包括基编码器和动量编码器,所述基编码器包括骨干网络、投影层和预测层,以及所述动量编码器包括骨干网络和投影层,其特征在于,该对比学习系统包括:获取模块,用于获取医学图像数据集,其中,所述医学图像数据集包括:用于训练对比学习网络的对比学习数据集和用于训练下游任务网络的下游任务数据集,所述下游任务数据集为有标签的医学图像数据集,以及所述下游任务数据集包括:下游任务训练集;对比学习网络搭建模块,用于搭建以swin transformer为骨干网络的对比学习网络;有监督预训练模块,用于将所述swin transformer在自然图像数据集imagenet上进行有监督学习得到的有监督模型作为所述对比学习网络的预训练模型;对比学习网络训练模块,用于基于所述对比学习数据集和所述对比学习网络的预训练模型训练所述对比学习网络;对比学习模型输出模块,用于输出对比学习模型,并将所述对比学习模型作为下游任务网络的预训练模型;下游任务网络训练模块,基于所述下游任务训练集和所述下游任务网络的预训练模型训练下游任务网络;下游任务模型输出模块,用于输出下游任务模型。6.根据权利要求5所述的用于医学图像数据集的对比学习系统,其特征在于,所述下游任务数据集还包括:下游任务测试集;所述对比学习系统还包括:效果评估模块,用于使用所述下游任务测试集对所述下游任务模型进行测试,得出所述下游任务模型的输出结果;所述效果评估模块,还用于将所述下游任务模型的输出结果和所述下游任务测试集上的标签进行比较,并根据比较结果对所述下游任务模型进行效果评估。7.根据权利要求5或6所述的用于医学图像数据集的对比学习系统,其特征在于,所述对比学习网络训练模块,具体包括:参数更新模块,用于设置所述基编码器和动量编码器不同的参数更新方式,以使得动量编码器的参数更新速度慢于基编码器;权重初始化模块,用于将所述对比学习网络的预训练模型作为所述基编码器和动量编码器中的骨干网络的初始化权重;数据增强模块,用于定义不同的数据增强方式;所述数据增强模块,还用于根据所述不同的数据增强方式分别对所述对比学习数据集中的每张医学图像随机进行数据增强,并生成若干组正样本对;拟合模块,用于将所述若干组正样本对分别输入所述基编码器和动量编码器,以使得所述基编码器中的预测层的输出去拟合所述动量编码器中的投影层的输出。8.根据权利要求7所述的用于医学图像数据集的对比学习系统,其特征在于,所述参数更新模块,具体用于:
设置所述基编码器的参数更新方式为梯度回传更新;设置所述动量编码器的参数更新方式为动量更新;所述设置所述动量编码器的参数更新方式为动量更新的步骤,具体包括:通过预设公式更新所述动量编码器的参数;所述预设公式为:m
t
=m
·
m
t-1
+(1-m)
·
b
t
式中,m
t
为更新后的动量编码器的参数,m
t-1
为更新前的动量编码器的参数,b
t
为更新后的基编码器的参数,m为动量因子,m取值范围为[0,1]。9.一种计算机装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的用于医学图像数据集的对比学习方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的用于医学图像数据集的对比学习方法的步骤。

技术总结
本发明提供一种用于医学图像数据集的对比学习方法及系统。该方法包括:获取医学图像数据集;搭建以Swin Transformer为骨干网络的对比学习网络;将Swin Transformer在自然图像数据集ImageNet上进行有监督学习得到的有监督模型作为对比学习网络的预训练模型;基于对比学习数据集和对比学习网络的预训练模型训练对比学习网络;输出对比学习模型,并将对比学习模型作为下游任务网络的预训练模型;基于下游任务训练集和下游任务网络的预训练模型训练下游任务网络;输出下游任务模型。本发明提供的对比学习方法及系统,使用以Swin Transformer为骨干网络的基于预测任务的对比学习网络,并使用迁移学习方法训练网络,实现了即使在小规模的医学图像数据集上也能大幅度提升下游任务网络的训练精度。度提升下游任务网络的训练精度。度提升下游任务网络的训练精度。


技术研发人员:徐子安 史力伏 王洋 代茵
受保护的技术使用者:辽宁然辉科技有限公司
技术研发日:2023.07.20
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐