欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201910520291X
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 医学或兽医学;卫生学
更新日期:2023-07-20
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于深度残差网络的糖尿病性视网膜病变检测的方法,其特征在于包括如下步骤:

步骤1:数据集的筛选;

步骤2:眼底图像的预处理,

步骤3:数据集扩充,将部分样本较少的类中的图像做图像扩充处理,具体操作包括将图像镜像和旋转;

步骤4:数据集标签的制作;

步骤5:训练集和测试集的构建;

使用sklearn中的train_test_split()函数,将数据集分为训练集和测试集,其中训练集占数据集的80%,测试集占20%;

步骤6:卷积神经网络的搭建;

步骤7:网络训练;

步骤8:网络测试;

步骤1所述的数据集的筛选,具体实现如下:数据集的来源是糖尿病视网膜病变检测竞赛中使用的测试集;删除测试集中部分过曝、欠曝以及没有很好对焦的样本图像;该数据集中,不同将糖尿病性视网膜病变分为5类,分别是:正常、轻度病变、中度病变、重度病变以及增殖性病变;

步骤2所述的眼底图像的预处理,具体步骤如下:

2‑1.加载眼底图像并估计眼球的半径;

2‑2.将较大的半径作为目标半径,根据目标半径对原图像进行剪裁;

2‑3.对剪裁后的图像进行模糊处理,然后用原图像减去模糊后的图像,得到眼底的简单特征提取图;

2‑4.消除图像模糊的边界效应,移除眼底图像10%的外圆;

2‑5.对图像做进一步裁减,裁减后的图像为256*256尺寸的RGB图像;

步骤2‑1中眼球半径的估计实现如下:(1)估计眼球横向半径,假设眼底图的尺寸为M*N,提取眼底图的N个横向量;

(2)横向量上对应的像素值取平均然后除以10后,与原像素值比较大小;

(3)若原像素值大于计算后的值,则计为1,统计值为1的个数后除以2的值即为眼球横向半径估计值;

(4)以相同的方法计算眼球纵向半径估计值,选择横纵向较大的值作为眼球半径最终的估计值;

步骤4所述的数据集标签的制作,具体实现如下:由于该卷积神经网络采用的是监督学习,因此要给出进行数据扩充后数据集中每张图像所对应的类别,在该方法中,将轻度病变、中度病变以及重度病变视为未增殖性病变,因此对图像标记的标签分别是:正常图像对应的标签编号为0,未增殖性病变图像对应的标签编号为1以及增殖性病变图像对应的标签编号为2;在神经网络训练时,将对应的标签编号进行one‑hot编码,即将0编码为001,1编码为010,以及2编码为100;

步骤6所述的卷积神经网络的搭建,具体步骤如下:

6‑1.构建基本的残差模块,一个基本的残差模块由3个卷积层、2个激活函数层、3个BN层以及1个跳跃连接层组成,最后有1个激活函数层;

6‑2.构建具有升维功能的残差模块,一个具有升维功能的残差模块由2个卷积层、3个激活函数层、3个BN层以及1个跳跃连接层组成,在跳跃连接层中包含1个卷积层和1个激活函数层,最后有1个激活函数层;

6‑3.卷积神经网络的前端构建,网络的前端使用多个残差模块对图像进行特征提取,网络输入尺寸为256*256*3,接着为1个补零层、一个卷积层、BN层、一个激活函数层和一个最大池化层;然后紧跟1个具有升维功能的残差模块Ⅰ、2个基本的残差模块、1个具有升维功能的残差模块Ⅱ、3个基本的残差模块、1个具有升维功能的残差模块Ⅲ、5个基本的残差模块、1个具有升维功能的残差模块Ⅳ以及2个基本的残差模块构成,最后由一个激活函数层和一个平均池化层构成,网络前端输出的尺寸为1*1*2048;

其中补零层参数为3*3;卷积层中滤波器个数为64,卷积核尺寸为7*7,步长为2*2;BN层中axis值为3,momentum值为0.99,epsilon值为0.001;最大池化层中卷积核尺寸为3*3,步长为2*2,补零为valid,输出尺寸为128*128*64;残差模块Ⅰ的输出尺寸为63*63*256;残差模块Ⅱ的输出尺寸为32*32*512;残差模块Ⅲ的输出尺寸为16*16*1024;残差模块Ⅳ的输出尺寸为8*8*2048;平均池化层的卷积核尺寸为7*7,步长为7*7,补零为valid;

6‑4.卷积神经网络的后端构建,网络的前端使用多个全连接层对图像进行分类,首先使用一个Fatten层对图像进行降维,接着为1个全连接层Ⅰ,1个Dropout层,1个全连接层Ⅱ以及1个全连接层Ⅲ,网络最终输出的尺寸为3*1;

全连接层Ⅰ的节点数为36,激活函数为relu;Dropout层的rate为0.25;全连接层Ⅱ的节点数为26,激活函数为relu;全连接层Ⅲ的节点数为3,激活函数为softmax;

步骤7所述的网络训练,网络使用的损失函数为交叉熵CrossEntropy,使用的梯度优化算法为Stochastic Gradient Descent,算法设定的学习率为0.01,使用训练集对网络进行训练,网络训练的迭代次数为250,批样本数为4;

步骤8所述的网络测试,使用model.save()函数对训练好的模型进行保存,生成.h5的模型权重文件,使用测试集对网络进行测试。