首页> 中国专利> 基于轻量级孪生卷积神经网络的病识别方法

基于轻量级孪生卷积神经网络的病识别方法

摘要

本发明公开了一种基于轻量级孪生卷积神经网络的病识别方法,包括如下步骤:构建细粒度病变特征联合训练模型,包括数据生成器,数据生成器与特征提取器连接,特征提取器与孪生卷积神经网络连接,孪生卷积神经网络与特征判别网络连接;对细粒度病变特征联合训练模型进行训练,基于损失函数值最小的细粒度病变特征联合训练模型生成细粒度病变特征识别模型;将待识别图像输入细粒度病变特征识别模型中,输出对应的皮肤病类别。基于孪生卷积神经网络进行正负样本联合训练的方法,模型可以提取到更具判别性的特征,有效缓解了原始数据集中病变图像特征存在类间差异小,类内差异大情况,增强了模型的特征判别能力。

著录项

  • 公开/公告号CN112598658A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利号CN202011588757.9

  • 发明设计人 丁坤;徐劲松;高云峰;曹雏清;

    申请日2020-12-29

  • 分类号G06T7/00(20170101);G06K9/46(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构34107 芜湖安汇知识产权代理有限公司;

  • 代理人钟雪

  • 地址 241000 安徽省芜湖市鸠江区经济技术开发区神州路17号国家工业机器人产品质量监督检验中心园区办公楼

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本发明属于病变识别技术领域,更具体地,本发明涉及一种基于轻量级孪生卷积神经网络的病识别方法。

背景技术

医疗关乎人类生命健康,近年来,借助数据驱动的方法辅助医学图像分析诊断得到了越来越多医学图像与计算机视觉领域学术界与工业界的关注,越来越多先进的算法被开发出来辅助人类医生进行疾病诊断。基于机器学习的自动识别模型,主要包括特征提取与分类器训练两个步骤。其中,如何有效对表观特征进行建模直接影响模型最终的性能。在医学图像分析,尤其是识别领域,最常用的分类器是KNN、SVM和Logistic Regression。Logistic Regression和KNN算法简洁而清晰,SVM则有着非常良好的数学理论证明和高维特征下强大的分类能力。因此,在深度学习尚未大规模应用之前,设计良好的特征来训练传统机器学习分类器一直是医学图像分析领域研究者的工作重心。但是,因表观特征非常复杂,手工设计的特征往往需要经验非常丰富的专家来完成。此外,手工设计的特征并不能准确对病变区域外观进行良好表示,因此其泛化性能通常较差,表现为在小型数据集上精度较高,但是将模型应用到实际场景中时,精度就会大幅度降低。近些年来,随着深度学习在计算机视觉取得的突破性进展,越来越多的医学图像分析研究者开始选择深度学习来构建疾病自动识别模型。与传统方法相比,基于深度学习的模型不需要研究者进行复杂的特征设计与分类器选取,深度学习模型可以自动地从数据中进行端到端的学习,并且表现出了强大的特征提取能力。

现有的皮肤病辅助诊断方案包括:预处理步骤,用于原始的皮肤病数据集进行增强处理,通过构建区域候选网络来初步筛选出可能的前景区域检测框,通过非极大值抑制对前景区域检测框的得分进行排序,并输出预设个数的检测框作为候选区域输出,在结合特征图和候选区域进一步生成候选区域特征图,然后基于候选区域特征图和后续的全连接层进行皮肤病病变特征的识别与定位。最后,采用数据增强后的数据集对候选区域模型进行微调,即所述迁移学习策略来完成最终识别模型的训练。该方案存在如下问题:

a)数据增强和目标检测网络:目标检测网络是一种常用的图像分析任务模型,其实现了对给定图像的目标定位与识别功能,在自然图像目标检测中得到有效的应用,通过结合数据增强手段,扩增了模型的原始训练集。然而,其却有着两个主要的限制:一方面,医学图像标准数据集欠缺并不能过度依赖数据增强策略来缓解,较少的原始数据集通过数据增强技术处理后,其图像虽在数量可以自由成倍扩增,但新增图像样本的有效变化模式仍较为局限,同时,大量的重复性扩增也可能给模型带来过拟合风险。另一方面,基于目标检测网络通常具有较大参数量这一特点,其有效训练往往需要一定规模的原始数据集作为支撑,在医学图像方面实现具有一定难度,同时较大的参数量也给模型部署带来了潜在困难。

b)模型训练与特征提取:目标检测网络需要对网络内的不同模型交替进行训练,区域候选特征网络的训练为进一步训练病变特征定位和识别网络提供其所需的候选区域,整个目标检测的网络有效训练需要依赖良好的训练策略,同时由于医学图像病变特征的不规则性和复杂性,也给区域候选特征网络中候选框尺寸的选择上带来了额外的挑战。基于目标检测网络虽然可以实现对皮肤病病变区域的定位和识别,但其特征提取定位和识别方式缺乏一定的可解释性,在一定程度上无法为其病变特征识别提供有效的推理依据。

发明内容

本发明提供了一种基于轻量级孪生卷积神经网络的病识别方法,旨在改善上述问题。

本发明是这样实现的,一种基于轻量级孪生卷积神经网络的病识别方法,所述方法具体包括如下步骤:

S1、构建细粒度病变特征联合训练模型,包括数据生成器,数据生成器的输出端与特征提取器的输入端连接,特征特征提取器的输出端与孪生卷积神经网络的输入端连接,孪生卷积神经网络中的平均池化层的输出端与特征判别网络的输入端连接;

S2、对细粒度病变特征联合训练模型进行训练,基于损失函数值最小的细粒度病变特征联合训练模型生成细粒度病变特征识别模型;

S3、将待识别图像输入细粒度病变特征识别模型中,输出对应的皮肤病类别。

进一步的,细粒度病变特征联合训练模型具体如下:

数据生成器,用于生成训练样本对,训练样本对由设定比例的正样本对及负样本对组成,训练样本对输入特征提取器;

特征提取器,用于提取输入训练样本对对应的两组特征向量,分别输入至孪生卷积神经网络的两支分类网络;

孪生卷积神经网络,包括两支分类网络,分别判断两组特征向量所述的病变类别,并将其平均池化层的特征向量输出至特征判别网络;

特征判别网络,基于两组特征向量判断输入训练样本对是否属于同一病变类别。

进一步的,细粒度病变特征识别模型具体如下:

特征提取器,用于提取待识别图像的特征向量,分别输入至孪生卷积神经网络中损失函数值小的分类网络;

孪生卷积神经网络,损失函数值小的分类网络基于特征向量判断待识别图像对应的病变类别,并进行输出。

进一步的,在步骤S3之后还包括:

S4、输出用于病变类别的判定类激活图,类激活图的计算公式具体如下:

其中,

进一步的,损失函数具体如下:

L

式中:y

进一步的,正样本对及负样本对的构建方法具体如下:

从增强数据集读取的一组训练图像数据X,以及对应的类别标签Y;对集合X中的元素依次进行遍历,在集合X找到第一个与其具有相同标签的元素,若不存在与其相同标签的元素,则跳过该元素,执行下一个元素的匹配过程,直至完成所有元素匹配;构建与集合X相同的集合X′,在集合X′中,将相同标签的两个匹配元素的索引互换,构建相同病变类型但病变特征表现不同的正样本对,将集合X′中将未匹配到的元素按照索引值从大到小的方向逆向互换位置,构建不同病变类别的负样本对;

从增强数据集中随机读取一组图像数据为X,以及对应的类别标签Y,再从增强数据集中随机读取另一组图像数据为X′,以及对应的类别标签Y′,两组数据(X,Y)、(X′,Y′)中负样本对将占主要比例,负样本对构建完成。

本发明提供的基于轻量级孪生卷积神经网络的皮肤病识别方法具有如下有益技术效果:1)通过轻量级卷积模块构建了具有两个并行分支结构的孪生卷积神经网络,达到了端到端训练模型的同时,显著降低了模型参数量,缓解了深度学习方法对小样本数据集不适应性情况;2)为了增强模型的特征判别能力,本技术方案提出了基于孪生卷积神经网络进行正负样本联合训练的方法。通过该方法,模型可以提取到更具判别性的特征,即有效缓解了原始数据集中病变图像特征存在类间差异小,类内差异大情况,增强了模型的特征判别能力;3)模型训练时采用基于Focal Loss损失函数的方法,可以提高模型对于难分样本的识别能力。

附图说明

图1为本发明实施例提供的基于轻量级孪生卷积神经网络的皮肤病识别方法流程图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

图1为本发明实施例提供的基于轻量级孪生卷积神经网络的病识别方法流程图,可以用于皮肤病的病变识别,该方法具体包括如下步骤:

本技术方案包括四个过程,即数据集预处理、模型构建与模型训练以及病变识别与可视化。

一)数据集预处理的过程:

1)获取ISIC2019皮肤镜图像数据库(ISIC2019数据库有9类病变类别,共计2.3W张图像),由于病变类别数量存在显著的不平衡现象,需要进行数据增强处理,缓解模型可能出现的过拟合现象;

2)设置数据增强的形式:基于几何变换处理和对比度、亮度变化处理;其中,几何变换处理包含了旋转,翻转,镜像,形变,倾斜,中心裁剪等方式。

3)设置步骤2)中图像增强方法的使用概率,以便组成不同的增强方式,进一步丰富图像增强方式。其中旋转的范围设置为左右25度以内;翻转设置上下和左右两种形式;镜像设置为上下和左右两种形式;形变半径设置为4,形变系数设置为2;倾斜设置水平和垂直方向10度以内;缩放系数为0.8-0.95;中心裁剪系数为0.8-0.95;亮度系数变化范围为0.75-1.25;对比度系数设置为0.85-1.15。

4)基于步骤3)设定好的数据增强方式对划分好的皮肤病原始训练数据集中不同类型的病变文件中的每一张图像循环进行增强处理,以得扩充后的数据集,同时将原始训练数据集按照病变类别对应关系依次拷贝至扩充后的数据集,构成最终的用于模型训练的增强数据集。

二)模型构建与模型训练的过程:

1)模型构建

1)训练数据生成器设计。

主要目的是构建符合孪生卷积神经网络训练所需的数据结构。因模型的输入需要提供两组不同的数据,且这两组数据具有一定的特殊性,具体表现为:两组数据相对应索引位置的数据类别是相同的或不同的,相同时,对应的相似性标签为[1,0],不同时,对应的标签为[0,1],采用one-hot编码,由于模型在每次迭代训练往往需要对输入数据做随机打乱处理,因此,无法基于读取得到的随机数据来的调整正负样本的比例,这需要对输入网络的数据进行重新处理,设计专门的数据生成器来为模型提供训练所需的正负样本对。

数据生成器:构建正样本对。

从增强数据集随机读取一组训练图像数据X,以及对应的病变类别标签Y,如皮肤病类型,其中,X={x

数据生成器:构建负样本对。

神经网络在进行训练时,通常会将训练前的数据进行随即打乱处理,以防止模型训练过度拟合某一类别,因此,构建负样本对可以基于此有效进行。具体操作为:假定从增强数据集中随机读取一组图像数据为X,以及对应的病变类别标签为Y,其中,X={x

据生成器参数设置。对数据生成器中正负样本对的生成比例进行设置,形成训练样本对,以便控制模型的训练方向。

2)构建轻量级卷积神经网络作为特征提取器。

将训练样本对输入特征提取器,输出两组特征向量,即样本对中两样本对应的特征向量,其中,特征提取器包括深度可分离卷积层及标准卷积层本发明中所使用的深度可分离卷层中卷积核大小为3x3,步长为1及卷积核大小为3x3,步长为2,标准卷积层的卷积核大小为3x3,步长为1。

整个特征提取器由步长为2,卷积核为3x3的标准卷积层作为首层、将步长为1,卷积核为3x3的深度可分离卷积层和步长为2,卷积核为3x3深度可分离卷积层交替组合作为后续连接层。

3)构建特征判别网络。

特征判别网络包括特征相似度度量层,全连接层,特征相似度度量是一个无参数层主要用于特征向量相似度的度量计算,因此特征度相似度度量层的输入与特征提取器输出的特征向量的维度相同,基于特征相似度判断输入的样本对是否属于相类别下的子类别,其计算公式如下:

D(Y

式中:Y

例如正样本对中的A样本和B样本同属于c1类别,C属于c2类别。但A样本与C样本之间的相似度可能要大于A样本与B样本之间的相似度。此时,要通过训练缓解了原始数据集中病变图像特征存在类间差异小,类内差异大情况,增强了模型的特征判别能力。

在特征度相似度度量层后依次连接两个全连接层,其中,第一个全连接层用于特征的进一步提取,而第二个的全连接层用于输出最终的特征度量结果(激活函数为softmax),由此,特征判别网络构成。

4)构建孪生卷积神经网络。

特征提取器作为孪生卷积神经网中共享参数的特征提取层,并将特征提取器输出的两组特征向量作为输入,分别构建两条并行的分类网络。分类网络由一个全局平均池化层和两个全连接层构成,其中,全局平均池化层和一个全连接层用于特征的进一步提取,而第二个的全连接层用于输出最终的特征识别结果,由此孪生卷积神经网络构建完成。

步骤五:细粒度病变特征联合训练模型构建.

特征提取器的输出端与孪生卷积神经网络中两并列的全局平均池化层的输入端连接,两并列的全局平均池化层的输出端与特征判别网络中的特征相似度度量层的输入端连接,将孪生卷积神经网络和特征判别网络进行结合进行联合训练。具体来说,通过将这三条分支网络的损失函数进行加权来控制各个模型损失值分支在训练时所占权重比例。由此,细粒度病变特征联合训练模型构建完成。

由于模型中加入了特征判别网络,因此本文皮肤病识别网络在训练期间可以更加有效的学习到同类皮肤病变特征的相同模式和不同类别皮肤病变特征的差异性,从而提高模型的特征判别能力;此外,由于加入了模型采用轻量化卷积模块构建,因此显著降低了模型的参数量,这对具有小样本数据集特点的医学图像AI诊断是有利的,同时,模型的轻量化还能够显著减少模型运行时对硬件资源的要求,便于将模型部署至各种移动设备和其他通用平台,提高算法的实际应用潜能。

三)模型训练

1)损失函数设计

为平衡模型在训练期间对难易样本的关注度,在本发明联合训练网络中分别采用Focal loss、Cross entropy来构建损失函数,相关公式计算如下:

L

式中:y

2)模型训练优化策略

模型训练的优化策略采取迁移学习的方式,具体来说:模型在训练前,首先会通过加载在ImageNet上训练好的权重作为特征提取器参数的初始化方式,提高模型对通用低级特征的泛化能力,加快模型收敛速度。其次,为了防止模型的低层特征泛化能力被较大的学习率所干扰破坏,以0.0001作为Adam优化器的初始学习率对模型进行训练,并通过结合学习率衰减策略,进一步提高模型的收敛性能,具体设置为:当模型在连续4个训练迭代过程中均未出现性能提升的情况,则学习率衰减至当前值的1/2。

四)病变识别与可视化

1)病变识别

首先,选取已训练好的孪生卷积神经网络中性能较优的那一条分类网络作为皮肤病识别模型。其次,对获取到的图像进行数据归一化操作,具体来说包含了尺度归一化和数值归一化,其中,尺度规划化由细粒度病变特征联合训练模型的输入维度来确定,数值归一化主要将图像像素值映射到[0,1]区间内;然后,将数据归一化后的待识别图像输入至细粒度病变特征识别模型的特征识别器中,特征识别器提取待识别图像的特征向量,输出至能较优的那一条分类网络进行病变类别的识别,即可得到最终的病变类别检测结果。

2)可视化解释

医学图像诊断由于领域的特殊性,导致其无论是人工诊断还是机器诊断,都需要提高可靠的诊断依据,但在皮肤病诊断中,基于机器学习的方法往往忽略了这一点,而只关注与模型性能的提升。Grad CAM++是对模型进行可视化解释的一种有效的方法,可以输出模型的推理依据,反映影响模型推理结果的潜在区域,即类激活图。其计算公式如下:

在CAM中,认为c类的得分Y

Y

式中:

式中:

式中:N是指定卷积层的通道参数,可以发现,由于

式中:relu是一个线性校正单元,功能类似于神经网络中的激活函数ReLU。

式中:(l,m)和(i,j)取不同的名称仅仅是为了在求导过程防止混淆,实际上均表示特征图中的相同位置,不失一般性的,通过将relu从式(5)中移除,并对Y

对式(6)进行整理可得:

进一步结合式(4)得到:

Y

通过对比式(3)可以发现,

本发明提供的基于轻量级孪生卷积神经网络的皮肤病识别方法具有如下有益技术效果:1)通过轻量级卷积模块构建了具有两个并行分支结构的孪生卷积神经网络,达到了端到端训练模型的同时,显著降低了模型参数量,缓解了深度学习方法对小样本数据集不适应性情况;2)为了增强模型的特征判别能力,本技术方案提出了基于孪生卷积神经网络进行正负样本联合训练的方法。通过该方法,模型可以提取到更具判别性的特征,即有效缓解了原始数据集中病变图像特征存在类间差异小,类内差异大情况,增强了模型的特征判别能力;3)模型训练时采用基于Focal Loss损失函数的方法,可以提高模型对于难分样本的识别能力。

例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号