基于集成Inception-v4 的糖尿病性视网膜病变图像分类

2021-05-25 05:27王宇光
软件导刊 2021年5期
关键词:视网膜卷积测试

王宇光,李 峰

(1.上海理工大学机械工程学院;2.上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

糖尿病性视网膜病变(DR)是人类不可逆视力丧失的两大主要原因之一[1]。若糖尿病性视网膜病变没有得到及时治疗,发展到后期会使患者视力急剧下降,最终导致失明,严重影响正常生活[2]。研究表明,患糖尿病的时间越长,糖尿病性视网膜病变发生的几率越高。在发病早期,如若能及时发现和治疗,则可显著降低视力下降风险[3]。通常将拍摄的眼底图像作为最普遍、最直接的筛查方法,可较好检测出视网膜病变程度。但在目前筛查工作中,对于DR 的筛查高度依赖临床专家的手工筛查,这种筛查模式费时费力,且由于是主观分析,容易受外部环境影响而出现失误,难以进行大规模筛查工作。因此,开发一种能适应DR 图像分类的自动分级系统势在必行[4]。

研究证明一些深度学习算法可以用于医学图像检测任务[5]。对于DR,深度学习算法可用于生成专家级别的视网膜眼底图像分级诊断[6],通过大规模的数据集训练达到较好效果[7]。然而,这些方法都以时间复杂度的增加为代价,特别是在输入图像尺寸较大的情况下,时间复杂度增加更为明显[8]。

针对训练时间复杂度增加问题,本文采用5 个分类模型的集成,每个模型都是基于改进的Inception-v4 架构。集成网络可以有效减少模型的训练时间。同时,对数据集中的图像进行预处理,包括筛选质量不佳的图片、去噪声、归一化等操作,提高分类模型中用于训练的图像质量,提高图像分类精度[9]。采用数据增强方式防止过拟合,采用深度学习算法对DR 图像自动分类,减少因外部环境或人为因素导致的误诊及漏诊,缩短DR 的筛查时间。

1 相关工作

卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feed⁃forward Neural Networks),是深度学习(deep learning)的代表算法之一。对卷积神经网络研究始于20 世纪80-90 年代,时间延迟网络和LeNet-5 是最早出现的卷积神经网络。在21 世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到快速发展并应用于计算机视觉、自然语言处理等领域[10]。

目前常用的网络有VGGNet、Inception-v3、ResNet-50等。在Inception-v3 网络基础上,Google 公司开发了In⁃ception-v4 网络。Google 的Inception 网络首次亮相是在2014 年的ILSVRC 比赛中,以top-5 错误率(为6.67%)略低于VGGNet 的优势取得第一名。本文使用Inception v4网络作为模型搭建的基础架构,其结构如图1 所示[11]。

Inception-v4 网络主要由stem 模块、inception 模块和reduction 模块组成。在改进的Inception-v4 网络中,incep⁃tion 模块将池化层和卷积层叠加在一起,利用1×1 卷积的瓶颈层减少计算需求。这些卷积是大小不同的1×1、3×3和5×5。池化层用于模块内的维度缩减。与Inception-v3相比,Inception-v4 引入了更深入更宽的剩余连接,并且拥有更统一的简化架构和更多的初始模块[12]。

1.1 数据集

Kaggle 网站在2015 年举办了一场DR 检测挑战赛,该竞赛由加州医疗保健基金会赞助。Kaggle-DR 数据集由88 702 张彩色眼底图像组成,包括35 126 个用于训练的图像和53 576 个用于测试的图像。这些图像是在加利福尼亚州和其它地方的多个初级保健站点使用各种设备在不同条件下(如调整分辨率)拍摄的[13]。每位参与者都要采集两张分辨率相同的左眼和右眼图像。Kaggle-DR 是最大的公开DR 分类数据集,但它也有一些缺点。首先,它不包括任何手工标注,如病变轮廓或位置;其次,Kaggle-DR 数据集中存在低质量图像,这使得清洗数据集或提高数据集图像质量等工作变得较为重要[14]。

Fig.1 Network structure of Inception-v4图1 Inception-v4 网络结构

Messidor-2 数据集来自4 个法国眼科机构,包括874例糖尿病患者的彩色眼底图像,共计1 748 张图像。这些图像已经根据存在的病理体征进行分级。该数据集是之前用于疾病检测的最大公共数据集。

本文将Kaggle-DR 数据集作为模型训练和测试使用,Messidor-2 数据集作为单独的测试集用于对集成模型泛化性测试[15]。

1.2 图像预处理

为了让模型获得更好的训练,首先对数据集中的所有图像进行筛选,将成像质量较差或无法体现病灶的图像剔除。为了增加眼底图像的异质性,防止过拟合,本文采用数据增强技术提高模型性能。将数据集中每张图像的大部分黑色边界去掉,整张图像裁剪为一个正方形。将裁剪过的图像进行左右、上下翻转和旋转,操作角度为90°、180°和270°进行数据增强[16],由此创建不同转换图像适应不同严重程度样本。

2 实验设计

本实验基于TensorFlow 深度学习框架,在GPU 平台上运行,CPU 为Intel i7-8750H,GPU 为NVIDIA GTX 1080Ti,显存11GB,运行内存为64GB。

2.1 网络搭建

为了让集成网络学习图像具有更多的不同特征,本实验在集成模型中使用图像随机训练顺序对每个模型进行训练,同时采用dropout 正则化方法。通过训练和随机正则化,即使用相同的训练数据集和ImageNet 初始化,每个模型学习到不同的图像特征。对于实验中需要调整的超参数,本实验都对其进行标准化,采用随机梯度下降(SGD)算法对网络参数进行微调。此方法运行速度较快,易于收敛。此外,本实验还采用批处理归一化技术和ReLU 激活函数。整个集成网络结构如图2 所示。

Fig.2 Integrated network structure图2 集成网络结构

2.2 迁移学习

迁移学习指一个预训练的模型被重新用在另一个任务中。迁移学习的思想类似于人们常说的举一反三,本文使用已有的深度学习方法解决相关实际问题。这里所说的相关是指不同领域但富有关联性,目的是打通知识迁移性,解决实际问题中标签样本少甚至由于现实条件下的各种情况导致标签样本不存在的问题。其基本思路是使用预训练,将现有大型数据集上训练好的权重值作为初始化值,将它迁移到实际问题的数据集上再次训练并且微调参数,相当于在预训练中进行学习而得到一些基本特征,如颜色或边框特征等,达到提高准确率并节省训练时间[10]的目的。为了加快集成模型中单个Inception-v4 的训练速度,利用ImageNet 数据集预先训练好的权值对其进一步优化。在训练过程中尝试通过还原前端层和使用反向传播方法更新主数据集上相应的预训练权值来细化网络,直到模型性能得到进一步提高。

3 实验结果与分析

为了验证集成模型的泛化性,本实验对模型的验证不仅在Kaggle-DR 上进行,还在Messidor-2 上进行,并将结果与相关文献中的结果进行对比。按照国际通用的分级方法,在Kaggle-DR 数据集中,视网膜眼底照片分为无明显糖尿病性视网膜病变、轻度非增殖性糖尿病性视网膜病变、中度非增殖性糖尿病性视网膜病变、重度非增殖性糖尿病性视网膜病变和增殖性糖尿病性视网膜病变[17]。本实验中,集成模型将无明显糖尿病性视网膜病变和轻度非增殖性糖尿病性视网膜病变视为不可转诊的糖尿病性视网膜病变,将中度或更严重的糖尿病性视网膜病变视为可转诊的糖尿病性视网膜病变[18]。

本实验Kaggle-DR 数据集划分为3 个部分,即训练集(70%)、验证集(20%)、测试集(10%)。本实验对训练集和验证集进行数据增强,测试集只用于测试实验效果,测试结果如图3 所示,在Kaggle-DR 上的AUC 值为0.992 3。

Fig.3 AUC value of Kaggle-DR test results图3 Kaggle-DR 测试结果AUC 值

为验证集成模型的泛化性,本实验将Messidor-2 数据集对集成模型进行测试,测试结果如图4 所示,在Mes⁃sidor-2 上的AUC 值为0.976 7。

Fig.4 AUC value of Messidor-2 test results图4 Messidor-2 测试结果AUC 值

本实验集成模型实验结果如表1 所示。在指标计算中,本文计算AUC、灵敏度、特异性3 个指标的95% 置信区间,以更合理地体现出集成模型训练结果的准确范围。

Table 1 Experimental results表1 实验结果

为了进一步验证集成模型有效性,与近几年关于DR分级的方法进行对比,结果如表2 所示。本文提出的集成模型方法与相关研究方法相比,在AUC 和灵敏度上高于其它方法,在特异性指标上也超过了大部分相关研究方法。

Table 2 Comparison of performance indexes between integrated model and other models表2 集成模型与其它模型性能指标对比

4 结语

本文基于Inception-v4 网络结构采用集成模型方法,通过训练和正则化随机性,使用相同的训练数据集和Ima⁃geNet 初始化使每个模型学习到不同的图像特征。在Mes⁃sidor-2 数据集上实验,通过与其它方法对比可知,集成模型拥有更好的分类性能及泛化能力,同时集成模型的鲁棒性也得到了验证。但由于实验使用的数据集较少,训练样本种类可能对实验结果造成一定影响。因此,在后续研究中将扩大数据集来源以更好地验证模型的泛化能力。

猜你喜欢
视网膜卷积测试
深度学习在糖尿病视网膜病变诊疗中的应用
基于3D-Winograd的快速卷积算法设计及FPGA实现
家族性渗出性玻璃体视网膜病变合并孔源性视网膜脱离1例
高度近视视网膜微循环改变研究进展
幽默大测试
从滤波器理解卷积
“摄问”测试
“摄问”测试
“摄问”测试
基于傅里叶域卷积表示的目标跟踪算法