APP下载

基于深度学习的糖尿病性视网膜病变的分级

2022-03-12徐子和杨丽龚研王培培刘俊彤卢小杰

电脑知识与技术 2022年3期
关键词:糖尿病视网膜病变卷积神经网络图像识别

徐子和 杨丽 龚研 王培培 刘俊彤 卢小杰

摘要:糖尿病性视网膜病变是一种难以诊断、高风险的致盲性疾病。针对人工对图像特征提取困难、分类准确性差、耗费时间长的问题,采用卷积神经网络构建糖尿病性视网膜病变自动分类器具有重要的临床价值。方法:本文针对已收集好的彩色眼底图像,通过对图像的清洗、扩增、归一化构建糖尿病性视网膜病变数据集。利用VGG16与FCN的优点将其结合,将全连接层改造为卷积层,构建新的糖尿病性视网膜病分类模型。将ImageNet充分训练好的VGG16网络模型参数作为本文模型初始化参数,送入已改造的神经网络模型提取特征,最后输出分类结果。结果:实验结果表明,本文提出的深度学习分类方法的准确率与损失值均优于传统同类别的卷积神经网络分类算法,对临床诊断参考有重要的意义。结论:本文利用的方法对解决数据分布不均衡和过拟合的问题有一定的促进作用,具有较好的鲁棒性。

关键词:糖尿病视网膜病变;图像识别;卷积神经网络;深度学习

中图分类号:TP391      文献标识码:A

文章编号:1009-3044(2022)03-0001-03

开放科学(资源服务)标识码(OSID):

糖尿病已成为继心脑血管疾病、肿瘤之后另一个严重危害我国人民健康的重要慢性非传染性疾病[1]。I型、II型糖尿病患者因糖尿病视网膜病变而致盲的比例分别为86%、33%[2-4]。因此,若不及时对糖尿病性视网膜病变进行有效诊断和预防,糖尿病患者失明的风险将随着病程和年龄的增长而大大提高。

隨着人工智能的发展,深度学习开始走进医疗领域。卷积神经网络对复杂数据的表示能力有助于其识别传统分类器难以区分的复杂疾病[5-8]。深度学习在皮肤癌检测、乳腺癌检测、血管检测等领域取得了重大突破的同时,在糖尿病视网膜病变的分期和检测中也取得了不错的效果[9-11]。因此,应用深度学习算法对糖尿病性视网膜病变的分级诊断是有意义的,也顺应了当今医疗信息化与智能化的发展,更为解决此类疾病的诊断的难题带来了希望。

1数据集的搭建与预处理

1.1数据集简介

本文利用Kaggle网站中的35172张眼底图像数据集。数据集根据实际病变程度进行划分为5个等级,从症状的轻到重对应0~4的编号。各个等级与病变的对应如表1所示。数据集每个等级对应的数量分布关系分布如图1所示。

各个病变等级对应的图像如图2所示,图a代表健康的无视网膜病变的图像,由此类推,图a至图e分别代表病变由浅至深的五个等级。

1.2数据集预处理

1.2.1数据清洗与筛选

在训练之前,本文先对数据集进行相关的清洗与预处理操作。针对数据集的实际情况,通过对比标准规范的图像,剔除不符合要求的相关图像如图3所示。如亮度过暗的(图a)、曝光过高(图b)的图像。

1.2.2数据扩充

对数据进行合理扩增如图4所示。对清洗后的图像进行剪裁,剪裁后的图像(图a)能够更好地突出特征,便于后期对图片像素进行充分地读入。对图片旋转90度(图b),旋转180度(图c)后与原数据集合并,从而将数据集扩充至原来的三倍。数据集扩充将样本少的数据集向样本多的数据集靠拢,解决了数据不平衡的问题。

1.2.3数据归一化

数据归一化是为了在训练的过程中可以加速网络的收敛、达到更好训练效果而对样本的统计特性进行归纳统一,本文采用线性函数转化方法,具体转化方法为公式(1):

[y=x-minValuemaxValue-minValue                                (1)]

上式中[x]、[y]分别为转换前、后的值,[maxValue]、[minValue]分别为样本的最大值和最小值[12]。

2训练模型设计

2.1卷积神经网络

卷积神经网络是为图像分类而发展起来的,只要输入的信号满足多层次结构、特征局部性和平移不变性三个特性均可以采用卷积神经网络。在图像处理中,卷积运算为公式(2)和(3):

[    gx,y=m=j,n=jm=i,n=ifx+m,y+nhm,n             2]

[                g=f*h                               3]

其中[x,y]为中心像素的坐标,[x=1,2,……,h,y=1,2,……,w],[ h]为图像的高度,[w]为图像的宽度。卷积需要遍历整个图像。[f]为原始图像矩阵,[g]为运算出的新图像矩阵。[h]为卷积核,卷积核大小为[(i-j×i-j)],[*]为运算符。由此可看出,卷积运算即滤波运算,所以卷积核也被称为滤波器。

2.2 深度学习训练模型设计

VGGNet探索了卷积神经网络的深度和其性能之间的关系,通过反复地堆叠3×3的小型卷积核和2×2的最大池化层,成功地构建了16~19层深的卷积神经网络。FCN为全连接卷积神经网络,用于图像的分割。FCN将CNN中末尾的全连接层改为卷积层,使整个网络模型能接收任意大小的输入图像尺寸,避免了由于尺寸不同带来的重复存储和复杂计算的问题[13-14]。

2.2.1 网络模型

VGG16网络结构复杂,模型参数繁多,从头开始训练必然会导致网络训练不充分、模型难以收敛等情况。本文预先利用已经在VGG16网络上预先训练的ImageNet数据集参数作为网络的初始化参数。再利用VGG16网络进行本文数据集的特征提取。VGG16网络模型特征提取框架及各个层数如图5所示。

2.2.2 图像自动分类

全连接层的作用是将经过多个卷积层和池化层的图像特征图中的特征进行整合,获取图像特征具有的高层含义,用于图像分类[14]。针对糖尿病性视网膜病變图像中病变区域难以检测和提取的问题,本文将VGG16网络与FCN网络的优点进行融合。先用VGG16网络充分提取数据集中图像的特征,再利用FCN的特点将全连接层改造为7×7和1×1的卷积层用于图像的分类。输入尺寸为224×224×3的图像,经过特征提取框架得到尺寸为7×7×512的图像,空间尺寸缩小了32倍,输出神经元个数高达138357544。而经过一个全连接层改造后的卷积层则只需要进行一次前向传播,大大共享了计算资源,使得计算更加高效。因此,全连接层改造为卷积层后,可以在一次前向传播中让更大的图像进行充分卷积。为了防止过拟合,在卷积层Fc1以及Fc2后均引入了Dropout层,并在之后添加relu线性修正单元,解决梯度弥散。图像自动分类器如图6所示。

3实验结果与分析

本文实验方法的实现基于Python3.5平台,使用深度学习框架tensorflow,数据预处理及增强使用pillow库,利用一块显存为11G的NVIDIA GeForce RTX 2080Ti显卡训练100个epoches得到训练模型。输入图像尺寸统一设定为224×224,为了验证训练模型效果,本文将数据集按照5:1的比例划分为训练集和测试集,训练集和测试集互不交叉。

对于图像分类,判断分类模型的性能通常采用图像分类的准确率和损失值。准确率acc表示为测试集中被正确分类的图像个数num除以测试集中图像的数量sum[15],即:

[acc==numsum                                               4]

损失值计算本文采用多分类交叉熵作为损失函数。交叉熵描述两个概率分布的距离,令p(x)为真实值,q(x)为预测值,则p交叉熵为:

[Hp,q=-pxlogqx                                 (5)]

在神经网络分类任务中,输出的并不一定是概率,更多的是实数。则利用softmax函数将神经网络前向传播的结果变为概率分布。设神经网络输出的结果为[y1,y2],[y3……yn],则经过softmax输出的结果为:

[softmaxyi=y'i=yij=1nyj                                        (6)]

根据上述原理,绘制出训练模型的准确率以及损失值图像,如图7所示。由图可以看出,在VGG16模型中训练集的acc基本保持在0.735左右,测试集acc保持在0.738左右。损失值方面,训练集的loss迅速下降,测试集loss维持在0.8左右,最低可在0.6。acc与loss均小幅震荡则表明网络已经收敛。

本文结果与使用同一数据集在未改造的VGG16模型上分类结果进行对比,结果如表2所示。可以看出本文提出的方法大大提高了准确率。

4 总结

本文利用卷积神经网络方法对糖尿病性视网膜图像进行分类。为了提高分类的准确率,加快模型收敛速度,本文在经典VGG16模型上将FCN与VGG模型融合进行改造。首先引入ImageNet训练参数作为初始训练权重,接着经过深度学习提取框架进行特征提取,最后将提取的特征经过改造后的全连接层进行分类。本文提出的提取方法大大提高了传统VGG16分类方法的准确率,对比其他分类算法也有不同程度的提升,优于普通医生的分类效率与准确率。但在图像处理与清洗,模型优化上还有提升空间,因此在后续的工作中将设计图像处理算法以突出局部病变的特征,并将各个模块整合成系统用于糖尿病性视网膜图像的自动分类。

参考文献:

[1] 杨文英.中国糖尿病的流行特点及变化趋势[J].中国科学:生命科学,2018,48(8):812-819.

[2] 孙艳丽,张骏.维生素D水平与2型糖尿病视网膜及黄斑病变的相关研究[J].中国生化药物杂志,2016,36(8):141-144.

[3] 陈霞琳,汪迎,张凯,等.糖尿病性视网膜病变相关危险因素分析[J].临床眼科杂志,2013,21(4):35-37.

[4] 罗院生.从视网膜图像到糖尿病视网膜病变诊断[D].成都:电子科技大学,2017.

[5] Convolutional Nets and Fully Connected CRFs[C]//International Conference on Learning Representations, 2015.

[6] Esteva A,Kuprel B,Novoa R A,et al.Dermatologist-level classification of skin cancer with deep neural networks[J].Nature,2017,542(7639):115-118.

[7] Sabouri P,GholamHosseini H.Lesion border detection using deep learning[C]//2016 IEEE Congress on Evolutionary Computation (CEC).July 24-29,2016,Vancouver,BC,Canada.IEEE,2016:1416-1421.

[8] 马文婷.面向眼科医学图像的病变检测研究[D].北京:北京交通大学,2018.

[9] Wang D Y,Khosla A,Gargeya R,et al.Deep learning for identifying metastatic breast cancer[EB/OL].2016

[10] Liu Y,Gadepalli K,Norouzi M,et al.Detecting cancer metastases on gigapixel pathology images[EB/OL].2017:arXiv:1703.02442[cs.CV].https://arxiv.org/abs/1703.02442

[11] Networks.[J]. IEEE Transactions on Medical Imaging, 2016, 35(11):23692380.

[12] 李瓊,柏正尧,刘莹芳.糖尿病性视网膜图像的深度学习分类方法[J].中国图象图形学报,2018,23(10):1594-1603.

[13]Karen S, Andrew Z. Very deep convolutional networks for large-scale image recognition. In: Bengio Y, Lecun Y, eds. 3rd International Conference on Learning Representations. San Diego: Conference Track Proceedings, 2015. https://arxiv.org/abs/1409.1556

[14] Shelhamer E,Long J,Darrell T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.

[15] 苏炯铭,刘鸿福,项凤涛,等.深度神经网络解释方法综述[J].计算机工程. https://doi.org/10.19678/j.issn.1000-3428.0057951

[16] 丁蓬莉,李清勇,张振,等.糖尿病性视网膜图像的深度神经网络分类方法[J].计算机应用,2017,37(3):699-704.

【通联编辑:唐一东】

猜你喜欢

糖尿病视网膜病变卷积神经网络图像识别
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于深度卷积神经网络的物体识别算法
糖尿病视网膜病变行玻璃体切除术的围术期护理体会
糖尿病视网膜病变玻璃体切除术后眼压变化的规律性临床研究
基于卷积神经网络的树叶识别的算法的研究
糖尿病视网膜增殖膜应用抗VEGF因子后组织病理学研究