基于Dense U-net方法的眼底彩色照片图像血管分割研究*

2020-01-03 06:50张亮军承垠林马梦楠马丽周毅
生物医学工程研究 2019年4期
关键词:架构像素准确率

张亮军,承垠林,马梦楠,马丽,周毅

(1.中山大学生物医学工程学院, 广州 510006; 2.中山大学中山眼科中心, 广州 510080; 3.中山大学中山医学院医学信息教研室, 广州 510080)

1 引 言

眼底图像利用图像中血管的变化情况在一定程度上可以实现对疾病的诊断,是临床诊断眼底相关疾病的主要方式,例如用于糖尿病视网膜病变(DR)的诊断。视网膜病变筛查可用于评估和监测各种眼科疾病,早期发现相关疾病,由专业人员提供干预治疗,对延缓患者病情减少致盲风险,具有重要的临床意义。视网膜眼底图像包括视盘、血管、黄斑等结构,见图1。利用计算机对眼底图像进行自动分析,可以提高视网膜病变筛查的效率和准确性。

图1 眼底图像

近年来,国内外提出了很多关于眼底血管分割的算法,根据是否需要先验信息,算法可分为无监督方法和有监督方法。无监督方法不需要先验标记信息,利用数据之间存在的相似性进行分析。如匹配滤波器[1]、基于数学形态学方法[2]、基于血管中心线方法[3],这些方法均无法准确提取细小血管,分割准确率较低。与无监督学习方法相比,有监督学习将人工标注过的图像作为训练数据的标签,生成相应的算法模型。如Staal等提出基于视网膜图像脊线的方法,对每个像素计算其特征向量,使用KNN算法和序列前向特征选择算法对特征向量进行分类[4]。Wang等人提出基于卷积神经网络的U型网络方法对眼底图像血管进行分割[5]。高宏杰等提出基于改进U型网络的眼底图像血管分割算法,取得了较好的分割效果[6]。Jiang等提出将全尺寸图像分割结果到区域血管像素分割结果进行合并,提高算法的准确性和鲁棒性[7]。此外,还有其他监督方法被提出[8-10],但是所提的算法仍存在无法准确分割出细小血管、鲁棒性较差等问题。

综上,本研究提出了基于U型网络的血管分割新方法Dense U-net模型,用于实现对视网膜图像中细小血管的准确分割,进一步提高血管分割的准确率和灵敏度。与现有方法相比,该方法在保持分割准确率不变的情况下,灵敏度有显著提高。Dense U-net模型在公开数据集DRIVE上的测试显示,其准确率和灵敏度均有显著提高。

2 材料和方法

2.1 材料

DRIVE 数据集[4]由40张分辨率为768×584的视网膜眼底照片组成。数据集分为训练集和测试集,分别包含来自不同患者的20张眼底图像、专家手动分割的眼底血管图像,以及眼底掩模。其中,专家手动分割结果的结果用作血管分割的金标准,算法模型生成的分割结果与专家手动分割结果的对比。该库是衡量视网膜血管分割方法性能好坏的最常用数据库[11]。

2.2 方法

2.2.1图像预处理 为了使神经网络架构具有更高的学习效率,同时得到更高的准确率,首先对图像进行预处理。

(1)灰度转换。将彩色的眼底图像转换为红色、绿色、蓝色3个通道的图像。图2为转换结果,其中绿色通道图片中血管与背景的对比度更大,噪声更小,因此,使用绿色通道的数据作为输入数据。

图2 眼底彩色图像及其不同通道图像

(2)z-score标准化。对绿色通道的眼底图像的均值和标准差进行数据标准化,使得处理后的数据符合正态分布。z-score公式定义为:

(1)

式中,x为图像样本数据,μ为样本数据的均值,σ为样本数据的标准差,xnew为标准化后输出的图像数据。

(3)限制对比度自适应直方图均衡(contrast limited adaptive histogram equalization, CLAHE)[12]。该算法用于增强图像对比度,图像被切分为8行8列的64块,对每个图像块使用直方图均衡化处理。CLAHE使用预定义的阈值来裁剪直方图以达到处理目的。

(4)Gamma校准。Gamma校准用于调整图像光照的强度,是一种非线性的操作,其公式定义为:

Vout=Vgamma

(2)

式中,V为输入的图像数据,Vout为输出结果,gamma为所需要调整的值。

(5)数据归一化。图像数据归一化处理使得像素值分布在0~1的范围内。归一化公式定义为:

(3)

式中,x为输入的图像像素值,min为样本数据中的最小值,max为样本数据中的最大值,xout为归一化处理后的像素值。图3为预处理各个阶段的眼底图像结果。

2.2.2Dense U-net网络架构 U-net网络架构是基于像素级的语义分割网络,在医学图像的分割上具有很好的分割效果[13]。

本研究基于U-net网络架构,提出了新的Dense U-net架构,见图4。该架构包括Dense块、拼接块、卷积等操作。其中,每个蓝色的条形框对应一个图像或图像特征图,条形框左侧的数字代表图像像素;红色的条形框为Dense块;黄色的条形框及不同颜色箭头表示不同的操作。

图3预处理结果

(a).原始图像;(b).灰度转换;(c).z-score标准化;

(d).CLAHE处理;(e).Gamma校准及数据归一化

Fig.3The pre-processing result of image
(a).the original image;(b).the Gray-scale conversion;
(c).the zero-mean normalization;(d).the Contrast limited
adaptive histogram equalization(CLAHE);(e).the Gamma adjustment.

图4Dense U-net架构

Fig.4Dense U-net architecture

Dense U-net模型使用对称结构,包含收缩路径和扩张路径两部分。收缩路径中主要是Dense结构块和下采样,Dense结构块是将网络中的所有层连接起来,见图5,其每一层的输入都来自前面所有层的输出,其公式定义如下:

Xi=Hi([X0,……,Xi-1]

(4)

式中,Xi为第i层的输入特征图,X0,……,Xi-1为将第0层到第i-1层的所有输出特征图做连接,Hi标识非线性变换。

为了提高模型的泛化能力和更好的收敛,Dense U-net使用PReLU作为激活函数并加入批量归一化(batch normalization,BN)。PReLU用于解决ReLU中有可能出现的“Dead ReLU”问题。PReLU定义如下:

(5)

式中,α是一个可用于学习的参数。BN使得输入激活函数的值在反向传播上能够产生更明显的梯度,更容易收敛,避免了梯度消失的问题。

图5 Dense块架构

扩张路径中为拼接块和上采样。采用1×1和3×3的卷积操作,用于多个特征图的压缩,从而提高计算效率。模型中拼接块输出过程为“BN+PReLU+1*1 Conv+3*3 Conv”,Dense U-net包含3个拼接层,卷积核的数量分别为128,64和32。拼接层结构见图6,input_1和input_2为输入,随后进行相应的处理,最后输出拼接结果。

为保证模型训练有充足的数据,同时不发生模型的过拟合,采用从图片中随机选取局部切片(Patches)的方法用于训练和测试。将训练集中的20张图片以图像中心点为坐标原点,以原图像长度和宽度的一半减去48作为所裁剪图像块中心点的选取范围,在中心点选取范围内随机选择中心点的坐标,裁剪出48×48的图像块,中心点数量为190 000。训练集和验证集比例为9:1。本研究采用Adam优化函数来对网络参数进行优化,采用对数交叉熵代价函数作为损失函数来衡量网络的分类误差,当损失函数不再下降时停止训练。最初始的学习率设置为0.0001,每次训练64个图像块,共训练100轮。图7为某次实验中选取的局部切片示例。

图6 拼接层结构

2.2.3训练和测试 本研究的实验环境见表1。

表1 实验环境

图7 局部切片示例

2.3 评估指标

在进行眼底图像血管分割时,每个像素点被分类为血管和非血管,为了评估所提算法的性能,本研究采用3个衡量指标:特异性(specificity, Sp)、灵敏度(sensitivity, Se)、准确率(accuracy, Acc)。各指标计算公式如下:

(6)

(7)

(8)

Se是表示分割正确的血管点占金标准血管点总和的比例;Sp是表示分割正确的背景点占金标准背景点总和的比例;Acc表示分割正确的像素点占整个图像像素点总和的比例[11]。式中各参数含义如下:

真阳性(TP):血管像素被正确分类为血管;

假阴性(FN):血管像素被错误分类为非血管;

假阳性(FP):非血管像素错误分类为血管;

真阴性(TN):非血管像素被正确分类为非血管。

3 结果与讨论

Dense U-net模型在DRIVE公开数据集进行验证,使用特异性(Sp)、灵敏度(Se)、准确率(Acc)3项指标衡量模型性能。表2列出了该模型在DRIVE数据集上的测试结果,以及与目前最先进算法模型的对比。从实验结果可以看出,本研究所提的模型准确率为0.9532,灵敏度为0.7977,特异性为0.9759。

Dense U-net模型加入了Dense Block架构[14],在保证整体分割准确率不变的情况下,能够更好地分割出细小血管。该架构使用Dense Block、PReLU激活函数、BN等解决梯度消失、“Dead ReLU”等问题,同时更有效地利用图片特征。此外,该架构使用权值共享,降低了参数数量,提高了模型训练速度。

表2 DRIVE数据集各项实验结果

图8为Dense U-net模型在DRIVE数据集上对眼底图像血管分割的实验结果,第一列为输入图像,第二列为专家手动分割的金标准,第三列为Dense U-net模型输出结果。从实验结果和金标准对比可以看出,Dense U-net模型能够更好地分割出细小血管,可对相关疾病的诊断提供参考。为了测试所提模型的泛化能力,使用Dense U-net模型在CHASE_DB1(https://blogs.kingston.ac.uk/retinal/chasedb1/)数据集进行测试,该数据集包含28张分辨率为999×960的眼底图像,测试准确率为0.9464,特异性为0.9512,灵敏度为0.8989。CHAES_DB1数据集上各项指标均较为理想,分割效果也较好。

图8Dense U-net模型在DRIVE数据集上对眼底图像血管分割的实验结果。第一列为输入图像,第二列为专家手动分割的金标准,第三列为Dense U-net输出结果

Fig.8Blood vessel segmentation results by the proposed Dense U-Net framework on the dataset DRIVE.Col1: the gray fundus images; Col2: the manual annotations; Col3: the result ofour proposed method

由于DRIVE数据集像素值较低,本研究后续会将该模型在高分辨率眼底图像数据集上进行优化,进一步提高血管分割的准确率和灵敏度。

4 结论

眼底图像中的视网膜血管分割可以帮助患者提前预防和治疗干预眼部疾病,对延缓病情具有十分重要的临床意义。本研究在U-net网络架构的基础上,提出了新的Dense U-net模型。通过在公开数据集DRIVE上与现有算法模型的分割性能相比,该模型不仅提高了血管分割的准确率,同时对于细小血管,如视网膜毛细血管的分割也达到了较好的效果,特别是算法的灵敏度有明显提高。

猜你喜欢
架构像素准确率
基于FPGA的RNN硬件加速架构
像素前线之“幻影”2000
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
“像素”仙人掌
高速公路车牌识别标识站准确率验证法
ÉVOLUTIONDIGAE Style de vie tactile