基于深度学习的糖尿病视网膜病变分类分级方法与流程

文档序号:12826205阅读:335来源:国知局

本发明涉及一种对每类糖尿病视网膜病变进行分级的方法。



背景技术:

现有技术中,对各类糖尿病视网膜病变的分级普遍基于人工定义的若干项目标特征而进行,例如公开号为cn105513077a的中国发明专利中,公开了一种用于糖尿病视网膜病变筛查的系统,它通过分类器对人工定义的若干项目标特征,如血管轮廓,红色病变(微血瘤),亮度病变(渗出、棉絮斑)等进行识别和判断,以达到对糖尿病视网膜病变分级进行预测的目的。目前的糖尿病视网膜病变分级技术基本属于该技术流派。上述分级方法存在的缺陷在于:一,人工定义的特征具有局限性,无法充分利用医疗影像中的信息,造成实际应用中准确性受限;二,算法是静态的,准确性无法随着获得的病人数据的增加而提高。



技术实现要素:

本发明的目的是提供一种能够充分利用医疗影像中的信息,从而提高分级准确性的基于深度学习的糖尿病视网膜病变分类分级方法。

为达到上述目的,本发明采用的技术方案是:

一种基于深度学习的糖尿病视网膜病变分类分级方法,包括以下步骤:

(1)准备照片库,所述照片库中包含若干包括诊断标记的眼底镜照片,且每类糖尿病视网膜病变均对应有具有多张所述眼底镜照片的分类照片库;

(2)对所述照片库中的眼底镜照片进行预处理而得训练范例照片,且所述训练范例照片构成训练范例库,所述训练范例库中的照片数量大于所述照片库中的照片数量;每类糖尿病视网膜病变均对应有具有多张所述训练范例照片的分类训练范例库;

(3)针对每类糖尿病视网膜病变分别建立其对应的深度卷积神经网络;每个所述深度卷积神经网络均包括多级神经网络架构;每个所述深度卷积神经网络中,除第一级所述神经网络架构以外的各级所述神经网络架构基于其前一级所述神经网络架构而搭建;

(4)针对每个所述深度卷积神经网络,采用对应的所述分类训练范例库中的训练范例照片多次训练所述深度卷积神经网络中的各级神经网络架构,训练时按照设定的学习率调整所述神经网络架构的参数,从而得到针对每类糖尿病视网膜病变的多个训练后的深度卷积神经网络;

(5)基于各所述训练后的深度卷积神经网络中最后一级所述神经网络架构的输出值对所述糖尿病视网膜病变进行分级。

优选的,每个所述深度卷积神经网络均包括三级所述神经网络架构,分别为第一级神经网络架构、第二级神经网络架构、第三级神经网络架构;

所述第一级神经网络架构包括19层神经元,依次分别为:输入层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、均方根池化层、丢弃层、全连接层、最大池化层、丢弃层、全连接层、最大池化层、输出层;

在所述第一级神经网络架构中的均方根池化层之前首次增加四层神经元而构成所述第二级神经网络架构,首次增加的四层神经元依次分别为:最大池化层、卷基层、卷基层、卷基层;

在所述第二级神经网络架构中的均方根池化层之前再次增加四层神经元而构成所述第三级神经网络架构,再次增加的四层神经元依次分别为:最大池化层、卷基层、卷基层、卷基层。

优选的,训练各级所述神经网络架构时,各级所述神经网络架构中的每一个卷基层的输出和每一个全连接层的输出均经过leakyrelu方程运算后再传至下一层神经元。

优选的,训练各级所述神经网络架构时,使用meansquarederror作为损失函数,使用nesterovmomentum算法作为学习算法。

优选的,训练各级所述神经网络架构时,每次训练的学习率小于或等于前一次训练的学习率。

优选的,训练各级所述神经网络架构时,对所述深度卷积神经网络中的各参数使用l2weightdecay规则化。

优选的,针对每个所述深度卷积神经网络所进行的每次训练,遍历其所对应的所述分类训练范例库中的分类训练照片。

优选的,对所述眼底镜照片进行的预处理包括分辨率调整、像素归一化;进行所述分辨率调整时,将每张所述眼底镜照片调整为分辨率递增的多张所述训练范例照片,每张所述眼底镜照片所对应的多张所述训练范例照片的张数与所述深度卷积神经网络所包含的神经网络架构的级数相等,且在训练所述深度卷积神经网络时,采用各级所述神经网络架构对应的训练范例照片对其进行训练。

优选的,在准备所述照片库时,依据所述眼底镜照片所包括的诊断标记,每类糖尿病视网膜病变的各个分级的眼底镜照片的数量比例平均。

优选的,训练各级所述神经网络架构时,通过随机选取法而确定第一级所述神经网络架构的初始参数;采用训练后的一级所述神经网络架构的部分参数作为下一级所述神经网络架构的部分初始参数,其余部分初始参数随机初始化。

由于上述技术方案运用,本发明与现有技术相比具有下列优点:本发明的方法通过对大量包括诊断标记的眼底镜照片的运用,通过深度学习实现自动从训练范例库中学习所需特征并进行分级判断,在训练过程中不断纠正用于判断的数据特征以及深度卷积神经网络参数,从而能够极大提高在现实应用场景中的分级准确性和可靠度,且随着训练范例库中训练照片的数量递增,该分级准确性和可靠度还将进一步提高。

具体实施方式

下面实施例对本发明作进一步描述。

实施例一:一种基于深度学习的糖尿病视网膜病变分类分级方法,该分类分级方法的核心在于:针对每一类糖尿病视网膜病变准备大量眼底镜照片;建立包含多级神经网络架构的深度卷积神经网络;基于大量眼底镜照片对深度卷积神经网络进行训练,使深度卷积神经网络的最终输出值符合眼底镜照片的分级结果;从而即可利用训练好的深度卷积神经网络自动进行疾病分级。

该基于深度学习的糖尿病视网膜病变分类分级方法包括以下步骤:

(1)准备照片库,照片库中包含若干包括诊断标记的眼底镜照片,且每类糖尿病视网膜病变均对应有具有多张眼底镜照片的分类照片库。眼底镜照片中所包括的诊断标记表明了该眼底镜照片所对应的各类糖尿病视网膜病变的分级诊断结果,从0级到4级,基于现有的分级标准而进行分级。原始的眼底镜照片还可以随机进行拉伸、旋转、翻转等处理以增加照片库中的数据数量。照片库需确保每种病变分类均具有足够数量的眼底镜照片。

在准备照片库时,依据眼底镜照片所包括的诊断标记,每类糖尿病视网膜病变的各个分级的眼底镜照片的数量比例平均。

(2)对照片库中的眼底镜照片进行预处理而得训练范例照片,且训练范例照片构成训练范例库,训练范例库中的照片数量大于照片库中的照片数量;每类糖尿病视网膜病变均对应有具有多张训练范例照片的分类训练范例库。

该步骤中,对眼底镜照片进行的预处理包括分辨率调整、像素归一化。进行分辨率调整时,将每张照片库中的每张眼底镜照片调整为分辨率递增的多张训练范例照片,每张眼底镜照片所对应的多张训练范例照片的张数与深度卷积神经网络所包含的神经网络架构的级数相等。例如将眼底镜照片调整为128×128、256×256、512×512等不同分辨率。

(3)针对每类糖尿病视网膜病变利用相应软件分别建立其对应的深度卷积神经网络;每个深度卷积神经网络均包括多级神经网络架构。每个深度卷积神经网络中,除第一级神经网络架构以外的各级神经网络架构基于其前一级神经网络架构而搭建,各级神经网络架构的结构类似、层数和输入分辨率逐级增加。

例如,每个深度卷积神经网络均包括三级神经网络架构,分别为第一级神经网络架构、第二级神经网络架构、第三级神经网络架构。

第一级神经网络架构包括19层神经元,依次分别为:输入层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、均方根池化层、丢弃层、全连接层、最大池化层、丢弃层、全连接层、最大池化层、输出层。其中,输入层用于输入已经预处理好的图片,即输入训练范例库中的训练范例照片。最大池化层用于对其上一层的输出而在每一个局域范围内选出最大的值作为其输出。均方根池化层是基于均方根计算的池化层。丢弃层用于在训练过程中随机丢弃一部分隐含层里的单元,防止过渡拟合,即其行为是随机冻结一部分连接,让前一层的部分神经元起不了作用,从而迫使神经网不依赖于某几个神经元的行为。输出层为最后一层,其输出值是0-4范围内的任意值。

第二级神经网络架构在第一级神经网络架构的基础上增加一组神经元而构成,即在第一级神经网络架构中的均方根池化层之前首次增加四层神经元而构成第二级神经网络架构,首次增加的四层神经元依次分别为:最大池化层、卷基层、卷基层、卷基层,从而第二级神经网络架构包括23层神经元,依次分别为:输入层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、均方根池化层、丢弃层、全连接层、最大池化层、丢弃层、全连接层、最大池化层、输出层。第二级神经网络架构的输出值是0-4范围内的任意值。

第三级神经网络架构在第二级神经网络架构的基础上再增加一组神经元而构成,即在第二级神经网络架构中的均方根池化层之前再次增加四层神经元而构成第三级神经网络架构,再次增加的四层神经元依次分别为:最大池化层、卷基层、卷基层、卷基层,从而第三级神经网络架构包括27层神经元,依次分别为:输入层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、最大池化层、卷基层、卷基层、卷基层、均方根池化层、丢弃层、全连接层、最大池化层、丢弃层、全连接层、最大池化层、输出层。第三级神经网络架构的输出值是0-4范围内的任意值。

(4)针对每个深度卷积神经网络,采用对应的分类训练范例库中的训练范例照片多次训练深度卷积神经网络中的各级神经网络架构,例如每个深度卷积神经网络训练250次。

针对每个深度卷积神经网络所进行的每次训练,需要遍历其所对应的分类训练范例库中的分类训练照片。训练过程中,采用不同分辨率的训练范例照片来对应训练各级神经网络架构,如使用128x128的照片训练最小的网络,即第一级神经网络架构,256x256的照片训练中等大小的网络,即第二级神经网络架构,512x512的照片训练最大的网络,即第三级神经网络架构。

在训练每个深度卷积神经网络的各级神经网络架构时采用以下方式:

a、使用meansquarederror作为损失函数;

b、使用nesterovmomentum算法作为学习算法;

c、每个深度卷积神经网络训练250次(250个epoch),在各次训练过程中,按照设定的学习率调整神经网络架构的参数,学习率随着学习的深入而变得越来越小,每次训练的学习率小于或等于前一次训练的学习率。例如,第0-150个epoch中使用0.003的学习率,第150-220个epoch中使用0.0003的学习率,在220-250个epoch中使用0.00003的学习率。学习率为每次参数调整的大小;

d、对深度卷积神经网络中的各参数使用l2weightdecay规则化,其作用是避免参数数值过大,从而导致过拟合;

e、各级神经网络架构中的每一个卷基层的输出和每一个全连接层的输出均经过leakyrelu方程运算后再传至下一层神经元;

f、通过随机选取法而确定第一级神经网络架构的初始参数;采用训练后的一级神经网络架构的部分参数作为下一级神经网络架构的部分初始参数,其余部分初始参数随机初始化。例如,训练第二级神经网络架构时,使用第一级神经网络架构的第一层至第十一层的参数为该第二层神经网络架构的第一层至第十一层的参数;训练第三级神经网络架构时,使用第二级神经网络架构的第二层至第十五层的参数为该第三层神经网络架构的第二层至第十五层的参数;

g、眼底镜照片的诊断标记含有其分级诊断结果,从0到4级,即每一数据对应一个分级诊断。由于现实中,由于每一个级别的病人数量不同,每一个分级的数据量并不一定相同,因此在训练过程中,通过各个分级的眼底镜照片的数量比例平均,使得数据量较少的级别也能够得到充分训练。

通过以上训练过程,得到针对每类糖尿病视网膜病变的多个训练后的深度卷积神经网络。

(5)基于各训练后的深度卷积神经网络中最后一级神经网络架构,即第三级神经网络架构的输出值对糖尿病视网膜病变进行分级。

上述方案提出了一种由数据驱动的基于深度卷积网络的对糖尿病眼底病变进行预测分级的方法,它通过分辨率从低到高依次训练,使用低分辨率网络的权重作为更高分辨率的网络的初始权重;最终模型输出来自训练好的最高分辨率的网络,其可通过获取更多数据进一步训练的方法提高准确率。

本方法通过深度学习,实现自动从训练数据中学习所需特征并进行分类判断,在训练中过程不断纠正用于判断的数据特征以及分类器参数。相对于已有的技术,本方法的准确性可以随着训练数据量的增长不断提高,极大的提高了在现实应用场景中的诊断准确性与可靠度。在前期测试中,本方法使用了超过七万张由专业人员标注的眼底照片进行训练,在一万四千张的测试数据集上达到了78.24%的与人类判断的吻合度。采用以上基于深度学习的糖尿病视网膜病变分类分级方法所建立的分类器系统可以针对糖尿病眼底病变进行自动化分级,可以应用与医院临床、体检筛查、患者自检等领域。

上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

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