APP下载

基于弱监督的改进型GoogLeNet在DR检测中的应用

2019-10-23丁英姿丁香乾郭保琪

计算机应用 2019年8期
关键词:糖尿病视网膜病变卷积神经网络

丁英姿 丁香乾 郭保琪

摘 要:针对糖尿病视网膜病变分级检测中标定样本少、多目标检测的问题,提出了一种基于改进型GoogLeNet的弱监督目标检测网络。首先,对GoogLeNet网络进行改进,去掉最后一个全连接层并保留检测目标的位置信息,添加全局最大池化层,以sigmoid交叉熵作为训练的目标函数以获得带有多种特征位置信息的特征图;然后,基于弱监督方法仅使用类别标签对网络进行训练;其次,设计一种连通区域算法来计算特征连通区域边界坐标集合;最后在待测图片中使用边界框定位病灶。实验结果表明,在小样本条件下,改进模型准确率达到了94.5%,与SSD算法相比,准确率提高了10%。改进模型实现了小样本条件下端到端的病变识别,同时该模型的高准确率保证了模型在眼底筛查中具有应用价值。

关键词:糖尿病视网膜病变;弱监督;卷积神经网络;目标检测网络;全局最大池化

中图分类号: TP391.41

文献标志码:A

Application of improved GoogLeNet based on weak supervision in DR detection

DING Yingzi1,2, DING Xiangqian1, GUO Baoqi2*

1.College of Information Science and Engineering, Ocean University of China, Qingdao Shandong 266100, China ;

2.Big Data Joint Laboratory, Qingdao New Star Computer Engineering Center, Qingdao Shandong 266071, China

Abstract: To handle the issues of small sample size and multi-target detection in the hierarchical detection of diabetic retinopathy, a weakly supervised target detection network based on improved GoogLeNet was proposed. Firstly, the GoogLeNet network was improved, the last fully-connected layer of the network was removed and the position information of the detection target was retained. A global max pooling layer was added, and the sigmoid cross entropy was used as the objective function of training to obtain the feature map with multiple feature position information. Secondly, based on the weak supervision method, only the category label was used to train the network. Thirdly, a connected region algorithm was designed to calculate the boundary coordinate set of feature connected regions. Finally, the boundary box was used to locate the lesion in the image to be tested. Experimental results show that under the small sample condition, the accuracy of the improved model reaches 94%, which is improved by 10% compared with SSD (Single Shot mltibox Detector) algorithm. The improved model realizes end-to-end lesion recognition under small sample condition, and the high accuracy of the model ensures its application value in fundus screening.

Key words: Diabetic Retinopathy (DR); weak supervision; Convolutional Neural Networks (CNN); target detection network; Global Max Pooling (GMP)

0 引言

糖尿病視网膜病变(Diabetic Retinopathy, DR)是糖尿病严重的眼部并发症,已经逐步发展成为眼部疾病致盲的主要原因。根据国际糖尿病联合会(International Diabetes Federation, IDF)的报道,2017年全球糖尿病患者已经达到4.25亿,与2000年的1.51亿相比,增加近2倍。根据卫健委的统计,目前我国糖尿病视网膜病变的患病率为24.7%~37.5%。据统计50%的糖尿病病程在10年左右的患者可能出现该病变,15年以上者达80%。糖尿病病情越重,病程越久,发病的几率越高。没有得到诊断的糖尿病患者主要分布在不发达地区,医疗资源的分布不均、重视程度不够,导致DR诊断不及时,最终导致视力受损、失明等严重后果,研究DR的自动诊断系统具有重要的意义。

针对DR自动诊断,传统做法是采用支持向量机(Support Vector Machine, SVM)进行分类[1-2],生成自动筛查系统,辅助人工检测。深度学习方法采用卷积神经网络(Convolutional Neural Network, CNN)进行分类,通常在眼底筛查图片输入网络前需要对其进行预处理,如对图片进行去除背景、噪声等,然后使用CNN[3-4]或者基于AlexNet的改进型网络DrNet[5]进行分类等。采用基于弱监督定位的方法,使用全局平均池化(Global Average Pooling, GAP)改进ResNet(Residual Neural Network)[6]对血管瘤进行检测,并未取得较好的定位效果。

DR分为非增殖性和增殖性两种类型,其中非增殖性未生成血管,及时治疗能够有效预防不可逆转的增殖性病变,本文采用的非增殖性DR分级标准如表1所示。

本文采用GoogLeNet Inception V3作为基础网络,对网络进行改进,在实验过程中对比发现,全局最大池化(Global Max Pooling, GMP)效果优于GAP,因此本文采用GMP层替换原有网络的稀疏全连接层,使用Sigmoid交叉熵作为目标函数,获取带有多种特征位置信息的特征图,然后通过连通区域计算,对病灶进行标定。 采用弱监督方式,使用带有类别标签的样本,进一步对网络进行训练。在样本量较小的情况下,基于弱监督定位的改进模型的检测结果超过Faster R-CNN(Faster Region-CNN)和SSD(Single Shot multibox Detector)网络。

1 目标检测算法介绍

1.1 常见的目标检测算法

目前在深度学习领域流行的目标检测算法主要分为两类:

一类是基于候选区域提取的目标检测算法,主要包括R-CNN(Region-CNN)、Fast R-CNN(Fast Region-CNN)、Faster R-CNN、R-FCN(Region-based Fully Convolutional Network)等。R-CNN的提出奠定了此类方法的基础,此方法从待测图像中提取约2000个区域候选框,由于候选区存在大量重叠,使用CNN进行特征提取时会进行大量重复计算。Fast R-CNN[7]首先使用CNN提取图像特征,然后生成候選区域,避免重复提取特征,从而显著减少了处理时间。Ren等[8]提出的Faster R-CNN不生成候选区域,使用RPN(Region Proposal Network)结合锚点框对位置进行回归,提高了训练速度。针对Fast R-CNN和Faster R-CNN使用多个全连接层成本较高的问题,提出的R-FCN[9]在Fast R-CNN基础上采用全卷积网络,使用Position-sensitive score maps解决位置敏感性问题,大大提高了检测速度。

另一类是基于回归的目标检测算法,相对于前一类算法,该类算法的精度略低,但是不需要进行区域提取,计算速度较快。代表性算法有YOLO (You Only Look Once)和SSD。YOLO比Faster R-CNN速度快,但是由于规定图像尺寸以及使用网格进行目标检测,只能预测一个类别。SSD算法则是YOLO与Faster R-CNN的结合,提高了速度又保证了准确度。

这两类算法的核心均为卷积神经网络CNN,首先由CNN对特征进行提取,解决目标的分类问题,然后由定位网络解决目标的定位问题,网络结构复杂、参数量大,在训练过程中需要使用大量的样本。

1.2 基于弱监督定位的卷积神经网络

卷积神经网络在训练过程中需要大量的标记图像,而图像数据标记需要大量时间与人力,因此成本较高。在医疗领域获得数据更加困难,以眼底筛查为例,通常一张眼底照片的标记费用需要50元。

近期研究表明,弱监督卷积网络神经网络在定位问题上研究取得了不少的进展。Oquab等[10]使用ImageNet数据集对AlexNet网络进行预训练,然后将其迁移到目标任务中,在目标任务中使用500个重叠的窗口进行滑动定位,并将结果与其他网络进行对比。在后续研究工作中,Oquab等[11]对AlexNet网络进行改进,使用卷积层替换全连接层,通过GMP输出分类目标的边缘位置信息。

Zhou等[12-13]进一步证实了卷积神经网络可以提取特征的位置信息,在研究过程中,使用GAP替换网络中的全连接层,然后使用“类别激活映射图” (Class Activation Map, CAM)进行弱监督定位取得了较好的效果。

在周博磊的对比实验中, GoogLeNet-GAP网络要优于VGGNet、AlexNet、NIN(Network in Network),如表2所示。

GoogLeNet是2014年ImageNet的ILSVRC14(Large Scale Visual Recognition Challenge 2014)竞赛冠军。GoogLeNet增加了网络的深度和宽度,使用原有的深度学习架构,会导致计算大大增加,也容易导致过拟合。为解决这一问题,提出了使用稀疏的全连接层替换原架构的全连接层[14],引入1×1卷积进行降维,借鉴NIN[15]中“mlpconv”模块的设计思想,设计了Inception模块结构;由于非均匀的稀疏矩阵在现有计算架构下计算效率低下,采用Inception结构能够将稀疏矩阵聚类为相对密集的子矩阵,能够有效地降低参数量,节省计算资源,从而提高计算的效率。

Szegedy等[16]对Inception模块进行了改进,衍生出了多个版本的Inception模块,其中 Inception V3将二维卷积进行非对称拆分,拆分成为两个较小的卷积,即将n×n卷积拆分为1×n卷积和n×1卷积,有效地降低了参数量,可以处理更多、更丰富的空间特征,增加特征的多样性。本文采用Inception V3网络结构。

3 基于弱监督的GoogLeNet-GMP

DR分级诊断病理特征的分类与定位采用端到端的设计思想,即以整张图片作为输入、输出。首选使用改进型GoogLeNet提取带有位置信息的特征分类图,然后使用连通区域算法,对目标位置进行计算,实现特征的定位。

3.1 网络结构设计

面向糖尿病视网膜病变分级检测的病理特征提取与定位网络GoogLeNet-GMP网络结构的设计参考了Oquab等[11]的GMP网络的设计,使用Zhou等[13]的CAM设计思想来加强特征图中的位置信息。

GoogLeNet-GMP网络结构如图2所示,采用GoogLeNet Inception V3作为基础网络,在最后一个Inception模块之后添加GMP层,然后使用Sigmoid全连接层替换原网络的稀疏全连接层。令 f k(x,y)代表最后一个卷积层的第k个特征图,经过GMP后,mk如式(1)所示,类别i的得分Si如式(2)。以Sigmoid交叉熵函数为目标函数训练,逼近多类标签的概率分布,根据Zhou等[13]的定理生成类别激活热图 M i表达式如式(3)。

mk=max x,y { f k(x,y)}

(1)

S i=Sigmoid ( ∑ k wik m k-bi )

(2)

M i=∑ k wik  f k(x,y)

(3)

在实验过程中,对全局池化GAP和GMP的定位效果进行对比,GMP效果略优于GAP,本文在构建网络的过程中采用GMP。

GoogLeNet-GMP网络结构参数如表3所示,其中Inception模块按结构差异分为5类,在此不进行具体描述。特征图通过GMP后,输出大小为1×1×2048。

GoogLeNet网络最后使用softmax函数进行分类,在DR检测过程中,需要对多个目标进行检测,因此使用Sigmoid交叉熵函数进行替换,使用所有样本的平均Sigmoid交叉熵函数值作为目标函数,对网络进行训练,实现多分类预测。

3.2 定位算法

通过使用GMP层生成待测图片的激活热图。由于激活热图的连通区域对应了检测目标的位置,计算连通区域的包围矩形即可实现对检测目标的定位,具體算法如下:

假设输入为GMP层某类的激活特征图 M i,学习到的特征图偏移量 b i,特征图阈值为θ,二分阈值为δ,原图的大小为Size,输出为特征图 M i的所有激活区域的边界框坐标集合Li。连通区算法描述如下所示:

程序前

M i= M i- b i

m=max{Sigmoid( M i)}

if  m>θ

M ′i= M i>δ?1:0

f=Size/ M i.Size

N i=labelconnectivity( M ′i)

C i=regioncrops( N i)

fo r  C ij in  C i

Pij=max{ M i(x,y)|(x,y)∈ C ij}

if  Pij>θ

xmin,ymin,xmax,ymax= C ij.bbox

L i= L i∪{(xmin,yminx,xmax,ymax) f }

程序后

其中 M ′i为二分图,缩放因子 f , N i为二连通区域标记, C i为连通区域剪裁坐标集合。

4 训练方法

4.1 实验工具与预训练

深度学习框架采用Google的Tensorflow 1.12,Python版本为3.5。

改进模型的基础框架为GoogLeNet Inception V3版本,使用ImageNet数据集进行预训练,设置模型的初始参数;从训练集中随机抽取一份数据作为验证集对网络的超参数进行探索,最终将一些超参数设置为固定值,如初始学习率、学习率衰减因子、衰减周期等;然后使用本项目数据集对GoogLeNet-GMP网络进行训练。

4.2 弱监督样本标定方法

本文方法不需要对每张图片标定具体病灶的groundbox,只需标记图片所包含的类别标签。如原图中同时存在出血点和硬渗出,那么label的相应位标记为1,其余位置标记为0。本文对出血点、血管、硬渗出、软渗出、视盘进行了识别,因此label=(1,0,1,0,0)。网络通过Sigmoid交叉熵逼近label的分布,并产生具有定位信息的激活热图。

4.3 数据增广

训练数据采用DIARETDB1数据集和Kaggle公开数据集,由于数据集中类别不均衡(Kaggle数据集“正常类”样本为73%),需要对数据集中的数据进行筛选,提取约700张符合国内DR分级标准Ⅰ~Ⅲ级的眼底照片。数据集输入模型之前,本文不对图片进行任何处理,如图片背景去除、尺寸调整、颜色或亮度调整等,降低了生成模型在实际应用中的复杂度,提升了模型效率。

与其他图像识别项目的数据集相比,本文的数据集较小,因此在网络训练的过程中,为了避免过拟合,采用增广技术进行数据增广,主要包括:

1)翻转:随机地进行水平、垂直翻转;

2)剪切:在图像中随机选取带有标签信息的区域进行剪裁,然后将图片切片大小扩展到299×299。

5 实验结果与分析

本文进行实验的硬件环境:CPU Intel Xeon E5-2630 2个,显卡GTX1080TI 4个,内存128GB。软件环境:计算机操作系统为Ubuntu 16.04,训练平台为TensorFlow1.12,Python 3.5。

本文数据集使用开源数据库DIARETDB1和Kaggle数据集约700张图像,以及眼科专家提供的539张图像。眼底筛查图像的采集使用佳能眼底采集设备,图片的分辨率较高,大小在3000×3000左右。在实验过程中,使用生成的系统对实验室同事进行眼底筛查,相机采用的佳能80D。与其他DR分类检测研究不同[3-5],本文训练的模型直接使用设备采集的图片进行分析,不需要对图片进行预处理,同时可以对多种特征进行提取定位,并在原图行进行标定,因此生成的眼底筛查系统能够快速产业化。

实验过程中,使用Faster R-CNN和SSD算法进行了对比实验,结果如表4所示。由于使用的样本数较少,使用Faster R-CNN进行训练时模型无法收敛;使用SSD算法进行处理的识别准确率为85.4%;GoogLeNet-GMP的准确率更高,达到了94.5%。

使用GoogLeNet-GMP模型对数据进行分析,图像通过Sigmoid全连接层后,获取的特征图如图3所示。GoogLeNet Inception V3默认图片的大小为299×299,在分析过程中,由系统对输入的原始图像进行裁剪。由于使用Sigmoid函数进行处理,出血点、硬渗出、软渗出的特征激活阈值分别为0.15、0.1和0.1。在实际分析的过程中,同时对血管、视盘进行了识别,有益于排除干扰因素,提高出血点、硬渗出、软渗出识别的准确率。图3中未添加血管、视盘的特征图,从图中可以看出,存在大量的出血点以及硬渗出、软渗出,符合DR分级Ⅲ级的标准,建议进行专家诊断与治疗。

最终生成的DR检测结果如图4所示,图中一共发现出血点区域12个,硬渗出区域19个,软渗出区域4个,符合糖尿病Ⅲ期特征。

6 结语

本文提出了一种基于弱监督的目标检测网络GoogLeNet-GMP,结合连通区域算法,实现了糖尿病视网膜病变的分级以及病灶的定位。该算法在最后一层卷积层之后添加GMP层,并替换最后一层稀疏全连接层,使用Sigmoid交叉熵函数替换Softmax函数,能实现多种特征的检测与定位;最后使用连通区域算法,对特征边界进行计算,在原图生成标记框。本文方法直接使用数据集及采集设备数据进行分析,能够同时对多种特征进行检测,准确率高于几种经典算法。

同时,本文方法也存在一定的局限性,样本数据集分布不均,训练样本数据相对较少,在投入产业化之前需要在实际检测环境中进行检验。目前已经生成Web应用,由眼科专家进行试用。后续研究工作主要分为两个方向:一是加强与专家的合作,增加数据集,在实践中检验完善算法模型;一是结合强化学习算法,增加算法的自优化能力。

参考文献

[1] PRIYA R,ARUNA P. Review of automated diagnosis of diabetic retinopathy using the support vector machine [J]. International Journal of Applied Engineering Research, 2011, 1(4):844-862.

[2] PRIYA R, ARUNA P. SVM and neural network based diagnosis of diabetic retinopathy [J]. International Journal of Computer Applications,2012,41(1):6-12.

[3] 丁蓬莉.基于深度学习的糖尿病性视网膜分析算法研究[D].北京:北京交通大学,2017:22-23. (DING P L. Research of diabetic retinal image analysis algorithms based on deep learning [D]. Beijing: Beijing Jiaotong University, 2017:22-23.)

[4] 蔡石林.基于CNN的糖尿病视网膜病变识别算法研究与实现[D].长沙:湖南大学,2018:22-25. (CAI S L. Research and implementation on diabetic retinopathy recognition algorithm based on CNN [D]. Changsha: Hunan University, 2018:22-25.)

[5] 馬文俊.基于机器学习的糖尿病视网膜病变分级研究[D].哈尔滨:哈尔滨工程大学,2017:28-31. (MA W J. Study on classification of diabetic retinopathy based on machine learning [D]. Harbin: Harbin Engineering University, 2017:28-31.)

[6]  张德彪.基于深度学习的糖尿病视网膜病变分类和病变检测方法的研究[D].哈尔滨:哈尔滨工业大学,2017:25-29. (ZHANG D B. Research on diabetic retinopathy classification and lesion detection based on deep learning [D]. Harbin: Harbin Institute of Technology, 2017:25-29.)

[7] GIRSHICK R. Fast R-CNN [C]// Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1440-1448.

[8] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks [C]// Proceedings of the 2015 International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2015:91-99.

[9]  DAI J, LI Y, HE K, et al. R-FCN: object detection via region-based fully convolutional networks [C]// Proceedings of the 30th International Conference on Neural Information Processing Systems. North Miami Beach, FL: Curran Associates Inc., 2016: 379-387.[J]. arXiv E-print, 2016: arXiv:1605.06409.[EB\OL]. [2019-01-22]. https://arxiv.org/pdf/1605.06409v2.pdf.

[10] OQUAB M, BOTTOUB L, LAPTEV I, et al. Learning and transferring mid-level image representations using convolutional neural networks [C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2014: 1717-1724.

[11] OQUAB M, BOTTOUB L, LAPTEV I, et al. Is object localization for free? — weakly-supervised learning with convolutional neural networks [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2015: 685-694.

[12] ZHOU B, KHOSLA A, LAPEDRIZA A, et al. Object detectors emerge in deep scene CNNs [J]. arXiv E-print, 2015: arXiv:1412.6856. [EB/OL]. [2019-01-22]. https://arxiv.org/pdf/1412.6856.pdf.

[13] ZHOU B, KHOSLA A, LAPEDRIZA, OLIVA A, et al. Learning deep features for discriminative localization [C]// Proceedings of the 2016 the IEEE Conference on Computer Vision and Pattern Recognition, Washington, DC: IEEE Computer Society, 2016: 2921-2929.

[14] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2015: 1-9.

[15] LIN M, CHEN Q, YAN S. Network in network [J]. arXiv E-print, 2014: arXiv:1312.4400. [EB/OL]. [2019-01-22]. https://arxiv.org/pdf/1312.4400.pdf.

[16] SZEGEDY C, VANHOUCKE V, LOFFE S, et al. Rethinking the inception architecture for computer vision [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 2818-2826.

猜你喜欢

糖尿病视网膜病变卷积神经网络
eNOS对糖尿病视网膜病变的研究进展
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
糖尿病视网膜病变行玻璃体切除术的围术期护理体会
糖尿病视网膜病变玻璃体切除术后眼压变化的规律性临床研究
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究
糖尿病视网膜增殖膜应用抗VEGF因子后组织病理学研究