一种基于卷积神经网络模型二次集成的黑色素瘤分类方法与流程

文档序号:16136441发布日期:2018-12-01 01:02阅读:199来源:国知局

本发明涉及计算机视觉领域,特别是涉及图像分类领域。本发明公开了一种新型的黑色素瘤分类方法,具体通过对黑色素瘤的皮肤镜图像进行数据增强来构建多个具有差异性的数据集,同时使用卷积神经网络来进行训练多个分类模型,最后对多个分类器模型通过投票法来进行集成,在集成的过程中也使用了二次集成,最后根据多个模型的投票结果来给出最后模型的预测分类结果。

背景技术

黑色素瘤,也称“恶性黑色素瘤”或被称作“黑素瘤”,它是一种源于黑色素细胞的一类恶性肿瘤。针对黑色素瘤得诊断问题,人们开发了皮肤镜技术,皮肤镜是一种非侵入性皮肤成像技术,用于获取皮肤区域的放大照明图像,以增加皮肤上斑点的清晰度。然而,从皮肤镜检查图像中自动识别黑色素瘤存在诸多挑战:首先,黑色素瘤本身具有巨大的内部变化且黑色素瘤与非黑色素瘤病变之间存在着很高的视觉相似性,肉眼难以区分其类别,即使皮肤科专家医生也难以通过肉眼达到一个较高的准确率;其次,皮肤病变(特别是在早期阶段)与正常皮肤区域之间往往有着比较低的对比度,同时边界也不是很明显,这使得自动识别任务变得更加困难;再次,无论是自然的(毛发、静脉)还是人为的(气泡、尺子标记、颜色校准图等)这些干扰信息的存在都会进一步影响最终的分类结果;最后,皮肤癌的病例普遍较少,皮肤镜图像收集困难,且存在数据不均衡现象。

随着深度学习的发展,卷积神经网络在其中扮演重要的角色。在90年代,lecun等人确立了卷积神经网络的基本结构,他们设计了lenet-5模型,对手写数字分类有很好的效果,同时这个网络是采用反向传播算法进行训练的。2006年krizhevsky等人提出的alexnet网络在图像识别任务上表现出色,随后不断出现性能更好的网络模型,如vggnet、googlenet、resnet、resxnet、densenet等。

在该方法中使用到了集成学习,集成学习的概念并非最近几年才提出来的,而是在多年前就已经提出来了。在许多的竞赛中以及一些工程实践中被大量应用,而且往往可以获得不错的性能提升。它的一个最大的优势在于既能够保证准确度,同时也能提高模型的泛化能力,防止模型的过拟合。而本文研究的内容采用深度学习中的卷积神经网络,加上样本的特殊性,数据量少且数据不均衡,而卷积神经网络往往需要比较多的训练样本,因此训练后的神经网络模型往往有泛化能力差的特点。所以如果在深度学习中使用集成学习可以提高网络的泛化能力,是非常有价值的。



技术实现要素:

为了解决黑色素瘤分类精度低,以及分类过程中存在数据不均衡的情况,本发明提出了一种基于卷积神经网络模型二次集成的黑色素瘤分类方法,通过构建多个具有差异的训练集a、b、c等以及使用resnet的50层卷积神经网络进行训练,最后根据模型的投票结果先进行一次集成,然后在一次集成的基础上再进行二次集成,旨在提高黑色素瘤自动识别分类的性能。

本发明解决其技术问题所采用的技术方案是:

一种基于卷积神经网络模型二次集成的黑色素瘤分类方法,所述方法包括以下步骤:

步骤1.基于随机掩盖来构建多个具有差异性的不同训练集;

步骤2.卷积神经网络模型的构建及使用focalloss作为模型的惩罚函数;

步骤3.卷积神经网络模型的集成及二次集成。

进一步,所述步骤1中,通过随机掩盖进行原始数据的增强,然后按照设定方式对于增强后的数据和原始数据进行组合来构建多个具有不同样本的训练集,构建的多个训练集如下所示:

训练集a:原始训练集+mask150+mask300;

训练集b:原始训练集+mask150+mask200+mask250+mask300;

训练集c1:b类由原始图像组成,m类由m类的原始图像、m_mask150和m_mask300图像组成;

训练集c2:b类由b_mask150图像组成,m类由m类原始图像、m_mask150图像和m_mask300图像组成;

训练集c3:b类由b_mask300图像组成,m类由m类原始图像、m_mask150图像和m_mask300图像组成;

训练集c4:b类由b_mask200图像组成,m类由m类原始图像、m_mask150图像和m_mask200图像组成;

训练集c5:b类由b_mask250图像组成,m类由m类原始图像、m_mask200图像和m_mask250图像组成。

其中mask150、mask200、mask250、mask300代表对原始训练集中的b类和m类进行掩盖,掩盖区域大小分别为150×150、200×200、250×250、300×300

再进一步,所述的步骤2中,卷积神经网络模型的构建及使用focalloss作为模型的惩罚函数的过程为:

将网络中的softmaxloss替换为focalloss,并调节参数,其公式组成如下:

softmax函数的表达式定义如下:

公式中xj代表卷积神经网络的输出,softmax函数的输出为对某一维度的值xi转化而成的概率值;

其中p代表softmax函数输出某个样本属于黑色素瘤的概率值,y代表样本的标签,其中b类的标签为0,m类的标签为1;

focalloss的函数表达式如下:

fl(pt)=-αt(1-pt)γlog(pt)

其中p代表softmax函数输出的概率值,α∈[0,1]和γ∈[0,∞]是两个可以人为调节的参数。

所述的步骤3中,对卷积神经网络模型的集成及二次集成的过程为:

3.1.通过构建多个不同的训练集,一共训练了8个卷积神经网络模型,a、b、c1、c2、c3、c4、c5,最主要的特征在于先对c1、c2、c3、c4、c5模型进行集成,并且这5个模型在构建的时候模型c2的时候使用模型c1的参数进行初始化c2,同样的构建c3时使用模型c2的参数进行初始化c3,构建c4时使用模型c3的参数进行初始化c4,构建c5时使用模型c4的参数进行初始化c5,通过这种迁移式的微调来构建c1、c2、c3、c4、c5可以保证网络学习到的参数在保持稳定的同时也具有一定的变化;最后再对这5个模型集成得到最终的模型c,此为第一次集成,之后再将模型a、b、c进行集成来得到最终的分类模型d;

3.2.在对模型进行集成的时候,使用投票法进行集成;即任意一张需要预测图像,每个卷积神经网络分类模型预测一个结果,并统计分类模型的预测结果,最终集成后的模型的结果为票数最多的类别,比如对于测试图像1来说,假设卷积神经网络分类模型1和卷积神经网络分类模型2给出的预测结果为b类,即输出为b类的概率值大于0.5,卷积神经网络分类模型3给出的预测结果为m类,即输出为m类的概率值大于0.5,则最终集成后的额模型给出的预测结果为b类;最后对模型a、b、c进行投票集成,得到最终的集成模型d。

本发明的有益效果为:提高黑色素瘤自动识别分类的性能

附图说明

图1为标准交叉熵函数图像和focalloss函数图像对比图。

图2为整个集成模型框架图。

具体实施方式

以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。

参照图1和图2,一种基于卷积神经网络模型二次集成的黑色素瘤分类方法,所述方法包括以下步骤:

步骤1.基于随机掩盖来构建多个具有差异性的不同训练集;

步骤2.卷积神经网络模型的构建及使用focalloss作为模型的惩罚函数;

步骤3.卷积神经网络模型的集成及二次集成。

进一步,所述步骤1中,通过随机掩盖进行原始数据的增强,然后按照设定方式对于增强后的数据和原始数据进行组合来构建多个具有不同样本的训练集,随机掩盖是随机选择图像中的某块区域将该区域的像素值设置为0,通过控制掩盖区域的大小来构建多个不同的具有差异性的数据集。原始训练集中存在两种类别的样本,我们使用b类和m类来表示,其中b类表示良性非黑色素瘤皮肤病,m类表示恶性黑色素瘤皮肤病。对于的增强后的数据集其命名规则为mask150(代表随机掩盖区域大小为150×150)、mask200(代表随机掩盖区域大小为200×200)、mask250(代表随机掩盖的区域大小为250×250)、mask300(代表随机掩盖的区域大小为300×300),在其名称前加上类别名则代表对此类别的样本进行的相应的数据增强,比如b_mask150代表对于b类样本进行随机掩盖增强,掩盖的区域大小为150×150,若名称前面不加类别名则代表对b类和m类这两种类别都进行随机掩盖增强;构建的多个训练集如下所示:

训练集a:原始训练集+mask150+mask300;

训练集b:原始训练集+mask150+mask200+mask250+mask300;

训练集c1:b类由原始图像组成,m类由m类的原始图像、m_mask150和m_mask300图像组成;

训练集c2:b类由b_mask150图像组成,m类由m类原始图像、m_mask150图像和m_mask300图像组成;

训练集c3:b类由b_mask300图像组成,m类由m类原始图像、m_mask150图像和m_mask300图像组成;

训练集c4:b类由b_mask200图像组成,m类由m类原始图像、m_mask150图像和m_mask200图像组成;

训练集c5:b类由b_mask250图像组成,m类由m类原始图像、m_mask200图像和m_mask250图像组成。

再进一步,所述的步骤2中,卷积神经网络模型的构建及使用focalloss作为模型的惩罚函数的过程为:

将网络中的softmaxloss替换为focalloss,并调节参数,其公式组成如下:

softmax函数的表达式定义如下:

公式中xj代表卷积神经网络的输出,softmax函数的输出为对某一维度的值xi转化而成的概率值;

其中p代表softmax函数输出某个样本属于黑色素瘤的概率值,y代表样本的标签,其中b类的标签为0,m类的标签为1;

focalloss的函数表达式如下:

fl(pt)=-αt(1-pt)γlog(pt)

其中p代表softmax函数输出的概率值,α∈[0,1]和γ∈[0,∞]是两个可以人为调节的参数。

所述的步骤3中,对卷积神经网络模型的集成及二次集成的过程为:

3.1.通过构建多个不同的训练集,一共训练了8个卷积神经网络模型,a、b、c1、c2、c3、c4、c5,最主要的特征在于先对c1、c2、c3、c4、c5模型进行集成,并且这5个模型在构建的时候模型c2的时候使用模型c1的参数进行初始化c2,同样的构建c3时使用模型c2的参数进行初始化c3,构建c4时使用模型c3的参数进行初始化c4,构建c5时使用模型c4的参数进行初始化c5,通过这种迁移式的微调来构建c1、c2、c3、c4、c5可以保证网络学习到的参数在保持稳定的同时也具有一定的变化;最后再对这5个模型集成得到最终的模型c,此为第一次集成,之后再将模型a、b、c进行集成来得到最终的分类模型d;

3.2.在对模型进行集成的时候,使用投票法进行集成;即任意一张需要预测图像,每个卷积神经网络分类模型预测一个结果,并统计分类模型的预测结果,最终集成后的模型的结果为票数最多的类别,比如对于测试图像1来说,假设卷积神经网络分类模型1和卷积神经网络分类模型2给出的预测结果为b类,即输出为b类的概率值大于0.5,卷积神经网络分类模型3给出的预测结果为m类,即输出为m类的概率值大于0.5,则最终集成后的额模型给出的预测结果为b类;最后对模型a、b、c进行投票集成,得到最终的集成模型d。

本实施例的基于卷积神经网络模型二次集成的黑色素瘤分类方法,包括以下步骤:

步骤1.基于随机掩盖构建多个具有差异性的不同训练集,过程如下:

1.1构建训练集a

对于原始训练集中的所有样本进行数据增强,假设取到的样本为isic00699.jpg对其分别进行掩盖面积大小为150×150、300×300的随机掩盖。对原始训练集进行全部遍历采样从而得到增强样本数据集mask150、mask300,将其增强样本数据集中的图像数据和原始训练集中的图像数据混合放在一起组成训练集a;

1.2构建训练集b

对于原始训练集中的所有样本进行数据增强,假设取到的样本isic00123.jpg对其分别进行掩盖面积大小为150×150、200×200、250×250、300×300的随机掩盖。对原始训练集进行全部遍历采样从而得到增强样本数据集mask150、mask200、mask250、mask300,将其增强样本数据集中的图像数据和原始训练集中的图像数据混合放在一起组成训练集b;

1.3构建训练集c1、c2、c3、c4、c5

训练集c1:对于原始训练集中的所有m类样本进行数据增强,假设取到的m类样本为isic00342.jpg,对其分别进行掩盖面积大小为150×150、300×300的随机掩盖,对原始训练集进行全部遍历采样从而得到增强样本数据集m_mask150、m_mask300。将原始训练集中的两类样本和m_mask150、m_mask300组成训练集c1。

训练集c2:对于原始训练集中的所有m类样本进行数据增强,假设取到的m类样本为isic00322.jpg,对其分别进行掩盖面积大小为150×150、300×300的随机掩盖,对原始训练集中的m类样本进行全部遍历采样从而得到增强样本数据集m_mask150、m_mask300。对于原始训练集中的所有b类样本进行数据增强,假设取到的b类样本为isic00122.jpg,对其进行掩盖面积大小为150×150的随机掩盖,对原始训练集中的b类样本进行全部遍历采样从而得到增强样本数据集b_mask150。将m类的原始样本和m_mask150、m_mask300、b_mask150y一起组成训练集c2。

训练集c3:对于原始训练集中的所有m类样本进行数据增强,假设取到的m类样本为isic00322.jpg,对其分别进行掩盖面积大小为150×150、300×300的随机掩盖,对原始训练集中的m类样本进行全部遍历采样从而得到增强样本数据集m_mask150、m_mask300。对于原始训练集中的所有b类样本进行数据增强,假设取到的b类样本为isic00112.jpg,对其进行掩盖面积大小为300×300的随机掩盖,对原始训练集中的b类样本进行全部遍历采样从而得到增强样本数据集b_mask300。将m类的原始样本和m_mask150、m_mask300、b_mask300一起组成训练集c3。

训练集c4:对于原始训练集中的所有m类样本进行数据增强,假设取到的m类样本为isic00022.jpg,对其分别进行掩盖面积大小为200×200、250×250的随机掩盖,对原始训练集中的m类样本进行全部遍历采样从而得到增强样本数据集m_mask200、m_mask250。对于原始训练集中的所有b类样本进行数据增强,假设取到的b类样本为isic00012.jpg,对其进行掩盖面积大小为200×200的随机掩盖,对原始训练集中的b类样本进行全部遍历采样从而得到增强样本数据集b_mask200。将m类的原始样本和m_mask200、m_mask250、b_mask200一起组成训练集c4。

训练集c5:对于原始训练集中的所有m类样本进行数据增强,假设取到的m类样本为isic00022.jpg,对其分别进行掩盖面积大小为200×200、250×250的随机掩盖,对原始训练集中的m类样本进行全部遍历采样从而得到增强样本数据集m_mask200、m_mask250。对于原始训练集中的所有b类样本进行数据增强,假设取到的b类样本为isic00012.jpg,对其进行掩盖面积大小为250×250的随机掩盖,对原始训练集中的b类样本进行全部遍历采样从而得到增强样本数据集b_mask250。将m类的原始样本和m_mask200、m_mask250、b_mask250一起组成训练集c5。

步骤2.构建卷积神经网络模型及使用focalloss作为模型的惩罚函数,过程如下:

2.1构建卷积神经网络

采用resnet50层的网络,网络输入为224×224大小,3通道的彩色rgb皮肤病图像。其中第一层为卷积层,第一层之后连接了一个池化层,池化层之后连接了16个残差块,每个残差块后面连接了一个池化层和激活层,同时每个残差块中在主网络路径上有三层网络,最后一层为全连接层同时网络最后的全连接层的输出设置为2。

2.2添加focalloss作为优化网络的惩罚函数

在resnet50层网络之后连接一个softmax层负责将网络的输出转化程概率形式,然后再连接一个focalloss层,并设定focalloss中的参数α=0.999,γ=0。

步骤3.卷积神经网络模型的集成及二次集成。

3.1将训练集a作为模型a的输入,训练出模型a;

3.2将训练集b作为模型b的输入,训练出模型b;

3.3模型c的训练及集成

模型c是由模型c1、c2、c3、c4、c5通过迁移训练和最后集成而来,流程如下:

1:将训练集c1作为模型c1的训练集,网络为resnet50,损失函数为focalloss,训练初始化参数时使用resnet50在imagenet数据集上训练的参数;

2:将训练集c2作为模型c2的训练集,同时将step1中训练后得到的网络优化的参数作为模型c2的网络参数的初始值,进行训练;

3:将训练集c3作为模型c3的训练集,同时将step2中训练后得到的网络优化的参数作为模型c3的网络参数的初始值,进行训练;

4:将训练集c4作为模型c4的训练集,同时将step3中训练后得到的网络优化的参数作为模型c4的网络参数的初始值,进行训练;

5:将训练集c5作为模型c5的训练集,同时将step4中训练后得到的网络优化的参数作为模型c5的网络参数的初始值,进行训练;

6:根据模型c1、c2、c3、c4、c5的输出结果进行投票,最终集成后的模型c的预测结果为票数多的类别。

表1为分类结果评估指标:

表1。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1