一种基于深度残差网络的糖尿病性视网膜病变检测的方法技术

技术编号:22116634 阅读:43 留言:0更新日期:2019-09-18 01:00
本发明专利技术公开了一种基于深度残差网络的糖尿病性视网膜病变检测的方法。本发明专利技术步骤如下:步骤1:数据集的筛选;步骤2:眼底图像的预处理,步骤3:数据集扩充,将部分样本较少的类中的图像做图像扩充处理,具体操作包括将图像镜像和旋转;步骤4:数据集标签的制作;步骤5:训练集和测试集的构建;步骤6:卷积神经网络的搭建;步骤7:网络训练;步骤8:网络测试。本发明专利技术能够获得更高的检测病变的准确性,同时进行检测的时间也可以大大缩短。

A Method for Detecting Diabetic Retinopathy Based on Deep Residual Network

【技术实现步骤摘要】
一种基于深度残差网络的糖尿病性视网膜病变检测的方法
本专利技术涉及深度学习计算机视觉领域,尤其涉及糖尿病性视网膜病变检测的方法。技术背景糖尿病性视网膜病变是一种常见的糖尿病眼部并发症,经常会造成视力减退或失明。据统计,糖尿病病龄在10年左右的患者者有50%的概率会得此病,15年以上的患者概率高达80%。糖尿病病情越重,年龄越大,发病的几率越高。该病是糖尿病微血管病的后果,由于糖尿病引起视网膜毛细血管壁损伤,加之血液呈高凝状态,易造成血栓和血淤,甚至血管破裂。2015年,KaimingHe博士团队提出了深度残差网络(ResNet),一经出世,便在ImageNet中斩获图像分类、检测、定位三项的冠军。和其他的深度学习网络相比,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。其核心通过一个残差学习结构解决了增加深度带来的副作用“退化问题”,“退化问题”是指,随着神经网络的层数的增多,训练的精确性会到达一个瓶颈,然后开始下滑。但是使用残差学习结构之后,就能够通过单纯地增加网络深度,来提高网络性能,即提高训练以及测试的精确性。
技术实现思路
本专利技术提出一种基于深度残差网络的糖尿病性视网膜病变检测的方法。该方法可以用来对糖尿病性视网膜病变的患病程度进行检测。传统的糖尿病性视网膜病变的患病程度检测采用的是图像特征提取的方法,将患者的眼底图采用图像处理的方式,分别检测微动脉瘤、小出血点、白色“软性渗出”以及出血斑等症状,统计每种不同病变的个数再使用一个多层感知器进行分类给出检测结果,采用传统的检测方法的缺点在于得出的准确率普遍不高。一种基于深度残差网络的糖尿病性视网膜病变检测的方法,本专利技术特征在于只需将拍得的眼底图进行裁剪统一图片的大小,然后进行巴特沃滋模糊提取细节特征,将简单处理后的图像作为卷积神经网络的输入进行训练,该方法具体包括以下步骤:步骤1:数据集的筛选,数据集的来源是Kaggle在2014年举行的糖尿病视网膜病变检测竞赛中使用的测试集;在该数据集中,竞赛的主办方根据患者症状的不同将糖尿病性视网膜病变分为5类,分别是:正常、轻度病变、中度病变、重度病变以及增殖性病变。考虑到竞赛中眼底图像大多拍的较模糊,部分照片甚至没有很好的对焦,因此先进行简单的筛选,删除测试集中部分过曝、欠曝以及没有很好对焦的样本图像。步骤2:眼底图像的预处理,具体步骤如下:2-1.加载眼底图像并估计眼球的半径;(1)估计眼球横向半径,假设眼底图的尺寸为M*N,提取眼底图的N个横向量;(2)横向量上对应的像素值取平均然后除以10后,与原像素值比较大小;(3)若原像素值大于计算后的值,则计为1,统计值为1的个数后除以2的值即为眼球横向半径估计值;(4)以相同的方法计算眼球纵向半径估计值,选择横纵向较大的值作为眼球半径最终的估计值。2-2.根据眼球半径最终的估计值对原图像进行剪裁;2-3.对剪裁后的图像进行模糊处理,然后用原图像减去模糊后的图像,得到眼底的简单特征提取图;2-4.消除图像模糊的边界效应,移除眼底图像10%的外圆;2-5.对图像做进一步裁减,裁减后的图像为256*256尺寸的RGB图像。步骤3:数据集扩充,由于重度病变以及增殖性病变的患者本身就不多,因此在Kaggle的数据集中这两者的样本数量就很少,考虑到训练样本均衡的问题,将部分样本较少的类中的图像做图像扩充处理,具体操作包括将图像镜像和旋转。步骤4:数据集标签的制作,由于该卷积神经网络采用的是监督学习,因此要给出进行数据扩充后数据集中每张图像所对应的类别,在该方法中,将轻度病变、中度病变以及重度病变视为未增殖性病变,因此对图像标记的标签分别是:正常图像对应的标签编号为0,未增殖性病变图像对应的标签编号为1以及增殖性病变图像对应的标签编号为2;在神经网络训练时,将对应的标签编号进行one-hot编码,即将0编码为001,1编码为010,以及2编码为100。步骤5:训练集和测试集的构建使用sklearn中的train_test_split()函数,将数据集分为训练集和测试集,其中训练集占数据集的80%,测试集占20%。步骤6:卷积神经网络的搭建,具体步骤如下:6-1.构建基本的残差模块,一个基本的残差模块由3个卷积层、2个激活函数层、3个BN(BatchNormalization)层以及1个跳跃连接层组成,最后有1个激活函数层;6-2.构建具有升维功能的残差模块,一个具有升维功能的残差模块由2个卷积层、3个激活函数层、3个BN(BatchNormalization)层以及1个跳跃连接层组成,在跳跃连接层中包含1个卷积层和1个激活函数层,最后有1个激活函数层;6-3.卷积神经网络的前端构建,网络的前端使用多个残差模块对图像进行特征提取,网络输入尺寸为256*256*3,接着为1个补零层(参数为3*3)、一个卷积层(滤波器个数为64,卷积核尺寸为7*7,步长为2*2)、BN层(axis值为3,momentum值为0.99,epsilon值为0.001)、一个激活函数层(使用的函数为relu)和一个最大池化层(卷积核尺寸为3*3,步长为2*2,补零为valid,输出尺寸为128*128*64),然后紧跟1个具有升维功能的残差模块(输出尺寸为63*63*256)、2个基本的残差模块、1个具有升维功能的残差模块(输出尺寸为32*32*512)、3个基本的残差模块、1个具有升维功能的残差模块(输出尺寸为16*16*1024)、5个基本的残差模块、1个具有升维功能的残差模块(输出尺寸为8*8*2048)以及2个基本的残差模块构成,最后由一个激活函数层(使用的函数为relu)和一个平均池化层(卷积核尺寸为7*7,步长为7*7,补零为valid)构成,网络前端输出的尺寸为1*1*2048;6-4.卷积神经网络的后端构建,网络的前端使用多个全连接层对图像进行分类,首先使用一个Fatten层对图像进行降维,接着为1个全连接层(节点数为36,激活函数为relu),1个Dropout层(rate为0.25),1个全连接层(节点数为26,激活函数为relu)以及1个全连接层(节点数为3,激活函数为softmax),网络最终输出的尺寸为3*1。步骤7:网络训练,网络使用的损失函数为交叉熵CrossEntropy,使用的梯度优化算法为StochasticGradientDescent,算法设定的学习率为0.01,使用训练集对网络进行训练,网络训练的迭代次数为250,批样本数为4;步骤8:网络测试,使用model.save()函数对训练好的模型进行保存,生成.h5的模型权重文件,使用测试集对网络进行测试。本专利技术有益效果如下:本专利技术采用的是Kaggle在2014年举行的糖尿病视网膜病变检测竞赛中的数据集,对数据集中的眼底图进行预处理之后,采用50层的ResNet网络前端加上一个全连接网络进行分类,分类的准确性和检测所用的时间较之于传统的检测方法有了很大的提升。利用本专利技术能够获得更高的检测病变的准确性,同时进行检测的时间也可以大大缩短。本专利技术在进行数据扩充后的7240张眼底图像上进行训练和测试,其中训练图像数量为5792,网络使用的损失函数为交叉熵CrossEntropy,使用的梯度优化算法为本文档来自技高网...

【技术保护点】
1.一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于包括如下步骤:步骤1:数据集的筛选;步骤2:眼底图像的预处理,步骤3:数据集扩充,将部分样本较少的类中的图像做图像扩充处理,具体操作包括将图像镜像和旋转;步骤4:数据集标签的制作;步骤5:训练集和测试集的构建;使用sklearn中的train_test_split()函数,将数据集分为训练集和测试集,其中训练集占数据集的80%,测试集占20%;步骤6:卷积神经网络的搭建;步骤7:网络训练;步骤8:网络测试。

【技术特征摘要】
1.一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于包括如下步骤:步骤1:数据集的筛选;步骤2:眼底图像的预处理,步骤3:数据集扩充,将部分样本较少的类中的图像做图像扩充处理,具体操作包括将图像镜像和旋转;步骤4:数据集标签的制作;步骤5:训练集和测试集的构建;使用sklearn中的train_test_split()函数,将数据集分为训练集和测试集,其中训练集占数据集的80%,测试集占20%;步骤6:卷积神经网络的搭建;步骤7:网络训练;步骤8:网络测试。2.根据权利要求1所述的一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于步骤1所述的数据集的筛选,具体实现如下:数据集的来源是糖尿病视网膜病变检测竞赛中使用的测试集;删除测试集中部分过曝、欠曝以及没有很好对焦的样本图像;该数据集中,不同将糖尿病性视网膜病变分为5类,分别是:正常、轻度病变、中度病变、重度病变以及增殖性病变。3.根据权利要求1或2所述的一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于步骤2所述的眼底图像的预处理,具体步骤如下:2-1.加载眼底图像并估计眼球的半径;2-2.将较大的半径作为目标半径,根据目标半径对原图像进行剪裁;2-3.对剪裁后的图像进行模糊处理,然后用原图像减去模糊后的图像,得到眼底的简单特征提取图;2-4.消除图像模糊的边界效应,移除眼底图像10%的外圆;2-5.对图像做进一步裁减,裁减后的图像为256*256尺寸的RGB图像。4.根据权利要求3所述的一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于步骤2-1中眼球半径的估计实现如下:(1)估计眼球横向半径,假设眼底图的尺寸为M*N,提取眼底图的N个横向量;(2)横向量上对应的像素值取平均然后除以10后,与原像素值比较大小;(3)若原像素值大于计算后的值,则计为1,统计值为1的个数后除以2的值即为眼球横向半径估计值;(4)以相同的方法计算眼球纵向半径估计值,选择横纵向较大的值作为眼球半径最终的估计值。5.根据权利要求4所述的一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于步骤4所述的数据集标签的制作,具体实现如下:由于该卷积神经网络采用的是监督学习,因此要给出进行数据扩充后数据集中每张图像所对应的类别,在该方法中,将轻度病变、中度病变以及重度病变视为未增殖性病变,因此对图像标记的标签分别是:正常图像对应的标签编号为0,未增殖性病变图像对应的标签编号为1以及增殖性病变图像对应的标签编号为2;在神经网络训练时,将对应的标签编号进行one-hot编码,即将0编码为001,1编码为010,以及2编码为100。6.根据权利要求4后5所述...

【专利技术属性】
技术研发人员:颜成钢朱嘉凯王兴政陈子阳孙垚棋张继勇张勇东
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1