首页> 中国专利> 一种基于小样本学习和自监督学习的X光胸片图像分类方法

一种基于小样本学习和自监督学习的X光胸片图像分类方法

摘要

本发明公开了一种基于小样本学习和自监督学习的X光胸片图像分类方法,属于图像分类技术领域。所述方法包括步骤:获取所有X光胸片图像,将未确定诊断结果的X光胸片图像划入无标签训练集Ts,将已确定诊断结果的X光胸片图像划分为两组:分别为带标签训练集T和带标签测试集Te;在深度学习框架中构建深度学习网络;将所述无标签训练集Ts和所述带标签训练集T输入深度学习网络中,对所述深度学习网络进行训练,根据损失函数更新所述深度学习网络。利用自监督学习和小样本学习的互补性,将自监督学习作为小样本学习的一个辅助任务通道,使特征提取器可以学习更丰富的图像特征。

著录项

  • 公开/公告号CN112348792A

    专利类型发明专利

  • 公开/公告日2021-02-09

    原文格式PDF

  • 申请/专利权人 广东工业大学;

    申请/专利号CN202011218079.7

  • 发明设计人 李嘉怡;柴文光;

    申请日2020-11-04

  • 分类号G06T7/00(20170101);G06K9/62(20060101);G06N3/04(20060101);G16H50/20(20180101);

  • 代理机构44102 广州粤高专利商标代理有限公司;

  • 代理人林丽明

  • 地址 510090 广东省广州市越秀区东风东路729号

  • 入库时间 2023-06-19 09:51:02

说明书

技术领域

本发明涉及图像分类技术领域,更具体地,涉及一种基于小样本学习和自监督学习的X光胸片图像分类方法。

背景技术

深度学习取得了巨大的成就,在各种计算机视觉挑战性问题上实现了最先进的或人类水平的性能。CNN卷积神经网络是常用于进行图像分类的深度学习方法,然而,训练一个普通卷积神经网络,往往需要大量携带标记的样本,才能得到较高的性能,不然训练好的模型在测试数据上的泛化性能会变差,甚至出现过拟合的状况。

医学图像分类是医学图像处理与分析领域的复杂而关键的步骤,其目的是提取医学图像相关特征,再通过某种方式为医学影像进行分类,为临床诊疗和病理学研究提供可靠的依据,辅助医生做出更为准确的诊断。而在人工智能和深度学习的研究领域中,多数图像处理的计算机视觉任务都是基于自然图像的。由于自然图像样本易获取,且标注成本较低,因此得到大量标记样本并不难。但在与医学图像有关的视觉任务中,存在着样本数量少、人工标注成本过高、以及类别严重不均等问题,实际应用中单一病种数据量不足,数据分散,病种分散,这使得普通的CNN网络很难适用于与医学图像相关的视觉任务中,准确率得不到保障。因此要引入小样本学习和自监督学习的思路来处理相关问题。

公开号为CN111553890A公开日:2020-08-18提出的一种基于增量学习的X光正位胸片多任务检测方法通过深度表征学习结合小样本训练学习,在样本数量少的基础上,利用多语义任务和多标签的增量学习方法进行胸片多任务检测,用已有知识去学习识别新的疾病种类,但是仅仅通过小样本学习对有限的标记样本进行分类学习可能效果不理想。

发明内容

为克服上述现有技术所述的仅通过小样本学习对少量的标记样本进行分类学习效果不理想的技术问题,本发明提供了一种基于小样本学习和自监督学习的X光胸片图像分类方法,技术方案如下:

一种基于小样本学习和自监督学习的X光胸片图像分类方法,其特征在于,包括如下步骤:

S1:获取X光胸片图像,将未确定诊断结果的X光胸片图像划入无标签训练集Ts,将已确定诊断结果的X光胸片图像备注相应诊断结果的标签后划入带标签数据集;

S2:将带标签数据集划分为带标签训练集T和带标签测试集Te;对带标签训练集T、带标签测试集Te和无标签训练集Ts中的所有X光胸片图像进行统一调整图像尺寸处理;

S3:对带标签训练集T、无标签训练集Ts分别进行数据增强处理;

S4:在深度学习框架中构建深度学习网络;

S5:将所述无标签训练集Ts和所述带标签训练集T输入深度学习网络中,对所述深度学习网络进行训练,根据综合损失函数L

S6:将预设数量的epoch作为一个训练段,并在完成每一个训练段的训练后,将带标签测试集Te中的所有X光胸片图像依次输入深度学习网络中的特征提取器和小样本分类网络,统计小样本分类网络的输出结果符合X光胸片图像标签的数量,从而得到当前深度学习网络测试准确率;若当前输出的测试准确率大于上一次输出的测试准确率,则保存当前网络所使用的神经网络里面卷积层中的权重参数,输出深度学习网络图像分类模型;若当前输出的测试准确率小于等于上一次输出的测试准确率,则不保存当前网络所使用的神经网络里面卷积层中的权重参数。

进一步地,步骤S2中,所述统一调整图像尺寸处理的步骤包括:通过拉伸的方式统一将所有X光胸片图像长宽比例调整为1:1,然后将X光胸片图像的长和宽都调整为256像素。

进一步地,步骤S3中,对所述带标签训练集T进行数据增强处理的步骤包括对X光胸片图像进行水平翻转、垂直翻转、仿射变换处理;对所述无标签训练集Ts进行数据增强处理的步骤包括对X光胸片图像进行随机裁剪,水平翻转处理。

进一步地,步骤S4中,所述深度学习网络包括:特征提取器,小样本分类网络,自监督学习网络;特征提取器的输出端分别连接小样本分类网络和自监督学习网络的输入端,所述特征提取器采用ResNext50卷积神经网络。

进一步地,所述带标签数据集中的X光胸片图像划入带标签训练集T和带标签测试集Te,划分的依据是随机选取。

进一步地,所述综合损失函数L

L

其中,λ表示权重平衡参数,使用标准正态分布的方法随机初始化;

L

L

C=cos(F(x

其中,w

L

L

其中,xi表示第i个输入自监督学习网络的X光胸片图像,F表示特征提取器,在进行图像特征的自监督学习时,需要将特征提取器提取的图像特征在预设角度中随机选择一个角度进行旋转,rot(·)表示在自监督学习网络中对提取的图像特征进行随机旋转的操作,cross_entropy(·)表示交叉熵损失函数;Labelrot表示图像特征旋转角度的标签。

进一步地,步骤S2中,所述带标签数据集中的标签包括:健康、肺不张、心脏肿大、积液、浸润、肿块、结节、肺炎、气胸、实变、水肿、肺气肿、纤维化、胸膜增厚、肺疵。

进一步地,所述带标签训练集T每个标签下的样本数量不超过20张且不少于5张,以构成小样本学习的训练集;带标签测试集Te由未选入带标签训练集T的样本组成,其中带标签测试集Te中每个标签下的样本数量不超过带标签训练集T中该标签下样本数量的二分之一;其他样本数据归入无标签训练集Ts,作为自监督学习所使用的数据集。

进一步地,步骤S5中,所述对所述深度学习网络进行训练总共有30-50段,每一段训练中包括300-500个epoch;其中,每训练一个epoch时,从带标签训练集T中随机抽取5类标签样本,每类标签样本抽取各5张图片,组成一个一共有25个样本的数据集,依次送入特征提取器和小样本分类网络中进行训练;同时,每训练一个epoch,就将无标签训练集Ts中的数据送入特征提取器和自监督学习网络中,进行图像特征的自监督学习,直到完成预设数量的训练段后得到测试准确率最高的神经网络里面卷积层中的权重参数,作为本次训练最终输出深度学习网络图像分类模型的训练结果。

进一步地,进行图像特征的自监督学习的步骤包括:

在每段训练中,都将得到的图像特征按预设的角度随机进行旋转,按照旋转的角度为旋转后的图像特征分配相应标签;以其旋转度数为类别标签,每一次训练都将所有数据送入自监督学习网络包含的分类器中,对旋转处理后的图像特征进行分类预测,用分类结果和旋转度数标签计算出自监督学习损失函数Lself。

损失函数的作用在于,将神经网络每一次训练得出的结果与真实结果进行比较,衡量两个值的距离,再通过反向回归调整神经网络的参数。通过这种方式在每一次训练中逐步提高神经网络的精确度。

与现有技术相比,本发明技术方案的有益效果是:

本发明的一种基于小样本学习和自监督学习的X光胸片图像分类方法,有别于传统深度学习的图像分类网络框架和训练模式,增加了自监督学习网络作为网络学习时的辅助任务,并改变训练策略,联合自监督学习和小样本学习的两个方面共同优化分类模型。增加自监督学习网络,能有效利用大量未经标注过的图像数据,使网络特征提取器捕获更多图像特征。每一次训练都随机抽取定量的图片样本送入特征提取器,使网络特征提取器可以多次学习数据集中数量过少的样本,弥补由于某些类别图像样本过少导致此类图像在神经网络中的训练次数和特征提取次数过少的缺陷。保证方法简单性和灵活性,并在节省人力物力的同时,强化特征提取器对X光胸片图像的特征理解能力,增强该方法在样本量过少且类别不平衡的医学图像数据中的泛化能力。

附图说明

图1为本发明的概要流程图。

图2为步骤S5流程展开图

图3为深度学习框架中的深度学习网络结构图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

基于小样本学习和自监督学习训练X光胸片图像分类模型的方法的概要流程图如图1所示,包括如下步骤:

S1:获取X光胸片图像,将未确定诊断结果的X光胸片图像划入无标签训练集Ts,将已确定诊断结果的X光胸片图像备注相应诊断结果的标签,划入带标签数据集;

所述诊断结果的标签包括:健康、肺不张、心脏肿大、积液、浸润、肿块、结节、肺炎、气胸、实变、水肿、肺气肿、纤维化、胸膜增厚、肺疵。

S2:将带标签数据集划分为两组,分别为带标签训练集T和带标签测试集Te;对带标签训练集T、带标签测试集Te和无标签训练集Ts中的所有X光图像进行统一调整图像尺寸处理。

带标签训练集T和带标签测试集Te的划分方法是:从带标签数据集每个标签下的样本中随机选取5到20张样本放入所述带标签训练集T的对应标签下,从带标签数据集每个标签下剩余的样本中随机选取样本放入带标签测试集Te的对应标签下,所述带标签测试集Te每个标签的样本数量不超过带标签训练集T中该标签样本数量的一半,将带标签数据集划分进入带标签训练集T和带标签测试集Te之后剩余的样本全部划入无标签训练集Ts。

所述统一调整图像尺寸处理是指:通过拉伸的方式统一将所有X光胸片图像长宽比例调整为1:1,然后将X光胸片图像的长和宽都调整为256像素。

S3:对带标签训练集T、无标签训练集Ts分别进行数据增强处理。

具体地,所述对带标签训练集T进行数据增强处理是指对带标签训练集T中的X光胸片图像以0.5的概率进行水平翻转数据增强并以0.5的概率进行垂直翻转数据增强,再进行仿射变换数据增强;所述水平翻转数据增强和垂直翻转数据增强均保存原图和翻转后的图像。

其中仿射变换的参数包括旋转角度参数、平移参数和缩放比例参数:旋转角度参数可选的区间为0-20°,本实施例中旋转角度参数设置为20°;宽度平移参数a和高度平移参数b可选的区间均为0-0.5,在本实施例中设置为(a=0.5,b=0.5),设图像原宽度为width,高度为height,宽度的平移区间为-width*a

所述对无标签训练集Ts进行数据增强处理是指对无标签训练集Ts中的图像进行以0.5的概率进行水平翻转数据增强;再将水平数据增强后的图片随机裁剪成100*100像素的大小。所述水平翻转数据增强处理既存储原图也存储水平翻转后的图像。

S4:在深度学习框架Pytorch中构建深度学习网络模型,深度学习网络结构图如图3所示。

深度学习网络模型由特征提取器ResNext50模型、小样本分类网络以及自监督学习网络组成。

所述特征提取器用于提取训练带标签训练集T和无标签训练集Ts中的图像特征,特征提取器使用的是ResNext50卷积神经网络;本发明使用ResNext50网络代替传统分类算法常用的VGG16网络。ResNext50网络是针对ResNet网络的改进,增加网络模型中每一个网络块的分支数量,保证了网络结构简明,而且需要手动调节的参数量少,计算量比同效果的其他网络少。网络模型内部的每一个网络块都使用了跳跃链接,缓解了神经网络在训练过程中出现的梯度消失问题,避免因为网络过深而导致训练误差过大。同时,该网络相比于同等深度的网络模型而言,准确率更高。

所述小样本分类网络用于接收训练带标签训练集T经过特征提取后的图像特征,并对带标签训练集T中图像进行分类,用分类结果和病症标签计算出小样本分类损失函数L

所述自监督学习网络用于接收无标签训练集Ts经过特征提取后的图像特征,并进行自监督学习得到自监督学习损失函数L

S5:将所述无标签训练集Ts和所述带标签训练集T输入所述深度学习网络中,对所述深度学习网络进行训练得到综合损失函数L

对所述深度学习网络进行训练总共有30-50段,每一段训练中包括300-500个epoch,优选的,本实施例中所述训练总共有50段,每一段训练中包括500个epoch。

训练分为两部分:小样本分类网络训练和自监督学习网络训练。每进行一个epoch时,从所述带标签训练集T中随机抽取5类标签样本,每类标签样本中随机抽取各5张图像,组成一个一共有25个样本的数据集,将所述数据集中的25个样本依次送入特征提取器和小样本分类网络中进行小样本分类网络训练;同时,每训练一个epoch,就将无标签训练集Ts中的所有图像依次送入特征提取器和自监督学习网络中,进行图像特征的自监督学习;其中,一个epoch表示随机选出的25个训练样本被训练算法遍历一次的训练周期。

在进行小样本分类网络训练和自监督学习网络训练时,分别计算小样本分类网络的小样本分类损失函数L

通过L

其中,小样本分类损失函数L

L

C=cos(F(x

F代表特征提取器;w

在小样本分类网络训练中使用cos()函数来处理带标签训练集T由特征提取器提取后的图像特征,计算提取到的图像特征与它原本真实标签的余弦相似度,调整小样本分类损失函数L

自监督学习损失函数L

L

其中rot代表在自监督学习网络中对提取的图像特征进行随机旋转的操作,Label

所述自监督学习具体包括:

在50段训练中,每段训练都将得到的图像特征从预设的角度(0°,90°、180°、270°)随机选取一个角度进行旋转,按照旋转的角度分配四个标签,分别是0(原图像特征),1(旋转90度后的图像特征),2(旋转180度后的图像特征),3(旋转270度后的图像特征);

以其旋转度数为类别标签,每一次训练都将所有数据送入自监督学习网络包含的分类器中,对旋转处理后的图像特征进行分类预测,用分类结果和旋转度数标签计算出自监督学习损失函数L

将综合损失函数L

S6:每一个训练段完成训练后,用特征提取器ResNext50以及小样本分类网络遍历带标签测试集Te,并输出测试的准确率。若测试准确率对比上一次测试有所提高,则保存当前网络所使用的神经网络里面卷积层中的权重参数,输出深度学习网络图像分类模型,直到50段的训练段后得到测试准确率最高的神经网络的卷积层中的权重参数,作为本次训练最终输出深度学习网络图像分类模型的训练结果。

利用步骤S6最终输出的所述深度学习网络图像分类模型进行图像分类包括步骤:

获取待分类图像,通过拉伸的方式统一将待分类图像长宽比例调整为1:1,并将待分类图像长和宽都调整为256像素;

调用步骤S6所保存的神经网络里面卷积层中的权重参数填入深度学习网络中,将待分类图像输入深度学习网络中;

深度学习网络输出图像分类。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号