深度学习在糖尿病视网膜病变检测和分类中的研究*
2023-03-21邢俊凤杜鹏程
苗 玥 邢俊凤 杜鹏程
(1.内蒙古科技大学包头医学院计算机科学与技术系,内蒙古包头 014010;2.内蒙古科技大学包头医学院一附院 眼科,内蒙古包头 014010)
0 引言
糖尿病视网膜病变(Diabetic Retinopathy,DR)是影响全球数百万人视力丧失和失明的原因之一,DR 疾病的早期诊治对预防视力丧失起着极其重要的作用。如果糖尿病患者长期得不到治疗,最终会导致失明。糖尿病病程在10 年左右的患者,出现DR 病变的概率是50%,15年以上者患病概率达80%。糖尿病病情越重,病程越长,年龄越大,发病的概率就越高[1]。
DR 病变是视网膜区域小血管长期恶化导致急性视力损伤的主要原因。早期阶段,患者并不能察觉症状,不能在适当的时间进行检测,错过了最佳的检测时期。因此,越早干预,视力损伤就会越小[2]。通过定期筛查可以早发现、早治疗,减缓疾病的进展,筛查在临床诊断和治疗中起着很重要作用,可以防患于未然。
近年来,随着医学图像处理和深度学习的发展,深度学习技术已应用到DR 病变的检测和诊断中。基于深度学习方法的自动识别和DR 分级诊疗系统,可以更安全、准确、高效、无创地分析图像信息,并能检测、定位和分类疾病。因此,加快深度学习应用到眼部诊治中,有可能彻底改变现有的疾病诊断系统。基于图像的自动识别和DR分级诊疗系统有助于大规模DR 病人的筛查工作,提高临床工作效率,为缓解医疗资源短缺提供了新途径。
1 深度学习网络模型研究现状
1.1 早期的深度学习网络模型
早期DR 中分类中用到的网络模型有LeNet、AlexNet、VGG、GoogLeNet 等,这些网络都是在卷积网络(Convo lutional Neural Network,CNN)的基础上发展出来的。CNN主要用于图像和视频识别、语音系统、医学图像分析和自然语言处理中,主要由输入和输出层以及多个中间层组成,这些中间层也就是隐藏层,可分为卷积层、池化层、ReLu 层和全连接层。其中卷积层是CNN 的核心,通过卷积核提取图像数据特征,使用池化层下采样,降低数据维度,由多个卷积层和池化层可以形成多个卷积块,逐层提取二维图像的特征信息。
LeNet 网络模型并且应用于手写数字识别中,包含2 个卷积层、2 个池化层、3 个全连接层,在MNIST 数据集上,LeNet 模型可以达到大约99.2%的正确率[3]。Alexnet 模型由5 个卷积层、池化层、dropout 层和3 个全连接层组成,在2012 年ImageNet 大赛中,获得大赛冠军,使深度学习引起了研究者的重视[4]。
VGG(Visual Geometry Group,VGG)全称是属于牛津大学科学工程系,发布了一系列的VGG 卷积网络模型,VGG 有3 层全连接、5 个池化层,分布在不同的卷积层下。根据卷积层和全连接层层数的不同,VGG11 有8个卷积层与3 个全连接层,属于层数最少的卷积层,最多是VGG19,有16 个卷积层和3 个全连接层。VGG 卷积网络模型荣获2014 年ILSVRC 竞赛的第二名[5-6]。
GoogLeNet 是基于Inception module 子网构建的,具有更深的网络结构。该网络是通过增加网络的宽度提高网络性能,在每个inception 模块中,使用了不同大小感受野,然后将其集合起来。inception_v4 版本中使用了Resnet 的残差模块和统一的inception 模块,将网络做得更深,在保持相同计算量的情况下,可以提取到更多的特征,高效地利用计算资源,有利于提升训练结果[7]。
1.2 最新的网络模型
最近两年内采用的网络模型有ResNet、DenseNet、EfficientNet 等模型。何凯明[8]提出ResNet,并且赢得了ILSVRC2015 年冠军,获得3.57%的误差率,网络深度可达152 层,它的核心是使用跨连接的方式,很好地解决了在层中传输信息丢失和梯度消失的问题,加快了超深度神经网络的训练,提高了模型的精度。Wan 等[9]在kaggle数据集上对数据进行了预处理,并且采用ResNet 进行网络训练,获得了准确度为0.904 的结果,比AlexNet 的结果要高。
DenseNet 相较于ResNet,是一种具有更密集连接的卷积神经网络。在该网络中,网络每一层的输入都是前面所有层输出的并集,也就是任意两层之间都有连接。而当前层学习的特征图也会被直接传给后面所有层作为输入。DenseNet 保留了ResNet 的优点,并做了更加有意义的创新工作,使网络性能进一步提升。其最大的优点是解决了梯度消失的问题,加强了特征传播和复用,极大地减少了参数量[10]。
随着深度网络的层数增加,运行效率就会降低,EfficientNet 模型主要解决精度和计算效率的问题,从宽度、深度和分辨率3 个参数上创建了一种更加通用的CNN 架构,其中宽度是通道数,深度是层数,分辨率是输入图像大小。通过采用Swish 激活函数,而不是ReLU,通过“挤压”层降低不太重要的特征, 将宽度、深度和分辨率3个参数保持较小,从而提高网络收敛的速度,实现性能强且计算效率高的网络模型。可以说,EfficientNets 是目前性能最好的分类模型之一[11-12]。
2 国内外在DR 检测和分类中的研究现状
2.1 传统机器学习方法
传统机器学习方法使用了各种手工特征提取的技术,将这些特征输入特定分类器,进行DR 严重性等级分类。如何挑选合适、有效的特征,需要依靠专业知识和对各种参数进行调整。手工提取特征数量不足或不够准确会导致错误分类,从而影响了DR 分类系统的性能。Sm 等[13]提出了早期DR 疾病分类方法,采用机器学习算法袋装分类器,进行模块特征提取和袋装分类。Sa 等[14]使用多种内核方法检测微动脉瘤和出血。Ca 等[15]利用随机森林的算法区别是否为DR 患者,根据分级的眼底照片和系统数据评估DR 风险,准确率超过90%。
2.2 深度学习网络模型在DR 检测和分类中的研究现状
2.2.1 深度学习网络模型在DR 检测中的研究现状
深度学习在医学领域中的应用,已经证明深度学习方法的显著优越性。虽然深度学习在DR 诊断中的应用已经取得了许多进步,但这些系统仍然需要进一步提高性能和精准度,在临床实际应用中还需进一步验证。因为深度学习CNN 模型需要大量的数据,才能确保模型的收敛和不过度拟合。
孟凡奎[15]使用加了条件随机场的卷积神经网络模型,对眼底图像出血点进行训练和验证,获得了98.8%的准确率、99.4%的召回率和99.1%的F-score。在DIARETDB1数据库上的灵敏度为98.5%,F-score 为96.1%。杨振宇[16]在U-Net 模型的基础上,增加了残差网络与密集网络的卷积结构,可以解决过拟合、梯度弥散等问题,结合了ResU-Net 和DenseU-Net 两者的优势,提高了网络的泛化能力,对视网膜眼底图像中的渗出液进行了分割,解决了分割效率低、分割精度不足的问题。龙胜春[17]采用生成对抗网络,检测出眼底视网膜图像硬性渗出物,预处理了光照不均,对视盘进行了掩盖,使用了对抗网络,其中G 和D 网络用到的结构都是U-Net 网络,本算法整体平均灵敏度SE、特异性SP 和准确性ACC 分别为100%、96.2%和97.8%。该网络的优点在于解决了标记样本不足的问题,不足在于预处理阶段将视盘掩盖。Pan 等[18]利用DenseNet 深度学习算法,对4 种病变进行检测,包括非灌注区(NP)、微动脉瘤、渗漏和激光疤痕,AUC 分别达到0.8703、0.9435、0.9647 和0.9653,可以实现多标签分类的自动检测。
2.2.2 深度学习网络模型在DR 分类中的研究现状
近年来,深度学习在DR 图像分类任务上取得了显著成果。丁蓬莉等[19]改进了AlexNet 网络模型并对视网膜图像进行了分类,采用了去除边界、归一化、数据扩增等图像预处理操作,分类指标达到0.87。Z 等[20]采用Efficient Net-B5 网络对DR 病变分类,该网络主要统一扩展网络的所有维度,在Messidor 数据集上进行评估,AUC 值达到了0.945。W 等[21]利用CNN 卷积神经网络提取了特征,结合传统机器随机森林分类方法,对视网膜血管进行分割,AUC 值为0.9475。Mammoth 团队用DenseNet121 网络进行特征提取,通过机器学习提升树算法进行预测。Li等[22]采用迁移学习的方法对DR 进行二分类检测,通过支持向量机对提取的特征进行训练分类,实现了二分类任务。Rb 等[23]提出了一种将CNN 与传统机器学习算法相结合的方法,利用残差网络加决策树分类器区分是否患有DR 病变。Gn 等[24]采用InceptionV3 深度模型,利用10 万多张眼底图像的数据集检测DR 病变,得益于大量的训练数据和眼底专家对眼底图像的筛选,AUC 值非常高。Wan and Liang 等[25]在结合迁移学习和超参数调优,采用不同的网络训练数据,并分析这些模型在DR 图像分类方面的能力,其中VggNets 分类精度最高为95.68%。
3 存在的问题
3.1 通用性差,缺乏同时对多个小目标病变区检测的网络模型
大部分网络模型用于分类,将病变分为5 个等级,即无、轻度、中度、重度、增殖。而对于目标检测方面的做研究相对来说比较分散,因为眼部的病灶呈多样化的特点,单独某种网络结构只适合提取其中某种病灶的特征,导致国内外研究者主要研究局部病灶,比如血管检测、渗出物检测、出血点检测、微动脉瘤检测,很少有全局性、通用性的研究,很少有网络模型能同时检测多种小目标的病灶。所以针对该问题需要设计一款通用性高、不需要预处理且能有效检测小目标的模型,可以考虑将注意力、迁移学习机制和目标检测网络用于分类和检测中。
3.2 数据集样本少和不平衡的问题
医学标注数据集小,医学标注要花费医生大量的时间和精力,再加上我国专业的眼科医生的缺乏,导致很少有专业医生投入数据标注工作,造成标注样本小的问题,而深度学习需要大量的数据,这给深度学习的训练带来了一个挑战。另外,样本不平衡问题也比较严重,出现了不同病变的数据不平衡问题。
3.3 数据特征呈稀疏的特性
眼部的病灶呈多样化的特点,比如血管、渗出物、出血点、微动脉瘤,对这些病灶提取到的特征呈稀疏的特性,信息过少,不利于后期的检测和分类。因此,需要强化这些特征值,使用残参、注意力机制加强特征信息。
4 结语
在DR 检测方法中,针对小目标难检测的问题,可以采用加入特征金字塔网络结构模型,提取出目标区域,将目标区域中的特征和金字塔中训练得到的特征结合起来,进行ROI 池化,能够同时、准确地检测出血管瘤、眼底出血、玻璃体出血、渗出物等多种病变。
在DR 分类中,可以加入注意力机制和多尺度机制。采用注意力机制可以更好地突出微小病变特征图像的信息,从而提取到更丰富的特征,结合迁移学习预训练,能更加充分地提取病变区域中较小的特征信息,提高分类的精准度。采用多尺度机制可以框选出大小不同的病变区域,将不同尺度的特征信息图片统一尺寸后,输入分类模型进行分类。此外,也可以结合其他检测数据,实现多模态数据融合,以判断和检测糖尿病视网膜病变。