一种基于深度学习的糖尿病视网膜病变区域定位检测方法与流程

    专利2022-07-08  109


    本发明涉及糖尿病视网膜病变图像区域定位检测领域,具体为一种基于yolo深度神经网络模型的糖尿病视网膜图像定位检测方法。



    背景技术:

    针对糖尿病性视网膜病变图像的定位检测技术具有很高工程应用价值,截止到2018年,internationaldiabetesfederation的数据显示,全世界糖尿病患者已经达到5.06亿,预计到2050年,糖尿病患者便可达到6.73亿。我国的糖尿病患者数量排名全球第一,当然,这也基于我国的人口基数庞大,但这仍然是不可忽略的问题,一般来讲,糖尿病患者的患病时间越长,越有可能出现糖尿病并发症,糖尿病视网膜病变也会随之而来。目前,我国的糖尿病患者众多,而眼科大夫稀少的问题急需解决,而且在偏远地区的眼科大夫数量不足而导致糖尿病患者的病情一再拖延,发现不及时而导致失明也是我国失明人数增加的重要原因之一。

    由于医疗设备的不同、拍摄装置的成像原理差异、拍摄图像时的不同光照条件等外界环境的差异影响,而且视网膜血管纵横交错、病变区域交叉、结构复杂等特点,采集到的视网膜图像会存在光照不匀、亮度不均衡、模糊、视网膜血管和背景的对比度不强、特征选取不合理等问题,严重影响计算机辅助医疗诊断在临床中的应用。

    基于此,设计一种可以对糖尿病视网膜病变区域进行定位检测的深度网络检测方法,可以辅助医生进行病情诊断和检测治疗,缓解医疗压力,对我国的糖尿病视网膜病变疾病的检测与治疗具有重大意义。



    技术实现要素:

    本发明的目的在于提供一种基于深度学习的糖尿病视网膜病变区域定位检测方法,以解决上述背景技术中提出的问题。

    本发明为了解决上述背景技术中提出的问题,提供如下技术方案:一种基于深度学习的糖尿病视网膜病变区域定位检测方法,包括以下步骤:

    a、对已病变的糖尿病视网膜图像进行预处理,标出病变区域;

    b、搭建深度学习服务器平台来进行python程序编写;

    c、利用yolo网络模型对数据集图像进行训练;

    d、将多次迭代后得出的定位准确值绘制准确率曲线;

    e、利用测试集图像验证所训练结果是否精确,准确率是否符合要求。

    优选的,所述步骤a中标出病变区域的预处理方法如下:

    a、将图像数据分割,标记出病变图像的大致病变区域和病变特征,包括标记出眼底图像发光点和眼底微血管瘤等;

    b、对所有的眼底图像进行整合,将其进行亮度与对比度的调整,对眼底图像背景进行裁剪。

    优选的,所述步骤b中搭建深度学习服务器平台的方法如下:

    a、安装ubuntu16.04操作系统及所需nvidia显卡驱动;

    b、在nvidia官网上下载cuda10.0并行计算架构;

    c、下载与cuda10.0匹配的cudnn7.4.2计算加速库;

    d、下载anaconda3软件包管理并配置python环境;

    e、从anaconda3上下载并安装tensorflow1.13.1,配置所需环境;

    f、编写基于tensorflow1.13.1学习框架的python程序。

    优选的,所述步骤c中利用yolo网络模型进行训练的方法如下:

    a、将所得的15732张糖尿病视网膜病变图像进行拆分,12659张眼底图像作为训练集,3073张眼底图像作为测试集;

    b、用公共网络上的模型参数对yolo神经网络模型进行初始化;

    c、用眼底图像对所述网络模型进行预训练;

    d、定位检测,将预处理过的训练视网膜病变图像作为深度学习神经网络模型的输入,输出作为定位检测的结果。

    优选的,所述步骤d中绘制定位准确率曲线的方法如下:

    a、使用样本激活函数,对训练集图像进行训练,网络损失函数为:

    b、建立的卷积层目标函数,l表示层数,表示连接第l层的特征mapj与第l-1层的特征mapi的卷积核,ml-1表示第l-1层选择的输入特征maps,*表示卷积操作,b表示偏置,f表示非线性激活函数。多个不同的卷积核可实现多个特征的提取。卷积层公式如下:

    c、编写准确率算法程序,得出定位准确率曲线。

    d、编写映射方法函数,得出对应输出结果。

    优优选的,所述步骤e中验证训练结果是否精确的方法如下:

    a、将已经预处理过的具有3073张病变眼底图像的测试集作为输入,得到输出结果;

    b、利用每一张测试集图像得到的准确率数值进行分析比较,验证训练结果精确度。

    与现有技术相比,本发明的有益效果是:

    (1)本发明基于深度学习网络算法,进行了样本数据的大量计算,采用服务器完成,大大节省了人力计算时间。

    (2)本发明引用了yolo深度学习模型对视网膜图像进行预处理,可以对目标进行大范围的检测,定位出区域,再将定位出的区域进行整合,方便以后进行更精确的定位检测。

    (3)本发明运用样本激活函数将训练集样本进行多次迭代,随着迭代次数的增多,损失函数得出的值越来越小,逐渐趋于0,而定位准确值越来越高,逐渐接近1。

    (4)本发明的定位方法先经过样本预处理之后才进行样本集训练,不会出现类别不均衡、色彩度差等问题,得出的结果可直接应用,误差大大减少。

    附图说明

    为使得本发明中的技术方案,下面将会选取一些附图对本发明进行阐述。下述附图仅为本发明的一些实例;使用者可根据该附图获得其他类似的附图。其中:

    图1为本发明步骤框图。

    图2为本发明搭建环境步骤框图。

    图3为本发明准确率曲线。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    请参阅图1,本发明提供一种技术方案:一种基于深度学习的糖尿病视网膜病变区域定位检测方法,包括以下步骤:

    a、对已病变的糖尿病视网膜图像进行预处理,标出病变区域;

    b、搭建深度学习服务器平台来进行python程序编写;

    c、利用yolo网络模型对数据集图像进行训练;

    d、将多次迭代后得出的定位准确值绘制准确率曲线;

    e、利用测试集图像验证所训练结果是否精确,准确率是否符合要求。

    本发明中,步骤a中标出病变区域的预处理方法如下:

    a、将图像数据分割,标记出病变图像的大致病变区域和病变特征,包括标记出眼底图像发光点和眼底微血管瘤等;

    b、对所有的眼底图像进行整合,将其进行亮度与对比度的调整,对眼底图像背景进行裁剪。

    请参阅图2,在本发明中,步骤b中搭建深度学习服务器平台的方法如下:

    a、安装ubuntu16.04操作系统及所需nvidia显卡驱动;

    b、在nvidia官网上下载cuda10.0并行计算架构;

    c、下载与cuda10.0匹配的cudnn7.4.2计算加速库;

    d、下载anaconda3软件包管理并配置python环境;

    e、从anaconda3上下载并安装tensorflow1.13.1,配置所需环境;

    f、编写基于tensorflow1.13.1学习框架的python程序。

    本发明采用了深度学习网络算法,进行了样本数据的大量计算,采用服务器完成,大大节省了人力计算时间。本发明引用了目前深度学习领域较为先进的yolo深度学习模型对视网膜图像进行预处理,可以对目标进行大范围的检测,定位出区域,再将定位出的区域进行整合,方便以后进行更精确的定位检测。

    请参阅图3,在本发明中,步骤d中将通过样本激活函数多次迭代后得出的定位准确度值绘制出了准确率曲线。

    本发明对数据集样本进行多次迭代,随着迭代次数的增多,损失函数得出的值越来越小,逐渐趋于0,而定位准确值越来越高,逐渐接近1。

    综上所述,本发明设计的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,利用yolo网络模型对视网膜病变区域进行精确定位应用广泛,适用性极强,可以继续加大训练集数量,使准确度进一步提升,具有很高的发展价值。

    以上所述仅为本发明的一个实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


    技术特征:

    1.一种基于深度学习的糖尿病视网膜病变区域定位检测方法,包括以下步骤:

    a、对已病变的糖尿病视网膜图像进行预处理,标出病变区域;

    b、搭建深度学习服务器平台来进行python程序编写;

    c、利用yolo网络模型对数据集图像进行训练;

    d、将多次迭代后得出的定位准确值绘制准确率曲线;

    e、利用测试集图像验证所训练结果是否精确,准确率是否符合要求。

    2.根据权利要求1所述的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,其特征在于:所述步骤a中标出病变区域方法如下:

    a、将图像数据分割,标记出病变图像的大致病变区域和病变特征,包括标记出眼底图像发光点和眼底微血管瘤等;

    b、对所有的眼底图像进行整合,将其进行亮度与对比度的调整,对眼底图像背景进行裁剪。

    3.根据权利要求1所述的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,其特征在于:所述步骤b中搭建服务器平台方法如下:

    a、安装ubuntu16.04操作系统及所需nvidia显卡驱动;

    b、在nvidia官网上下载cuda10.0并行计算架构;

    c、下载与cuda10.0匹配的cudnn7.4.2计算加速库;

    d、下载anaconda3软件包管理并配置python环境;

    e、从anaconda3上下载并安装tensorflow1.13.1,配置所需环境;

    f、编写基于tensorflow1.13.1学习框架的python程序。

    4.根据权利要求1所述的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,其特征在于:所述步骤c中利用yolo网络模型进行训练的方法如下:

    a、将所得的15732张糖尿病视网膜病变图像进行拆分,12659张眼底图像作为训练集,3073张眼底图像作为测试集;

    b、用公共网络上的模型参数对yolo神经网络模型进行初始化;

    c、用眼底图像对所述网络模型进行预训练;

    d、定位检测,将预处理过的训练视网膜病变图像作为深度学习神经网络模型的输入,输出作为定位检测的结果。

    5.根据权利要求1所述的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,其特征在于:所述步骤d中绘制定位准确率曲线的方法如下:

    a、使用样本激活函数,对训练集图像进行训练,网络损失函数为:

    b、编写准确率算法程序,得出定位准确率曲线。

    6.根据权利要求1所述的一种基于深度学习的糖尿病视网膜病变区域定位检测方法,其特征在于:所述步骤e中验证训练结果是否精确的方法如下:

    a、将已经预处理过的具有3073张病变眼底图像的测试集作为输入,得到输出结果;

    b、利用每一张测试集图像得到的准确率数值进行分析比较,验证训练结果精确度。

    技术总结
    本发明公开了一种基于深度学习的糖尿病视网膜病变区域定位检测方法,包括以下步骤:A、对已病变的糖尿病视网膜图像进行预处理,标出病变区域;B、搭建深度学习服务器平台来进行python程序编写;C、利用YOLO网络模型对数据集图像进行训练;D、将多次迭代后得出的定位准确值绘制准确率曲线;E、利用测试集图像验证所训练结果是否精确,准确率是否符合要求。本发明实现了对糖尿病视网膜病变区域定位检测的方法,利用YOLO模型,准确度高,具有很强的应用价值。

    技术研发人员:程玉鑫;戚静静
    受保护的技术使用者:哈尔滨理工大学
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16532.html

    最新回复(0)