基于深度卷积神经网络的糖尿病视网膜病变分期及病灶检测
2020-09-04谢云霞黄海于胡建斌
谢云霞,黄海于,胡建斌
(1. 西南交通大学信息科学与技术学院,成都611756; 2. 爱尔眼科成都东区爱尔眼科医院,成都610056)
0 引言
糖尿病视网膜病变(Diabetic Retinopathy,DR)是糖尿病患者易发于眼部的病变,简称糖网,晚期会导致患者失明[1]。本文选择使用Davis 分类法[2]作为糖网分期规则。糖网在每一期都有新的病灶出现,而区分这些病灶特征将成为划分糖网期数的重要依据。近年来多位研究学者提出了多种算法去实现糖网的多级划分,但注意力网络聚焦可疑区域的算法无法避免小病灶被忽略[3],以全局图像作为输入的算法会因病灶特征的遗失而影响准确率[4-8]。单一检测出血点或渗出物虽然得到了很好的效果[9-12],但单一病灶的检测用于糖网分期具有局限性。糖网病灶检测和分期现在面临三个难点:
1)病灶在高分辨率眼底图像中占比小。
2)难易样本不均衡。
对目标检测网络而言,可以通过设置正负样本的比例来解决正负样本不均衡的问题,但如果难易样本在这个随机选择的过程中由简单样本来主导损失(loss),那么这个模型将不会学习到更多有用的特征。
3)视网膜部分组织影响病灶的识别。
视网膜上的部分组织以局部视角来看,其颜色、边缘纹理都与个别病灶相似,导致假阳性的出现。如图1 所示,视盘的局部区域和软性渗出病灶极易混淆。
图1 易混淆的病灶和区域Fig.1 Confusing lesions and regions
针对以上问题,本文提出了将视网膜切割成多个子图并记录视盘区域坐标的方法,以可接受的时间代价换取更高的准确率。使用更深层次的网络可学习到更丰富的病灶特征。在线困难样本挖掘(Online Hard Example Mining,OHEM)方法可使模型聚焦难例样本,有利于模型的优化。综合以上思路,本文提出了基于改进的基于快速区域的卷积神经网络(Faster Region-based Convolutional Neural Network,Faster R-CNN)和子图分割相结合的糖网分期方法。对现有数据集中符合DR图像采集标准的共17 919张糖网图像进行实验,得到了0期的精确率为94.83%,1期的精确率为86.84%,2期的精确率达到94.00%,3 期的精确率达到87.21%,4 期的精确率达到82.96%,表明了本文所提出方法的有效性。
1 糖网检测
1.1 子图分割
当将整张糖网图像作为卷积神经网络的输入时,是基于图像的全局信息提取特征,很难在全局图像中聚焦到局部的病灶信息;并且通用的特征提取网络都会对图像尺寸做出等比例压缩的处理,这个过程会导致病灶的特征被模糊甚至丢失,故提出以子图分割的方法将糖网图像划分为N个不重叠的子图像,如图2所示。
图2 子图分割结果Fig.2 Result of subgraph segmentation
由于糖网眼底图像的视盘区域极易干扰病灶的识别,所以在进行子图分割时会记住视盘区域的坐标,识别时会判断该子图中的软性渗出病灶是否出现在视盘区域的坐标范围内。本文方法的流程如图3所示。
1.2 Faster R-CNN
1.2.1 使用更深层的特征提取网络
Faster R-CNN[13]的第一个模块是特征提取模块,而网络层数越多的特征提取网络能够提取到越多的不同层次(level)的特征,并且详细的目标特征有助于提高目标的识别率。为了提取糖网眼底图像样本中更加本质的特征,本文采用更深层次的网络ResNet101。它的核心在于残差学习模块,如图4所示,假设该网络的原始输入为x,期望输出是H(x),即可将原始的映射关系转换为F(x) =H(x) -x。He 等[14]通过实验证明了ResNet能有效地促进网络的优化。
图3 本文方法流程Fig.3 Flowchart of the proposed method
图4 神经网络模块Fig.4 Modules of neural network
1.2.2 在线困难样本挖掘
为了解决Faster R-CNN 在感兴趣区域(Region of Interest,ROI)生成时正负样本不平衡的问题,本文将在线困难样本挖掘(OHEM)机制[15]引入了该网络框架中来进行糖网病灶检测,如图5所示。
图5 改进的Faster R-CNN框架Fig.5 Improved Faster R-CNN framework
OHEM 机制在该网络框架里将ROI 网络扩展成了两个结构相似的ROI 网络。第一个原始ROI 网络是前向传播网络,在这部分选择出所有候选区域中loss 值较高的区域作为困难样本,并将这些困难样本作为第二个ROI网络的输入。
候选区域的损失函数计算公式如式(1)所示。
分类模块的损失函数Lcls定义如式(2)所示:
定位模块的损失函数Lreg定义如式(3)所示:
其中R是smooth L1函数,smooth L1函数如式(4)所示:
第二个ROI 网络输出共享了第一个ROI 的参数,并输出了识别的病灶边界框坐标和病灶分类结果。该算法对病灶的定位和识别更具有针对性,能进一步提高病灶检测的准确性。
2 实验验证与结果分析
2.1 数据集和评价指标
糖网眼底图像样本来自于EyePACS 数据集和爱尔眼科医院提供的数据,基于此数据集人工标注了病灶样本,构建了样本数据集,数据分布情况如表1所示。
表1 糖网数据集分布Tab. 1 Distribution of diabetic retinopathy datasets
为了评估本文构建的多分类模型的性能,本文采用了精确率、灵敏度、特异度三种评价指标。精确率计算公式如(5)所示。
灵敏度和特异度的计算公式如式(6)和(7)所示。
灵敏度是病变DR 图像不被漏判为正常DR 图像的概率,特异度是正常DR图像不被误判为病变DR图像的概率。
2.2 病灶分类与糖网分期
在具体的糖网分期上,本文采用了三阶段多分类的策略,在第一阶段中使用12 层的卷积神经网络(Convolutional Neural Network,CNN)将所有眼底图像二分类为第4期糖网眼底图像和其他眼底图像,以去除第4 期病灶无法标记病灶的干扰;在第二阶段中将视盘区域与其他区域分类出来,以去除视盘区域对软性渗出病灶的干扰;在第三阶段检测四类病灶目标。最终,依据四类病灶的检测结果并参照糖网分期的标准进行糖网分期。检测结果如图6所示。
图6 检测结果Fig.6 Results of detection
2.3 结果分析
为了验证子图分割的有效性,分别使用了多种尺寸的分割方法进行对比实验,实验结果如表2所示。
表2 子图分割实验结果对比Tab. 2 Experimental results comparison of subgraph segmentation
图像前景区域尺寸在2 500 × 2 500至3 000 × 3 000范围,不重叠子图按照等分区域分割。由表2 的结果可得,输入图像的分辨率对糖网分期结果有影响,具体影响是在改变大小(resize)阶段对病灶特征信息的保留上,在全图中占比越小的病灶特征越容易丢失,但分割的子图过多只会以更多的时间代价换取很小的性能上升。
由表3 的结果可得,本文模型对各病灶的检测能力不同。火焰状出血虽然精确率较高,但样本不多,在测试集中所占比例较小。而软性渗出受视盘区域的影响而导致误判率较高,但在最后联合决策时会排除此区域的干扰,所以在对糖网第3期分类时更加依赖于软性渗出的判断。糖网病灶检测结果得到之后会对整张图像进行联合决策,每一期的糖网眼底图像的分类结果如表4所示。
表3 糖网病灶检测结果 单位:%Tab. 3 Lesion detection results of diabetic retinopathy unit:%
由表4 的结果可得,糖网各期分类效果受到病灶检测效果的影响。轻度DR 以点状出血病灶作为分类依据,其检测灵敏度较高,但因存在其他期数的病灶无法检测出来时而归类到轻度DR 的情况,所以特异度降低。重度DR 以多个病灶作为最后的联合决策依据,虽然模型对火焰状出血和软性渗出病灶的检测能力不高,但因两个病灶同为本期的分类依据,所以重度DR 的灵敏度和特异度都较高,不过由于受到增殖性DR 分开检测的影响,所以精确率不高。中度DR 以硬性渗出作为主要的分类依据,受到重度DR 病灶标注时未能标注全部医学症状的局限,有概率将重度DR误判为中度DR,因此特异度较低。
表4 糖网各期分类结果 单位:%Tab. 4 Classification results of different stages of diabetic retinopathy unit:%
使用两种算法的检测效果如图7 所示。对同一张图的检测可以看出,图7(a)对比图7(b)出现了漏检和错检。
图7 检测效果对比Fig.7 Test effect comparison
根据对比结果,在采用ResNet101 特征提取网络、引入在线困难样本挖掘机制、切割子图、分开检测第4 期图像等改进策略后,本文算法与不结合子图分割、不分开检测第4 期图像的原始Faster R-CNN 算法相比,在精确度指标中0 期提升了11.36 个百分点 ,1 期提升了 34.11 个百分点,2 期提高 了19.35 个百分点,3 期提高了 15.54 个百分点,4 期提高了 1.93个百分点;在灵敏度指标中0 期提高了6.94 个百分点,1 期提高了7.14 个百分点,2 期提高了4.84 个百分点,3 期提高了2.04 个百分点;在特异度指标中0 期提高了5.11 个百分点,1期提高了 9.51 个百分点,2 期提高了 33.13 个百分点,3 期提高了35.85 个百分点,4 期提高了41.54 个百分点。除了第4期灵敏度有所降低外,其他各项指标都有所上升,证明了基于改进的Faster R-CNN 结合子图分割、分开检测第4 期的方法的有效性。
3 结语
针对糖网病分期问题进行深入的研究,本文提出了基于改进的Faster R-CNN 结合子图分割的方法,能从局部病灶检测的角度提升糖网病分期的准确度。该方法一方面考虑了病灶特征作为小目标难以学习到特征对网络检测性能的影响,利用更深层的网络提取特征,并切割子图、避开噪声影响以解决此问题;另一方面也考虑了病灶正负样本失衡的问题,引入了在线困难挖掘机制。实验结果表明本文提出的方法能有效地提升糖网病分期准确度,并能依据病灶特征识别具体病灶。由于该网络模型对各类糖网病灶的检测能力有较大差异,未来将进行进一步的探讨,以提高模型对各类糖网病灶的通用检测能力。