眼科筛选的自动眼底图像诊断
2022-04-15丁廷波陈国宝方晏红严中红陈忠敏
丁廷波,邓 鸿,陈国宝,方晏红,严中红,陈忠敏
(1.重庆理工大学 药学与生物工程学院, 重庆 400054;2.重庆市江津区中心医院, 重庆 402260)
现今眼科疾病已经成为了一个世界性的问题,《爱尔眼科中国国人眼底病变状况大数据报告》数据表明,60岁以上人群的眼底检查异常率均高于21.39%,即每5个60岁以上的人群中就有一个眼底异常的人,而据卫健委统计,我国目前只有3.2万名眼科医生,眼科医生和眼科患者比例过低,极大影响了病人的就诊以及治疗。对此,各种检查眼底的技术被开发出来应对众多的病人,而在各类技术的开发和应用中,彩色眼底摄影(fundus photography,FP)技术尤为突出,它以最为经济、无创的成像方式服务于视网膜检测[1]。可以广泛应用在评估多种眼科疾病,如年龄相关性黄斑变性(age-related macular degeneration,AMD)、糖尿病视网膜病变(diabetic retinopathy,DR)和青光眼(glaucoma)等,同时也产生了大量的眼底图像需要鉴别的问题。再则,由于眼底疾病初期特征不明显,眼底疾病的种类繁多,而大多数国家的医疗诊断都存在医生和患者比例低的问题,及时诊断治疗也变得困难[2]。人们努力去改进技术手段,用计算机来识别和描述眼底图像的解剖学结构特征和其他结构之间的联系,辅助眼科医生工作,以求能够更好地用于预测各种类型的眼底疾病[3-4]。
现在科研人员针对所有种类眼底疾病分类的研究较少,王丁辰等[5]研究的眼底图像分类精确率为44.81%;而对于单一眼底疾病的预测模型较多,Rajput等[6]利用眼底图像对糖尿病黄斑病变进行自动检测准确率为95.75%,Jijiang等[7]研究的白内障精确率为93.2%,黄潇等[8]研究的糖尿病视网膜病变精确率为95.3%。成功应用在临床的眼科诊断系统针对的多是部分单一眼底疾病,如Erping等[9]开发的诊断先天性白内障(congenital cataract,CC) 的智能系统,系统准确率为98.87%,临床试验准确率为98.25%;Hrvoje等[10]利用黄斑区OCT视网膜图像训练AMD疾病模型,该预测模型可以有效地用于监测AMD病情的发展;世界第一台智能DR筛查设备IDx-DR,可以自动识别眼底图像的质量,自动诊断DR的分期,精确率在95%以上[11]。
本文针对眼底疾病种类繁多,眼底图像数据量大,医生和患者比例低,以及眼底图像疾病识别率低的问题。通过用InceptionV3神经网络训练疾病预测模型的方式,在深入分析眼底图像各类疾病特征的基础上,得到一个眼底图像疾病预测模型。
1 数据与数据处理
眼底图像数据集来源于北京大学举办的“智慧之眼”国际眼底图像智能识别竞赛(odir2019)以及在医院采集的400幅眼底图像。数据集中所有眼底图像被划分为8个标签,包括正常、糖尿病视网膜病变、青光眼、白内障、年龄相关性黄斑、高血压视网膜病变、近视和其他疾病/异常。为了降低原始图像给实验带来的干扰,删除其中带有镜头污染和异常图像,总计6 940张眼底图像作为原始数据。
1.1 标准图像数据集的组成
针对原始数据集的图像来源于各种不同型号的相机,如佳能、蔡司、科瓦等,采集的图像分辨率不一的问题,统一采取以下图像标准化处理。
图1(a)为原始眼底图像,长方形,带有黑色的背景框,眼底的信息集中在图像的中心;去除原始图像多余黑色底框后如图1(b)所示,图像大小降低,统一为224*224分辨率;图1(c)为翻转图像,右眼眼底图像全部镜面翻转,保证视盘、黄斑与左眼图像结构位置保持一致。经过以上技术手段处理,原始数据集6 940张图像从1.32 G降低到标准图像数据集198 M,整体数据量减少了85%,降低了后续模型训练时间。
图1 眼底图像
1.2 增强图像数据集的组成
针对数据集图像有限的问题,为了增加数据的数量、多样性,增强训练模型的泛化性,对标准数据集进行增强处理。通过对每一张带有疾病标签的眼底图像进行平移剪切以及中心缩放,增加眼底图像的数量。224*224分辨率的眼底图像对应(0,0,112,112),(112,0,112,112),(0,112,112,112),(112,112,112,112)4个坐标进行平均分割,以中心为主缩放为0.5,0.6,0.8,0.9倍的图像重组。
1.3 筛选图像数据集的组成
在标准数增强数据集的基础上,分析每种疾病的疾病特征,对于增强图像进行筛选,得到针对性更好的筛选图像数据集。
1.3.1正常眼底图像特征分析
正常眼底图像如图2所示,能够清晰地看到视杯、视盘、黄斑,以及视网膜颞侧上小静脉和视网膜颞侧上小动脉等结构。视盘位于视网膜后部偏鼻侧,黄斑位于视神经盘颞侧稍下约3.5 mm处,携带的各种病理信息可用于如糖尿病视网膜病变、高血压性视网膜病变、AMD、青光眼等诊断[12]。
图2 正常眼底图像
1.3.2糖尿病视网膜病变特征分析
糖尿病视网膜病变特征为:出现视网膜前出血,视网膜浅层出血、玻璃体积血、黄斑水肿、新生血管性青光眼,牵拉性视网膜脱离[13]。图3为糖尿病视网膜病变眼底图像,可以观察到大范围的结构改变。针对DR病变临床特征分步广的特点,图4为增强图像,编号1~4的平移分割图像不能够提供整体的疾病特征,从数据集中删除,保留编号4~8图像,更好地体现糖尿病视网膜病变全局特征。
图3 糖尿病视网膜病变眼底图像
图4 增强图像
1.3.3高血压视网膜病变特征分析
图5为高血压视网膜病变图像,主要特征为渗出及出血,可见棉绒斑、出血广泛,有微血管改变。其他特征为硬性渗出及棉绒状块斑,常见于后极部,出血长见于后极部动脉附近,呈现点状散布,少数呈墨迹状[13]。针对HR病变特征分布的特点,将图6所示的增强图像中的编号1~4平移分割图像从数据集中删除,保留编号5~8图像,更好地指向高血压视网膜病变整体的表现。
图5 高血压视网膜病变图像
图6 增强图像
1.3.4年龄相关性黄斑变性特征分析
AMD病变分为干性AMD和湿性AMD,病变特征集中表现在黄斑区附近。如图7所示是干性AMD,主要病理改变为脉络膜毛细血管萎缩、玻璃膜增厚、玻璃膜疣和视网膜色素上皮萎缩等导致的黄斑区病变[14]。黄斑位于视神经盘颞侧稍下约3.5 mm处,将图8的增强图像中编号1、2的图像集中在视盘部位的平移分割图像从数据集中删除,保留编号3~8图像,其中编号3最明显的特点是玻璃膜疣明显,让网络更好地学习黄斑区域的病变特征。
图7 干性AMD病变图像
图8 增强图像
1.3.5白内障特征分析
白内障通常分为轻度、中度和重度,血管和视神经盘是其检测和分级的主要参考。轻度白内障眼底图像中的血管信息少于正常眼底,仅小血管不可见;中度白内障的眼底图像中主要血管和视神经盘可见,而大小血管不可见;重度白内障的眼底图像中视神经盘模糊不清[15]。图9为白内障眼底图像,眼底血管模糊,整体边缘信息减少,对于图10的增强图像,删除平移剪切编号1~4图像,保留缩放图像编号5~8,提供白内障整体结构信息。
图9 白内障眼底图像
图10 增强图像
1.3.6青光眼特征分析
青光眼是一组损害视神经的眼部疾病,当眼睛无法排出多余的液体时,眼睛内的液体压力就会增加,压力挤压视神经,破坏神经纤维,损伤的神经纤维导致视网膜神经纤维层的恶化,导致视杯和视盘比例增大[16]。图11是青光眼的眼底图像,图像中视杯与视盘的比例异常,在图12的增强图像中,将编号3、4部分没有包含视杯视盘的眼底图像删除,编号5的视盘横径不完整,也删除,保留剩下的5个包含视盘和视杯结构部分。
图11 青光眼眼底图像
图12 增强图像
1.3.7近视特征分析
图13是病理性近视图像。近视的眼底图像特征:乳头产生各种形状,如三角、梭形、长圆,乳头周围环形萎缩灶,后极后凹(葡萄肿)脉络膜萎缩,弥漫及黄斑,大血管暴露,眼底黄白色,黄斑结构不清楚,无中心反光,脉络膜大片、地图状萎缩,巩膜暴露,色素紊乱、沉着,反复黄斑出血,黄斑囊样变性、裂孔,视网膜脱落[17]。对于图14中近视眼增强图像,删除编号3、4图像,保留剩下的6种增强图像,突出近视眼眼底图像疾病特征。
图13 病理性近视图像
图14 增强图像
1.3.8其他特征分析
其他疾病包括:视网膜分支动脉阻塞,玻璃体变性,视网膜色数沉着,黄斑前膜,视网膜色素上皮细胞脱失,视网膜中央动脉阻塞,色素上皮细胞增殖,有髓神经纤维,斑点状膜样改变,屈光介质浑浊等,对于此类别的眼底图像,因为种类繁多,单一的样本有限,对于增强图像不做处理。
2 眼底图像建模环境
为了获得一个高精度的眼底图像疾病识别模型,采用了神经网络训练建模的方式,选择一个轻型神经网络,载入带有标签的眼底图像训练集。
2.1 神经网络模型
卷积神经网络(convolutional neural network,CNN)被认为是深度神经网络的一种常见变体,对于图像分类以及图像识别有着很强的能力,在计算机视觉中有着广泛的应用,并以其权值分担和局部连通性而闻名[18]。选取的神经网络是InceptionV3网络作为网络主体,是因为作为轻型神经网络的一种,它是在InceptionV1和InceptionV2的基础上引入了因式分解的思想发展而来的,大量的研究中都证明它在结构和性能上的可靠。
InceptionV3的计算成本远远低于性能更高的后继者[19],这使得在大数据场景或内存或计算能力固有受限的场景中使用Inception网络成为可能[20-21]。InceptionV3网络结构的特点在于,之前提出了使用2个级联的3*3的滤波器来代替网络中的5*5的滤波器,而在此基础之上,进行如图15所示的滤波器结构改造,对于3*3的卷积核再次分解为3*1+1*3的模式,又再进一步的降低了网络的计算量[22]。对于大量的眼底图像训练,使用InceptionV3网络可以减少计算工作量,缩短实验的周期,降低对硬件的要求,对于模型的精度有很好的保证。
图15 滤波器结构
2.2 网络详细参数
为了提高神经网络的预测精度,可以从2个方面入手,一是原始数据分析,二是算法模型的优化[23]。针对各类疾病眼底图像的不同特征和表现,提供给神经网络不同侧重的数据集,以此来提高网络模型的预测结果。以InceptionV3网络为主体进行搭建,选用了SGD(lr=0.01,decay=1e-6,momentum=0.9,nesterov=True)作为神经网络中的优化器, Softmax作为最后分类器。原始数据经过图像预处理、图像增强、图像筛选、进入神经网络提取特征,最终得到标准数据集、增强数据集、筛选数据集3类预测结果。
2.3 评价指标
评价一个神经网络的性能,主要是有准确率(accuracy)、精确率(precision)、召回率(recall)、曲线下面积(AUC)等。
以下是评判标准的4个公式,其中,TP表示预测是正常的,实际也是正常的样本;FP表示预测是异常的,实际是正常的样本;TN表示预测为异常,实际为正常样本;FN表示预测为异常,实际也是异常样本。其中,TP和TN都是预测和实际样本一致的,FP和FN都是预测和实际样本不匹配的,而评价指标都是对4个指标不同的计算方法。
Accuracy表示正确的预测结果和总的预测对象的比值:
(1)
Precision表示正常样本预测正确结果和所有预测为正常样本的比值:
(2)
Recall又称为灵敏度(sensitivity),表示正常样本预测正确总数和所有正常样本的比值:
(3)
AUC是ROC曲线下的面积,表示正例排在负例前面的概率,ROC曲线坐标由{(x1,y1),(x2,y2),…,(xp,yp)}的点连接而成,则AUC公式如下:
(4)
2.4 实验环境
使用华硕的飞行堡垒6笔记本电脑,GPU是GTX1050Ti,系统是Windows 10家庭中文版,CPU是Intel(R) Core(TM) i7-8750H CPU @ 2.20 GHz 2.21 GHz,内存 8.00 GB(7.85 GB可用)。
3 实验结果
3.1 模型预测结果
表1是标准数据集模型的预测结果,把标准数据集的6 940张图像载入InceptionV3网络,其中6 540张图像作为训练图像,8个种类的疾病都用50张图像作为验证图像,通过4次训练得到以下结果。从表2中可以看到,第4次重复实验最好的Precision是52.41%,灵敏度51.75%。
表1 标准数据集预测结果
表2 增强数据集预测结果
表2是不同数据量的增强数据集预测结果,在标准数据集6 940的基础上增加增强图像,总量增加到12 000、14 000、16 000张。训练模型预测结果的精确率、灵敏度以及AUC面积等评价指标都在上升。最好的结果在数据量16 000时,精确率是62.34%,灵敏度62.50%。
通过深入分析眼底疾病特征,筛选增强眼底图像,获得如表3所示的不同数据量的筛选数据集结果,分别对应图像数据量为12 000、14 000、16 000的模型预测结果。最好的预测结果在数据量16 000时,精确度75.93%,准确率93.63%,召回率71.75%。表3和表2结果相比,准确率、精确率、召回率以及AUC的评分都有所提高,而与文献[5]的神经网络模型预测识别率44.81%相比,精确率提高了31.12%。
表3 筛选数据集预测结果
3.2 单一疾病预测结果
图16预测结果1是表1的4次重复实验中的第4次预测结果的单一疾病预测结果。通过标准数据集模型预测结果在单一疾病中的表现,可以看到白内障眼底图像的预测结果表现最好,为70%,高血压视网膜病变只有8%,精度不高的原因是图像本身没有明确给网络提供学习的方向和重点,网络随机提取图像信息作为该疾病的特征。
图16 数据集预测结果
图16预测结果2是表2中总量16 000的增强数据模型集预测结果的单一疾病预测结果,从中可以看出白内障的精确率是84%,病理性近视的精确率达到94%,证明增强图像可以有效提高训练模型的精确率。
图16预测结果3是表3中总量16 000的筛选数据集模型预测结果的单一疾病预测结果,其中疾病预测结果最好的是病理性近视,准确率94%,白内障的准确率达到了92%,接近文献[7]学习模型预测的93.2%。年龄相关性黄斑达到了88%,接近文献[24]中用DCNN形成的智能识别眼底图像88.4%的准确率。
4 结论
通过深入分析眼底图像疾病特征,针对增强眼底图像进行筛选,提高了神经网络模型对疾病的预测结果。通过搭建以InceptionV3为主体的神经网络,把不同种类的眼底图像数据集作为训练对象,获得眼底图像疾病预测模型。对比现有的眼底疾病识别率44.81%,筛选数据集模型预测结果达到了75.93%的精确率,提高了33.63%。白内障识别率达到92%,年龄相关性黄斑达到了88%,病理性近视的准确率达到94%,都接近于单一疾病的准确率。
实验结果证明,通过深入分析眼底图像疾病特征,优化眼底图像数据集构成,可以有效提升训练模型的预测精度。训练的筛选数据集模型,可以用于辅助眼科医生诊断眼底疾病,提高眼底疾病初期诊断筛查的精度。