掌桥专利:专业的专利平台
掌桥专利
首页

一种基于半监督学习的图像标注方法

文献发布时间:2023-06-19 18:37:28


一种基于半监督学习的图像标注方法

技术领域

本发明涉及机器学习及图像处理技术领域,尤其涉及一种基于半监督学习的图像标注方法。

背景技术

近年来,糖尿病有明显的年轻化趋势,缺乏运动、作息混乱、体重超标等都可能成为糖尿病的诱因。糖尿病是失明的重要原因,具体的表现为糖尿病性视网膜病变。

由于糖尿病患者人数逐年增加,产生的眼底图像也越来越多,医生就诊的任务也越来越重。糖尿病患者去就医后,医疗设备会采集到众多糖尿病患者的患病信息,丰富视网膜图像库。但是医生的精力是有限的,如果让医生对每张医学影像进行人工标注,会耗费大量人力物力,所以如何合理有效的利用这些宝贵的资源,从中提取出有价值的信息成为当务之急。现在机器学习的发展十分迅速,计算机医学影像和现代医学联系非常紧密,这极大地促进了现代医学的发展。可以利用机器学习的方法对医学影像进行处理并标注,不仅可以将医生从繁重的标注任务中解放出来去做一些更重要的工作,还可以为视网膜图像的研究者和医护人员提供可以参考的标注样本。

目前对于标注系统的研究主要分为交互式标注系统和非交互式标注系统两种。非交互式标注系统就是指在整个标注过程中是没有人工参与的,完全由系统自己完成标注。交互式标注系统是指在标注过程中有人工参与,但是大部分的标注工作依然是由系统承担,人工标注只占一小部分。

交互式标注系统大多是基于主动学习算法来进行模型的训练,因为主动学习采用少量的已标注样本对模型进行训练后就可以得到一个分类性能较好的分类器。具体步骤是先用标注好的数据来进行训练,然后利用训练好的学习器找出未标注数据中能对性能改善最大的数据来询问“专家”,专家在进行人工标注后,将标注后的样本加入已标注样本集中,用新的已标注样本集对分类器进行再次训练,这样一直迭代训练下去,直到达到主动学习的停止条件,就停止训练,输出训练好的分类器。但是主动学习主要依靠已标注样本集对分类器进行训练,没有对未标注样本集产生足够的关注,不能掌握样本的整体分布信息。即主动学习在利用已标注样本的基础上,仅仅对于占样本绝大多数的未标注样本中的少量难以标注即能对分类器性能改善最大的样本进行了利用,而剩下的大量的未标注样本没有得到充分的利用。所以能够进一步充分利用大量未标注样本的半监督学习方法得到更多的关注。

半监督学习是将监督学习和无监督学习相结合的一种学习方法。主要考虑的是如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习还可细分为纯半监督学习和直推学习,前者假定训练数据中的为标记数据并非待预测数据,而后者则假定学习过程中所考虑的为标记样本恰是待预测数据。半监督学习要利用未标记样本,必然要做一些将未标记样本所揭示的数据分布信息与类别标记相联系的假设,其本质是“相似的样本拥有相似的输出”。支持向量机(SVM)分类器因为其优秀的泛化能力,在小样本的情况下会有很准确的分类结果,是分类效果最好的分类器之一。但是它也存在一些缺点,当数据量比较大,会有耗费很多时间、效率低下的问题。除此以外,过大的数据量也会对SVM分类器的分类准确率造成一定影响。TSVM是半监督支持向量机中的最著名代表,与标准SVM一样都是针对二分类的算法,其核心思想是:尝试为未标记样本找到合适的标记指派,使得超平面划分后的间隔最大化。TSVM采用局部搜索的策略来进行迭代求解,即首先使用有标记样本集训练出一个初始SVM,接着使用该学习器对未标记样本进行打标,这样所有样本都有了标记,并基于这些有标记的样本重新训练SVM,之后再寻找易出错样本不断调整。然后在已标注样本和进行预标注后的未标注样本中寻找一个间隔最大化的分类超平面。找到这个分类超平面之后,这个超平面两端的样本就获得了最终的标注结果。

传统的基于半监督学习训练SVM的方法采用的是将未标记样本一次性加入训练的方式,在产生最终的标注样本之前,会进行迭代的求取SVM超平面的操作,每次会对未标注样本中的所有样本进行预标记。由于未标记样本众多,每次求取分类器超平面都会达到很高的计算复杂度,所以完成一次对未标注样本进行预标记,会花费大量的时间。同时,对这些样本进行SVM求解,也需要耗费很多的空间资源。如果付出了许多代价,能够换回令人满意的结果,也是值得的。但是由于SVM分类器自身的特性,面对数量较大的样本,SVM分类器的表现也是难以令人满意的。

发明内容

本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于半监督学习的图像标注方法,实现对医学影像的自动标注。

为解决上述技术问题,本发明所采取的技术方案是:一种基于半监督学习的图像标注方法,包括以下步骤:

步骤1:收集医学影像,并对其中部分影像进行标注得到已标注样本集L,则其他未标注影像组成未标注样本集U;同时构建三个SVM分类器G1、G2和G3和缓冲池U′;

步骤2:将已标注样本集L平均分成三个已标注样本子集h1、h2、h3,已标注样本子集h1、h2、h3将分别用于对三个分类器G1、G2和G3的训练;然后从未标注样本集U中随机选择数量为u的样本,放入缓冲池U′中;

步骤3:使用已标注样本子集h1对分类器G1进行训练得到更新后的分类器G1′,并对样本子集h1进行去重更新;用更新后的分类器G1′对缓冲池U′中的未标注样本进行预标记并计算置信度,将置信度大于设定阈值的样本同时加入另外两个已标注样本子集h2、h3中,同时从未标注样本集U中选取样本向缓冲池中补充未标记样本;然后对分类器G2和G3以及样本子集h2和h3分别进行与分类器G1和样本子集h1相同流程的训练和去重更新,得到更新后的分类器G2′和G3′,并对更新后的三个样本子集进行汇总;

步骤3.1:用已标注样本子集h1对分类器G1进行训练,得到更新后的分类器G1′;

步骤3.2:判断已标注样本子集h1中样本个数是否达到已标注训练集样本阈值,若达到阈值,则通过分类器G1′对h1中样本进行标注,按照正样本和负样本的比例从h1中移除掉置信度大于设定阈值的样本,并将移除的样本中来自未标注样本集U的样本加入到集合L′中;

步骤3.3:用分类器G1′对缓冲池U′中的样本进行预标记,标记过后选取p个置信度最高的正样本和q个置信度最高的负样本,并将这些样本加入h2和h3中,同时从未标记样本集U中抽取样本来补充缓冲池U′;然后对样本子集h2和h3中的样本进行去重操作;

步骤3.4:使用样本子集h2和h3分别对分类器G2和G3按照步骤3.1至步骤3.3进行对应的操作,并得到分类器G2′和G3′以及去重更新样本子集h2和h3;最后将去重后的样本子集h1、h2和h3汇总;

步骤4:迭代执行步骤3,直到未标注样本集U中没有剩余样本,得到m轮训练后的分类器G1′_m、G2′_m和G3′_m;

步骤5:将所有去重处理后的已标注样本子集h1、h2和h3中的样本汇总成已标注样本集L

步骤5.1:将经过多轮训练后的已标注样本集h1、h2、h3汇总为新的已标注样本集L

步骤5.2:判断C

步骤5.2.1:从已标注样本集L

步骤5.2.2:使用更新后分类器G1″对缓冲池U′中未标注样本进行预标记,得到每个未标记样本对应的标记,从而得到缓冲池U′中标记后的样本集合D

步骤5.2.3:基于未标注样本集的影响因子C

TSVM算法的目标函数为:

约束条件为:

其中,l表示已标注样本个数,u表示未标注样本,i和j表示样本下标;z

步骤5.2.4:利用5.2.3中得到的松弛因子ξ和未标注样本集中样本预测标注标签y

步骤5.3:迭代执行步骤5.2,直到C

步骤5.3.1:迭代步骤5.2,直到C

步骤5.3.2:得到分类器G1″对未标注样本的标注结果,并用分类器G1″对已标注样本集L

步骤5.3.3:将分类器G1″对已标注样本集L

步骤6:分别对步骤4训练后得到的分类器G2′_m和G3′_m重复步骤5的训练过程,得到训练后的分类器G2″和G3″;三个分类器训练结束后,得到缓冲池U′中所有未标注样本的标注结果和分类器G1″、G2″和G3″的权重,然后将三个分类器对缓冲池U′中所有未标注样本的标注结果按分类器的权重比例相加得到缓冲池U′中所有未标注样本的最终标注结果。

本发明方法在基于委员会投票法和集成学习方法的主动学习算法基础上,训练出三个分类器,从而实现一种改进的基于半监督学习的标注方法。训练三个分类器的主要工作如下:先是基于集成学习算法对委员会成员进行迭代训练,根据委员会训练后对训练集样本的分类结果更新委员会成员的权重和训练集样本的权重。同时,上一个委员会成员对训练集样本的分类结果会影响到下一个委员会成员的训练。当三个委员会成员训练结束后判断是否达到主动学习停止条件,若达到了,则输出带有最新权重的集成分类器;若没达到停止条件,则继续进行主动学习对分类器的训练过程,选出待标记样本进行人工标注后,用新的训练集再次进行主动学习的过程。综上,该过程可以分成基于集成学习训练SVM分类器和基于主动学习训练SVM分类器两部分。

由于标注系统需要标注的数据量比较大,如果在训练过程中直接对所有未标注样本进行标注,会给SVM分类器带来很大的压力,严重影响分类结果。所以需要参照缩减样本集的思路,避免一次性将所有的样本都投入训练。

采用上述技术方案所产生的有益效果在于:本发明提供的一种基于半监督学习的图像标注方法,在结果标注阶段,采用的是先基于协同训练的半监督学习方法对SVM分类器进行训练,完成大部分容易标注样本的标注工作;针对剩下的小部分较难标注的样本采用TSVM的训练方式,对SVM求解不断调优,最后得到最终的标注结果。由最终的实验结果可以看出,本发明方法将协同训练方法和TSVM方法相结合比只用这两种算法的任何一种在准确性、敏感性、特异性这三方面表现得都要好。

附图说明

图1为本发明实施例提供的一种基于半监督学习的图像标注方法流程图;

图2为本发明实施例提供的基于协同运算的半监督学习阶段的算法流程图;

图3是本发明实施例提供的基于TSVM的半监督学习阶段的算法流程图;

图4是是本发明实施例提供的基于三种不同的半监督学习算法的标注结果对比图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本实施例中,一种基于半监督学习的图像标注方法,如图1所示,可以看成基于两个阶段实现,即基于协同运算的半监督学习阶段和基于TSVM的半监督学习阶段。其中,基于协同运算的半监督学习阶段用于完成对于未标记样本集中占绝大多数的易标注样本的标注任务,有效控制了每次训练标注的样本数,同时对训练集中样本的个数也进行了很好地控制;有效减轻了SVM分类器的负担,保证了分类的准确率。基于TSVM的半监督学习阶段用于完成剩余未标记样本的标注任务,将基于协同运算的半监督学习阶段已经标注完成的已标记样本和剩余的未标记样本都运用到训练之中,并且融入了集成学习的方法训练分类器的权重和训练集样本的权重。

本实施中,基于协同运算的半监督学习阶段用于完成对于未标记样本集中占绝大多数的易标注样本的标注任务,其算法流程如图2所示,具体实现以下功能:

(1)将每个分类器中置信度高的样本给其余分类器作为训练集;

(2)将置信度高的样本添加到训练集之后,剔除训练集中重复的样本完成样本去重,保证训练样本的多样性;

(3)设定一个训练集样本的阈值,若训练集中样本数量超过阈值,则分类器对样本进行预标注并选择出一定数量的置信度最高的样本完成样本缩减;

(4)完成对于未标记样本集中占绝大多数的易标注样本的标注。

基于TSVM的半监督学习阶段用于完成剩余未标记样本的标注任务,其算法流程如图3所示,具体实现以下功能:

根据每个分类器在基于TSVM的半监督学习阶段的标注表现重新计算它们的权重;

为已标注样本和未标注样本设置各自的影响因子,通过模型的训练不断提升未标注样本的影响因子,直到与已标注样本的影响因子持平;

利用集成学习,根据更新后的各个分类器的权重及对缓冲池U'中未标注样本的标注结果,计算得到缓冲池U'中样本的最终标注结果。

本发明的基于协同运算的半监督学习阶段对协同训练学习算法的改进在于:

(1)分类器的个数

现有的用基于协同训练的半监督学习方法训练SVM分类器采用的是两个分类器的模式,用不同的样本对它们进行训练。本发明的标注方法采用三个分类器一起进行协同训练。由于共有三个分类器,进行协同训练时会将其中一个分类器中置信度较高的未标注样本进行标注后放到其余两个分类器的训练集中。这就要求每个分类器要尽可能的不相同,为了保证每个分类器训练集样本的差异性,本实施例将已标注样本集平均分成三份,分别给每个分类器进行训练,得到三个有一定差异性的分类器。

(2)分类器间协同训练的方式

如果未标注样本过多,计算量会十分大,所以本实施例采用未标注样本缓冲池的方法,从未标注样本集U中随机挑选出一定量样本进入缓冲池U'中,分类器在做预标注的时候,只需要对缓冲池U'中的样本进行预标记即可,不需要管其他在未标注样本集U中的样本,从而大大降低了计算复杂度。并且缓冲池U'的大小是固定的,当缓冲池U'中置信度较高的样本被选中作为分类器的训练集样本之后,会从U中随机挑选一定个数的样本,补充到缓冲池U'中。这样置信度高的样本不断被选中,U中样本不断补充到缓冲池U'中,U中的样本会越来越少。当U中没有样本时,所有的未标注样本都在缓冲池U'中;这就说明已经完成了对大部分易标注样本的标注任务,当前缓冲池U'中的样本都是对分类器来说很难标注的样本,这些样本就交给基于TSVM的半监督学习阶段去进行更加充分细致的训练后,再产生相应的标注结果。

现有的两个分类器协同训练的方法是将每个分类器中置信度高的样本给对方分类器作为训练集。而三个分类器则是将一个分类器中置信度高的样本放入另外两个分类器的训练集中,在此步骤中,可能会出现分类器的训练集中出现重复的样本,可能是某个样本在某两个分类器或者在所有分类器中置信度都很高。重复的样本会造成分类器之间互相将这个重复样本放到对方分类器训练集中,这样会增添训练集样本中的冗余度,使得系统性能提升得很慢,耗费较多时间。为了避免这个问题,本发明在这个阶段中加入了样本去重的操作,将样本添加到训练集之后,剔除掉重复的样本,保证了训练样本的多样性。

(3)对训练集中样本的处理

现有的方法只会向各分类器的训练集中不断地加入训练样本,适量的训练样本数量才能对模型训练效果的提升起到正面的作用。当训练样本很大的时候,会影响到分类器的效率,也会影响标注结果。结合SVM分类器的特点,本发明提出了对训练集中样本及时清理的做法:设定一个训练集样本数的阈值,在训练完分类器之后,判断训练集中样本数是否达到阈值,如果样本数达到了阈值,就会让分类器对样本进行预标注,选择出一定数量置信度最高的样本,将它们从训练集中清除掉。将这些样本移除训练集之后,对它们的来源进行判断,如果样本原本是属于未标注样本集U的,则将该样本以及它的标注结果一起放入L'中;L'用于保存U中样本的标注结果。

基于TSVM的半监督学习阶段对现有基于TSVM的标注算法的改进在于:

(1)TSVM的训练样本集

TSVM将已标记样本和未标记样本都运用到训练之中,所以它为已标注样本和未标注样本都设置了各自的松弛变量,并用影响因子作为系数,来度量已标记样本和未标注样本在模型中的重要程度。通常在初始状态下,未标注样本的参考价值是很小的,通过不断地找出两个预标记样本中的异类进行标记交换,这样不断调整预标注的结果,未标注样本的价值也慢慢提升了起来。本发明对于每个TSVM分类器的样本集进行了补充,将前一个分类器分类错误的样本直接给下一个分类器作为训练集样本。这样就能保证训练集中的样本尽可能地发挥自身的价值。

(2)分类器标记结果的处理

经过基于协同运算的半监督学习阶段的协同训练,三个分类器的分类准确度已经发生了变化,分类器的权重也应该相应的进行更新。因此需要利用集成学习的想法,根据每个分类器在这一阶段的表现重新计算它们的权重。在每个分类器产生完对应的标注结果后,让该分类器对训练集中所有样本进行预标记,根据标记结果计算该分类器的权重,得到三个分类器的权重,根据三个分类器对于每个未标记样本的标注结果,计算最终的标记结果。

本实施例中,基于半监督学习的图像标注方法,具体包括以下步骤:

步骤1:收集医学影像,并对其中部分影像进行标注得到已标注样本集L,则其他未标注影像组成未标注样本集U;同时构建三个SVM分类器G1、G2和G3和缓冲池U′;

步骤2:将已标注样本集L平均分成三个已标注样本子集h1、h2、h3,已标注样本子集h1、h2、h3将分别用于对三个分类器G1、G2和G3的训练;然后从未标注样本集U中随机选择数量为u的样本,放入缓冲池U′中,为后面的训练过程打好基础;

步骤3:使用已标注样本子集h1对分类器G1进行训练得到更新后的分类器G1′,并对样本子集h1进行去重更新;用更新后的分类器G1′对缓冲池U′中的未标注样本进行预标记并计算置信度,将置信度大于设定阈值的样本同时加入另外两个已标注样本子集h2、h3中(如果是使用分类器G1则加入h2、h3,如果使用G2则加入h1、h3,G3同理),同时从未标注样本集U中选取样本向缓冲池中补充未标记样本;然后对分类器G2和G3以及样本子集h2和h3分别进行与分类器G1和样本子集h1相同流程的训练和去重更新,得到更新后的分类器G2′和G3′,并对更新后的三个样本子集进行汇总;

步骤3.1:用已标注样本子集h1对分类器G1进行训练,得到更新后的分类器G1′;

步骤3.2:判断已标注样本子集h1中样本个数是否达到已标注训练集样本阈值,若达到阈值,则通过分类器G1′对h1中样本进行标注,按照正样本和负样本的比例从h1中移除掉置信度大于设定阈值的样本,并将移除的样本中来自未标注样本集U的样本加入到集合L′中;

数据中的正负样本的分布是不平均的,是有一定比例的。大部分的视网膜图像都是健康的,只有少部分视网膜图像发生了病变。所以,在选择置信度高的样本作为其它分类器的训练集样本时,需要考虑到样本分布的特点,按照一定比例进行样本选取。

步骤3.3:用分类器G1′对缓冲池U′中的样本进行预标记,标记过后选取p个置信度最高的正样本和q个置信度最高的负样本,并将这些样本加入h2和h3中(两个样本子集都加入),同时从未标记样本集U中抽取样本来补充缓冲池U′;然后对样本子集h2和h3中的样本进行去重操作;

步骤3.4:类似于使用h1对分类器G1进行操作的步骤,使用样本子集h2和h3分别对分类器G2和G3按照步骤3.1至步骤3.3进行对应的操作,并得到分类器G2′和G3′以及去重更新样本子集h2和h3;最后将去重后的样本子集h1、h2和h3汇总;

步骤4:迭代执行步骤3,直到未标注样本集U中没有剩余样本,得到m轮训练后的分类器G1′_m、G2′_m和G3′_m;此时仅剩缓冲池U′中的样本没有标注结果,表明基于协同运算的半监督学习阶段的工作已经完成,缓冲池U′中的未标注样本通过基于TSVM的半监督学习模块进行处理;

步骤5:将所有去重处理后的已标注样本子集h1、h2和h3中的样本汇总成已标注样本集L

步骤5.1:将经过多轮训练后的已标注样本集h1、h2、h3汇总为新的已标注样本集L

步骤5.2:判断C

已标注样本和未标注样本都设置了各自的松弛变量,并用影响因子作为系数,来度量已标记样本和未标记样本在分类器G1(这里指经过训练得到的模型)中的重要程度;通常在初始状态下,模型的训练主要依靠已标注样本,未标注样本的参考价值是很小的。所以,在训练之初,会将已标注样本的影响因子设置成远远大于未标注样本的影响因子。随着模型不断地训练,会不断地找出两个预标记样本中的异类进行标记交换,通过这样不断调整预标注的结果,未标注样本的价值也慢慢提升了起来。所以未标注样本的影响影子会随着模型的不断训练进行不断的提升,当未标注样本的影响因子和已标注样本的影响因子相等时,说明这一次半监督学习的任务结束了。

步骤5.2.1:从已标注样本集L

步骤5.2.2:使用更新后分类器G1″对缓冲池U′中未标注样本进行预标记,得到每个未标记样本对应的标记,从而得到缓冲池U′中标记后的样本集合C

步骤5.2.3:基于未标注样本集的影响因子C

TSVM算法的目标函数为:

约束条件为:

其中,l表示已标注样本个数,u表示未标注样本,i和j表示样本下标;z

步骤5.2.4:利用5.2.3中得到的松弛因子ξ和未标注样本集中样本预测标注标签y

说明:若未标注样本中存在这样两个未标记样本x

将这两个样本的标记结果

步骤5.3:迭代执行步骤5.2,直到C

步骤5.3.1:迭代步骤5.2,直到C

步骤5.3.2:得到分类器G1″对未标注样本的标注结果,并用分类器G1″对已标注样本集L

步骤5.3.3:将分类器G1″对已标注样本集L

步骤6:分别对步骤4训练后得到G2′_m和G3′_m重复步骤5的训练过程,得到训练后的分类器G2″和G3″;三个分类器训练结束后,得到缓冲池U′中所有未标注样本的标注结果和分类器G1″、G2″和G3″的权重,然后将三个分类器对缓冲池U′中所有未标注样本的标注结果按分类器的权重比例相加得到缓冲池U′中所有未标注样本的最终标注结果。

以上步骤5、6为基于TSVM的半监督学习阶段实现的功能。

本实施例在实验室设备基础上进行,采用windows10的PC机。实验所用的CPU为Intel酷睿i77700K处理器,该处理器具有4核心8线程,基础频率4.5G Hz,动态加速频率4.5G Hz。GPU为NVIDIAGTX 1082Ti,该GPU具有3584个CUDA核心,11GB显存和352bit的显存位宽。该PC机还配备16GB内存和1T硬盘。

本实施例所采用的数据集来自Kaggle竞赛数据集的带标注眼底图像。Kaggle主要面向开发商和数据科学家,为他们提供举办机器学习竞赛的平台,Kaggle包含了丰富的竞赛数据,为研究人员提供了很好的研究基础。

Kaggle糖尿病视网膜病变检测数据库是一个公共数据库,拥有许多张彩色眼底资料照片。这些图像是从加利福尼亚和其他地方的几个初级保健中心收集的,这些中心使用各种数字相机。定义范围从433×289像素到5184×3456像素,所有文件都采用jpeg格式,这些图像还被上传到免费的DR扫描平台。

本发明方法在结果标注阶段,采用的是先基于协同训练的半监督学习方法对SVM分类器进行训练,完成大部分容易标注样本的标注工作;针对剩下的小部分较难标注的样本采用TSVM的训练方式,对SVM求解不断调优,最后得到最终的标注结果。目前已有的半监督标注方法都是只用这两种方法的其中一种方式来进行对SVM分类器的训练工作,没有出现将这两种方法结合起来进行训练的情况。所以,本实施例进行了一组对比实验,分别采用基于协同训练的半监督方法对SVM进行训练、基于TSVM方法对SVM进行训练、基于协同训练半监督SVM和TSVM相结合的方法对SVM进行训练,采用同样一组数据分别对这三种方法进行实验,实验结果如图4所示。由实验结果图4可以看出,将协同训练半监督和TSVM算法相结合比只用这两种算法中的任一一种在准确性、敏感性、特异性这三方面表现得都要好。其中TSVM在准确性和敏感性都比协同训练SVM结果好,而协同训练半监督算法在特异性方面比TSVM表现得更好。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

技术分类

06120115637629