基于改进U型网络的眼底图像血管分割

2019-03-18 08:58高宏杰邱天爽丑远婷张晓博
中国生物医学工程学报 2019年1期
关键词:残差卷积数据库

高宏杰 邱天爽#* 丑远婷 周 明 张晓博

1(大连理工大学电子信息与电气工程学部,辽宁 大连 116024)2(大连大学附属中山医院眼科,辽宁 大连 116001)

引言

眼底图像是医生诊断眼底疾病的主要方式,也是人体唯一能直接观察到血管的部位,医生通常把它当作了解其他疾病和脏器血管情况的窗口。因此,眼底图像的变化,在一定程度上反映了一些器官的状态和改变程度。如高血压病人的视网膜血管可能出现动脉硬化的情况,糖尿病病人眼底可能出现微动脉血管瘤等病灶区域,这就在一定程度上反映了全身血管的改变状况,医生可据此来分析、判断疾病的严重程度。为了便于诊断眼底与其他相关疾病,需要对血管进行精准的分割。然而,由于眼底图像可能存在出血点、渗出物等病灶区域,其血管自身存在中心线反射和低对比度的微细血管等问题,使得眼底图像的血管分割一直都是国内外研究的热点问题。

近年来,国内外学者提出了很多算法来对眼底血管进行分割。按照是否使用标准图像(ground truth image),算法大致可以分为非监督方法和监督方法两类。非监督方法不需要使用血管的标准图像,仅通过传统的图像处理算法对原始眼底图像进行处理,如匹配滤波器[1]、基于模型[2]等,该类方法不能较好地分割出细小血管,分割的准确率较低。而监督方法主要通过提取特征,并将特征送入分类器来实现血管的分割。目前大部分监督算法是通过人工手动提取特征,如Ricci等采用长度固定但方向变化的两个正交线检测器来统计位于血管段上的平均灰度值,并将提取的特征向量送入到支持向量机中进行血管分割[3]。Fraz等提出一种基于决策树的监督算法,通过使用梯度向量场、形态学处理、线特征和Gabor响应等4种方法提取特征向量,并送入决策树中[4]。与非监督方法相比,监督方法的分割效果有所提高。但是,人工提取特征依赖于先验知识,并且特征设计存在局限性。为了解决该问题,有学者通过设计深度学习网络模型自动提取血管特征并进行分类。如Fu等将眼底血管分割看成是一个边界检测问题,通过将全卷积神经网络和全连接条件随机场相结合,对血管进行分割[5]。Orlando等提出一种特殊的全连接条件随机场模型来对血管进行分割[6]。Liskowski等提出使用深度神经网络对眼底血管进行分割,将血管分割问题看成是二分类问题,并且提出许多网络的变体并结合结构化预测的方法,使其可以同时对多个像素点进行分类[7]。监督算法试图寻找输入与输出之间的映射函数,通过使用专家手动分割的标准图像来训练模型[8]。但是,目前提出的基于卷积神经网络的血管分割模型仍然不能很好地识别出细小血管,且分割结果中存在噪声。

综上所述,目前关于眼底图像细小血管分割的准确率和灵敏度还有待提高。本研究在传统U型网络[9]基础上进行改进优化,旨在进一步改善细小血管的分割精度。首先,通过减少传统U型网络下采样和上采样操作的次数,来满足眼底数据较少条件下的数据需求问题;其次,将传统U型网络与残差网络[10]相结合,将卷积层串行连接方式改为本研究设计的残差映射相叠加的形式,不仅加强了高维特征与低维特征的信息融合,还提高了特征使用的效率,从而更好地实现对微细血管的分割;最后,通过在结构块中每个卷积层之前加入批量归一化函数(batch normalization, BN)和PReLU(parametric rectified linear unit)激活函数,实现对网络的优化并进一步提高网络的泛化能力。本研究还通过对原始图像进行预处理操作使得血管分割的准确率和灵敏度有了进一步的提高。

1 材料与方法

1.1 材料

1.1.1眼底图像数据库

DRIVE(http://www.isi.uu.nl/Research/Databases/DRIVE/)和CHASE_DB12(http://blogs.kingston.ac.uk/retinal/chasedbl)数据库是公开的、常见的眼底图像数据库,目前发表的论文多采用这些通用的数据库来验证自己提出算法的性能。其中DRIVE眼底图像数据库是专门为了对比血管分割算法效果而建立的,该库中的眼底图像均来自一个糖尿病眼底病变筛查组织。DRIVE数据库中共有40幅分辨率为565像素×584像素的眼底图像,图像为JPEG格式[8]。本研究按照DRIVE数据库分好的训练集和测试集进行实验,其中训练集中包含原始图像、专家手动分割的标准血管图像、眼底掩模图像,各20幅用于进行网络训练。测试集各部分也是20幅图像,用于测试训练的效果。CHASE_DB1眼底图像数据库包含28幅分辨率为999像素×960像素的眼底图像,该数据库采集于14名儿童的左右眼。本研究实验采用前20幅眼底图像作为训练集,剩余的8幅眼底图像作为测试集。

1.1.2眼底图像扩增与预处理

针对训练集数据不足的问题,本研究将训练集中的20幅图像以5为步长采用重叠图像块的方式进行分块。根据原始眼底图像的大小,将从DRIVE数据库提取的图像块大小设置为32×32,从CHASE_DB1数据库提取的图像块大小设置为64×64,从训练集中提取的图像块总数均为160 000。为了使网络更好地分割出血管结构,首先对数据集中的图像进行预处理。原始眼底图像示例如图1(a)所示。彩色眼底图像可分解为红、绿、蓝等3种颜色通道,其中绿色通道分类整体对比度较高,几乎没有细节损失,能够更好地显示出眼底的血管结构,因此本研究使用绿色通道来进行后续的血管分割。绿色通道如图1(b)所示。

为了更好地显示眼底图像中血管的结构信息,本研究通过对眼底图像中提取的绿色通道进行形态学高低帽变换来对图像进行增强。首先对图像分别进行高低帽变换,然后将经过高帽变换后的图像与低帽变换后的图像相减,来达到增强图像对比度的目的。具体的实验结果如图1(c)所示,可以清楚地看到眼底血管结构的信息。为了更好地进行后续的处理,改善低对比度图像,本研究采用对比度受限的直方图均衡化方法(CLAHE)对视网膜眼底图像进行进一步的增强,结果如图1(d)所示。

图1 眼底图像及预处理。(a)眼底图像;(b)绿色通道;(c)形态学处理;(d)CLAHE处理Fig.1 Fundus image and preprocessing. (a) Fundus image; (b) Green channel; (c)Morphological processing; (d)CLAHE processing

1.2 改进优化U型网络

目前文献中的血管分割算法并不能很好地分割出低对比度的微细血管,并且由于病灶区域的影响,算法对于病变严重的眼底血管分割性能较差[11]。针对目前算法所存在的问题,结合专家手动标注的标准血管图像数据较少的问题,本研究将U型网络结构进行改进优化,进一步改善眼底血管分割的性能。U型网络是基于像素级的语义分割网络,对于医学图像等小数据集的图像具有较好的分割性能。该网络由收缩路径和扩张路径组成,其中收缩路径通过下采样操作逐渐减少图像的空间维度,而扩张路径通过上采样操作逐步修复物体的细节和空间维度。原始网络结构中卷积层数量大约在20层,通过4次下采样、4次上采样来对图像进行分割[9]。

为了避免数据量较少和层数过多引起的过拟合问题,本文将原始的U型网络进行改进,网络结构采用2次下采样、2次上采样,且保留收缩路径和扩张路径之间的跳跃连接。由于本研究通过将眼底图像剪裁成图像块的方式对眼底数据进行扩增,若对图像块进行多次下采样和上采样操作,将会导致血管特征的位置信息和具体细节丢失严重,故本研究通过减少上采样和下采样的次数来避免特征的细节丢失。同时,本研究采用零填充卷积(而非无填充),来保持输入输出图像的大小相同。

为了充分利用网络中各卷积层提取的特征信息,本研究将传统的U型网络改为残差映射相叠加的方式。为了方便描述,本研究将传统U型网络中下采样或上采样操作之前的卷积层串行连接的部分看作一个结构块,如图2所示。其中,input为网络的输入或者上一个结构块的输出,每一个结构块由3个3×3的卷积层和1个1×1的卷积层组成,并将结构块中每一个卷积层的输出分别看成是后面部分的输入,通过残差映射的方式分别进行计算,最后叠加作为该结构块的输出。使用3个3×3的卷积层串行连接,可以获取更深层次的特征图。将结构块改为残差映射的方式,提高了特征的使用效率,保证每一个卷积层提取的特征信息被充分利用。最后使用1×1的卷积层对图像块进行特征提取,可以有效减少训练的参数。

图2 残差结构块Fig.2 Residual structural block

为了解决网络层数过多导致网络泛化能力变差的问题,本研究在结构块中的每个卷积层之前加入PReLU激活函数和批量归一化层。在全卷积神经网络中,由于数据不能确保一定是线性可分的,因此需要加入非线性因素来对数据进行分类[12]。故在网络中加入激活函数,使得网络具有非线性映射学习能力。为此,本研究选用PReLU激活函数,该函数具有较快的收敛速度,且不会出现梯度消失的问题,而且还解决了ReLU(rectified linear unit)存在神经元“坏死”的情况。其定义为

图4 改进的网络结构UAR-NetFig.4 The improved network architecture UAR-Net

(1)

图3 残差结构块优化Fig.3 Optimization of residual structural blocks

全卷积神经网络训练的本质是学习图像块间的规律。由于每批训练的图像小块都是随机选取的,那么网络就需要每次去学习不同的分布,这样会导致训练速度变慢[13]。同时,为了利用激活函数的非线性特性,数据之间的分布范围不能过大。故本研究在激活函数和卷积层之前加入了批量归一化函数(BN),将每批训练的图像块做归一化处理。残差结构块的优化如图3所示。

1.3 血管分割的网络模型

本研究融合了U型网络和残差网络,提出了一种改进的网络结构(命名为UAR-Net),如图4所示。

图4所示为改进的UAR-Net网络结构。其中,每个蓝色的条形框对应一个多通道特征图,条形框上面的数字代表特征通道的数量;绿色的条形框为复制的特征图;不同颜色的箭头表示进行不同的操作。改进的网络UAR-Net包含收缩路径和扩张路径两部分,收缩、扩张路径各包含2个结构块并且相互对称。收缩路径中结构块是通过步长为2的池化操作相连接,因此第2个结构块中输入图像的大小为前一个结构块的一半。为了减少池化操作带来的误差,本研究设置第2个结构块中特征通道数均为第一个的2倍。扩张路径中的结构块之间通过上采样操作相连接,由于扩张路径与收缩路径对称,因此图像块的大小和卷积核的数量均与收缩路径相对应。每一个结构块均由3个3×3的卷积层和1个1×1的卷积层组成,将结构块中每个卷积层的输出均作为其后面所有卷积层的输入,并通过残差映射的方式分别进行计算最后叠加作为该结构块的输出。在每次进行卷积操作之前使用PReLU激活函数和批量归一化层来进一步优化网络。由于UAR-Net为端到端的网络结构,因此将网络提取的特征送入softmax分类器后,可以直接输出分割后的血管概率图。改进后的UAR-Net网络一共包含22层。

1.4 训练和测试

本研究是在tensorflow框架下的keras开发库上进行网络搭建的。通过在DRIVE和CHASE_DB1两个国际公开的眼底图像库上进行实验。为了在训练过程中得到尽可能多的样本,更好地训练网络来防止过拟合,本研究在每幅眼底图像中以5个像素点为步长随机提取图像块,并将提取出的160 000个图像块送入UAR-Net网络中进行训练,训练集和验证集的比例为9∶1,其中训练集是学习样本数据集,通过匹配参数来建立分类器;而验证集是调整学习出来的网络模型参数,并通过输出模型在验证集上的损失函数值和准确率来找出性能最佳的网络模型。最后使用测试集来测试UAR-Net网络模型的准确性。本研究采用随机梯度下降的优化函数来对网络参数进行优化,采用对数交叉熵代价函数作为损失函数来衡量网络的分类误差。最初始的学习率设置为0.001,每次训练32个图像块,共训练120轮。

1.5 评估指标

将彩色眼底图像中的血管分割出来,实际上是将图像中的每个像素点划分为血管点和非血管点两类。为了定量比较分割结果和专家手动标定的金标准结果,可以分为4种量化统计指标:真阳性(TP)表示分割正确的血管点,假阳性(FP)表示分割错误的血管点,真阴性(TN)表示分割正确的背景点,假阴性(FN)表示分割错误的背景点[8]。通过计算可以得到准确度(Acc)、灵敏度(Sn)和特异性(Sp)这3个衡量指标,其中Acc表示分割正确的血管点占整幅图像总像素点的比例,Sn表示分割正确的血管点占金标准血管点总和的比例,Sp表示分割正确的背景点占金标准背景总和的比例。具体计算方法为

(2)

(3)

(4)

ROC曲线(receiver operating characteristic curve)是衡量二分类问题和血管分割准确度的重要曲线。本研究通过计算ROC曲线下方的面积大小(area under curve,AUC)来判断血管分割性能的好坏,其中AUC的值越接近1,表示该对应血管分割方法性能越好。

2 结果

本研究在DRIVE和CHASE_DB1眼底图像数据库上进行实验并与文献的结果进行对比,通过分析灵敏度(Sn)、特异性(Sp)、准确率(Acc)和AUC(ROC曲线下的面积)这4个指标,评估本研究提出的UAR-Net网络的血管分割性能。表1列举了在DRIVE数据库中使用目前最先进的方法所得到的性能指标,可以看出,本研究在准确率和AUC性能上均比对比算法有所提升,其中准确率达到0.955 8,AUC达到0.978 4。实验结果显示,灵敏度可以达到0.807 2,与目前最好的方法相比大约提升了2%。

表2列举了在CHASE_DB1数据库中使用目前最先进方法所得到的性能指标。由于CHASE_DB1数据库中的图像没有对应的掩模图像,本研究采用文献[19]中描述的规则,生成了28张眼底图像对应的掩模图像。按照表2中列举出的实验对比结果可以看出,本研究提出的网络在灵敏度、准确率和AUC上均优于目前各种方法,而特异性与目前最优的算法非常相近。在实验结果中,灵敏度为0.795 2,准确率为0.963 6,AUC为0.981 9,特异性为0.980 2。

在DRIVE和CHASE_DB1眼底图像数据库上得到的血管分割实验结果举例如图5所示,图中第1行和第2行的图像是取自DRIVE数据库,第3行和第4行的图像取自CHASE_DB1数据库。图中从第1列到第5列分别表示:原始眼底图像、专家手动标注的标准血管图、文献[7]血管分割概率图、文献[18]血管分割概率图、本研究提出网络分割的血管概率图。其中,红色方框为本研究实验结果对微细血管的分割情况。通过对比专家手动分割的标准血管图像和文献[7]与文献[18]中的实验结果,可以看出,本研究提出的UAR-Net网络在处理对比度过强或者过暗的眼底图像时,可以准确地分割出主要的血管结构,并且可以较好地分割出眼底图像中具有中心线反射和低对比度的微细血管。

表1DRIVE数据集上各种算法的实验结果

Tab.1ComparisonofexperimentalresultsonaDRIVEdataset

MethodsyearSnSpAccAUCMarin[14]20110.706 70.980 10.945 20.958 8Cheng[15]20140.725 20.979 80.947 40.964 8Li[16]20160.756 90.981 60.952 70.973 8Orlando[6]20170.789 70.968 4——Dasgupta[17]20170.769 10.980 10.953 30.974 4Yan[18]20180.765 30.981 80.954 20.975 2our proposed method20180.807 20.977 40.955 80.978 4

表2CHASE_DB1数据集上各种算法的实验结果

Tab.2ComparisonofexperimentalresultsonaCHASE_DB1dataset

MethodYearSnSpAccAUCRoychowdhury[20]20150.761 50.957 50.946 70.962 3Zhang(LAD-OS)[21]20160.762 60.966 10.945 20.960 6Zhang(LID-OS)[21]20160.756 20.967 50.945 70.956 5Li[16]20160.750 70.979 30.958 10.971 6Orlando[6]20170.727 70.971 5——Yan[18]20180.763 30.980 90.961 00.978 1Our proposed method20180.795 20.980 20.963 60.981 9

图5 UAR-Net网络在DRIVE和CHASE_DB1数据库上进行血管分割的实验结果(第1列~第5列依次为:原始眼底图像、专家手动标注的血管、文献[7]血管分割概率图、文献[18]血管分割概率图、本研究血管分割概率图)。(a)和(b)DRIVE数据库的眼底图像;(c)和(d)CHASE_DB1数据库的眼底图像Fig.5 Exemplar vessel segmentation results by the proposed UAR-Net framework on the datasets DRIVE and CHASE_DB1(From Col 1 to Col 5: the original fundus images, the manual annotations, the probability maps of [7], the probability maps of [18], our proposed probability maps). (a)and(b)The fundus image of DRIVE;(c)and(d)The fundus image of CHASE_DB1;

3 讨论

本研究利用深度学习中的全卷积神经网络对眼底图像中的血管进行分割。为了解决传统图像处理算法无法分割出低对比度的微细血管且灵敏度较低的问题,本研究利用全卷积神经网络强大的特征提取和组合能力,将U型网络与残差映射的思想相结合,不仅实现了高维特征与低维特征的信息融合,还提高了特征使用的效率。本研究在DRIVE和CHASE_DB1眼底图像数据库上进行实验,并通过设置步长随机提取图像块来增加网络训练的数据量,避免网络过拟合。

在网络结构设计和参数设置上,本研究在传统U型网络的基础之上,将网络定义为通过上采样或下采样操作连接的结构块形式。根据实验数据量较少的特点,本研究通过减少网络层数,仅使用两次上采样、两次下采样操作。为了充分利用网络中提取的特征信息,本研究将每个结构块改为3个3×3的卷积层和1个1×1的卷积层串行连接,并将结构块中的每一个卷积层分别看成是后面部分的输入,通过残差映射的方式分别进行计算最后叠加作为该结构块的输出。为了增强网络的泛化能力,更好地识别细小血管结构,本研究在每个卷积层之前加入PReLU激活函数和批量归一化层。本研究通过对传统的U型网络进行改进,可以更好地分割出具有中心线反射的血管和低对比度的微细血管,使得本研究算法的灵敏度、准确率和ROC曲线下的面积(AUC)指标都优于目前文献中提出的算法。

图6 含有严重病灶的眼底图像血管分割结果。(a)原始眼底图像块;(b)专家手动标注的血管;(c)文献[18]血管分割概率图;(d)本研究血管分割概率图Fig.5 Blood vessels segmentation results of fundus images with severe lesions. (a) The original fundus image block; (b) The vessel labelled by an expert; (c) The probability maps of [18]; (d) Proposed probability maps

为了更加直观地对比血管分割的性能,本研究通过和同样采用深度学习方法且具有较高准确率的文献[7]和文献[18]的实验结果进行比较,从总体上看,UAR-Net网络输出的血管概率图中噪声点较少。从细节上看,本研究结果可以更好地分割出细小血管且保留血管较完整,血管连续性较好。但是由于眼底图像中可能存在病灶区域,且没有对网络输出的血管概率图做后处理操作,使得输出结果中可能存在噪声或部分病灶,导致特异性指标没有明显提升。为了更加直观地观察病灶对于血管分割的影响,本研究截取DRIVE数据库中眼底图像病灶区域较为严重的部分,通过和目前算法最优的文献[18]的实验结果进行比较,从图6中可以看出,本研究所提出的UAR-Net网络可以较好地分割出血管,且受病灶区域影响较小,但是在病灶聚集区域仍然不能完整地分割出血管结构。在本研究后续的工作中,会具体研究病变严重的眼底图像血管分割问题,并通过相应的后处理算法对血管概率图中的病灶和噪声进行去除。

4 结论

为了改善眼底图像细小血管分割准确率不高以及灵敏度较低的问题,本研究在传统U型网络的基础上,减少下采样和上采样操作的次数并将网络定义为结构块的组合方式,通过结合残差网络的思想将每个结构块改为残差映射相叠加的形式,并通过使用批量归一化和PReLU激活函数对网络进行优化。相比目前文献的结果,本研究提出的网络在DRIVE和CHASE_DB1这两个眼底图像库上能较好地分割出低对比度的微细血管,且识别眼底血管的准确率和AUC指标均有部分提高,灵敏度方面有明显的提高。

猜你喜欢
残差卷积数据库
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
数据库
数据库