眼底血管图像承载着眼底视网膜血管的生长和分布信息,是反映眼部疾病,帮助临床诊断和监测如糖尿病视网膜病变等[1-2]的手段之一。目前获得眼底血管图像的主要方式有眼底照相、光学相干断层扫描血管成像等。针对不同方式获得的眼底图像视网膜血管进行高精度分割,根据分割结果可对视网膜上的血管结构进行几何特征分析,这对眼部疾病的预防和诊疗具有十分重要的意义。
眼底图像视网膜血管分割的方法主要包括传统的图像处理、机器学习以及更具体的深度学习方法。基于传统的图像处理,实现视网膜血管图像分割的方法有滤波器匹配、形态处理和血管跟踪等。Hoover等[3]提出了一种检测方法来自适应地将眼底血管进行定位并描述其轮廓,还提出了一种新的图像特征来分割眼底血管,以帮助眼科医生筛查、评估和治疗患者。Zana等[4]提出了一种基于数理的,对眼底血管的形态和曲率进行分析的图像处理法。Chutatape等[5]提出了一种能够更精确地跟踪并描述眼底血管脉络的算法,使得眼底图像中血管脉络的显示更加完全。在一些特殊的小规模样本上,基于图像处理的方法具有更快的处理速度和更好的分割性能,但由于眼底图像中存在非均匀照明和图像噪声,该类方法表现出泛化能力差,分割精度较低等缺点。
机器学习方法在小规模应用场景中表现出良好的预测性能[6-7]。机器学习方法主要分为无监督学习方法和监督学习方法。无监督学习方法通过聚类不同数据集的分布式特征来实现相关的图像分析任务[8]。例如Yambal等[9]提出了一种基于模糊C均值的聚类算法,将其应用于磁共振成像(magnetic resonance imaging,MRI)分割。Anter等[10]提出了一种分水岭算法,将其用于从计算机断层扫描(computer tomography,CT)图像中分割肝脏肿瘤。You等[11]提出了一种能够解决眼底血管错误分类问题的分割方法。该方法基于径向投影,获得了更好的分割性能。监督学习方法对小样本具有良好的学习能力,但该类方法依赖于有效的特征设计和特征选择,而因为眼底图像具有复杂性,有效的图像特征提取模型的设计仍然面临着一定的挑战。
随着计算机运行速度的提高,深度学习在计算机视觉领域的发展逐渐走向成熟。在具有可训练大量数据集的模型时,深度学习方法可以自动提取图像特征以实现不同的图像分析任务,如图像分类、目标检测和图像分割[12-14]。其中,经典的卷积神经网络(convolutional neural network, CNN)[15]和全卷积神经网络(fully convolutional network, FCN)[16]成为辅助医学处理和图像分析的热门方法。这些网络也存在一些不足之处,例如研究者不仅要解决上下文信息随着网络深度的增加而减小的问题,还需要考虑计算成本。Ronneberger等[17]提出了U-net网络,巧妙地通过跳连接结构增加编码器和解码器之间深层信息与浅层信息的融合。网络效果与网络深度并不成正相关,网络深度的增加有可能使计算准确度降低。因此,He 等[18]提出了ResNet模型,在网络中引入一种残差结构,以减轻深层网络中的梯度退散,让网络能够学习更深层的特征却不会出现退化现象。U-net结构虽然在简单场景下表现较好,但其对深层特征和浅层特征的利用并不完整、充分。Zhou等[19]引入密集连接的思想,提出U-net++,将不同层的特征连接起来,提升模型对不同特征的利用率。CNN中的所有模型对不同大小物体的提取精度相差很大,为了解决这个问题,Chen等[20]在DeepLabv2网络中提出了空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)结构,通过使用具有不同采样率的多个并行空洞卷积层,构建不同感受野的卷积核,以获取多尺度物体信息。Hu等[21]引入了一个压缩的模块来利用通道间的关系,通过挤压和激发模块来计算通道注意力,在通道维度和空间维度上完成注意力的特征提取,在控制计算成本的同时提升了特征提取的效果[22]。Samuel等[23]将多尺度的深度监控层整合到所提出的分割网络中,从而能够在多尺度、多层次和不同深度上学习血管的特异性特征。Wang等[24]提出了一种包含两个编码器的二元U-net网络,并在此基础上,提出了一种特征融合模块来融合不同编码器提取的特征,从而提高眼底血管的分割精度。Wu等[1]提出了一种多尺度跟踪网络,通过减小输入图像的尺寸,并放大特征图比例来提升对图像中细小血管的分割性能。Gu等[25]在最深层的编码器与解码器之间增加了上下文特征提取模块,提出了CE-net结构。在对眼底图像进行分割时,该结构表现出良好的性能。Wu等[26]结合Inception模块和残差模块的优点,将这些模块添加到编码器与解码器之间,以增强对眼底图像特征的提取能力。Guo等[27]提出了SA-Unet,该网络采用结构化的dropout卷积块代替U-net原有的卷积块,以防止网络过拟合,同时引入了空间注意力模块,以提高网络的全局表达能力。
在对眼底血管进行分割时,深度学习网络模型往往能够通过统一的像素损失训练,较清晰地将粗血管分割出来。但由于毛细血管图像相对于整个眼底图像而言所占的像素太少,在训练过程中,网络提取的特征损失过大,很难捕捉到那些细小的特征,使得这类网络对毛细血管的分割效果不理想。主流分割网络由于无法学习到足够多的特征或学习到的特征信息较少,无法精确地指导网络的参数训练,这是目前需要解决的问题。
针对上述眼底血管分割的问题,本文提出了一种补偿深度分割网络,以提高眼底图像的血管分割精度,主要创新有:1)针对眼底图像血管分割过程中的特征提取损失问题,提出一种下补偿结构,结合注意力门机制,将原始图像的特征信息整合到网络的每一层,从而补偿网络训练过程中的特征损失;2)因为毛细血管在图像中所呈现的位置往往位于粗血管的末端,所以在编码器最后一层增加了空间注意力结构,以提升特征所携带的空间信息的价值,从而增强网络对毛细血管的分割性能。
1 眼底血管分割网络模型 1.1 分割网络模型结构U-net是目前主流的分割网络模型,它包含编码器、解码器以及跳连接结构3个部分。跳连接结构的加入使得网络提取的信息保留了更多的浅层特征和深层特征。同时,U-net结构由于模型简单,不容易对少量的数据产生过拟合,因此能够在数据量少、数据内容单一的医学图像分割中取得良好的效果。
本文提出一种用于眼底图像分割的下补偿空间注意力网络(low compensation-spatial attention net, LC-SAnet),如图1所示,其中,A表示注意力门模块,SA表示空间注意力(spatial attention, SA)模块。其主干网络的设计参照U-net的编码器和解码器结构。编码器的下采样将读取到的原始图像转化成大小为28×28的特征图,然后经过4次下采样,有效减少图像数据的计算量,并改变卷积特征图的相对感受野,从而对局部和整体特征进行更好的提取。将下采样部分最后一个节点的输出作为空间注意力模块的输入,以进一步自适应地加强空间上的重要特征,抑制冗余特征。将SA处理后的特征图进行4次上采样操作后,网络将输出原图像大小的最终特征图。在此结构基础上,将原始输入的特征图的分辨率降低后再与每层的输出一起放入注意力门模块中,可得到包含更多信息的特征图,并将其作为下一层节点的输入,形成下补偿结构,以达到提高网络精度的目的。
|
图 1 网络模型结构 Figure 1 Structure of network model |
在U-net模型中对特征图像每进行一次卷积、池化或转置卷积等操作,都会丢失部分的特征信息。虽然跳连接结构在一定程度上有助于保留图像的浅层特征和深层特征,但是在跳连接结构的输入中部分特征已经丢失,而且跳连接结构只是简单地将两处特征进行拼接,并不能很好地解决图像特征信息丢失的问题。这些因素都会影响最终的分割结果。
考虑到原始的输入图像中包含更多的特征信息,将其经过两次初始的卷积、批量归一化以及激活函数处理之后,再通过池化操作,使其与每个网络节点的输入对齐,再与每个节点的上一层节点的输出共同送入注意力门模块中。通过注意力门模块来抑制无关区域的特征激活,加强重要特征的权重,处理后的特征图将作为下一层的输入。通过将上一层输出的特征信息融合到初始特征图中,从而对每一层节点的输入特征图进行补偿,可得到信息更丰富的特征图,以减少特征信息在特征提取过程中的损失,提高网络精度,相关结构如图2所示,其中,i表示节点的层数。
|
图 2 下补偿结构 Figure 2 Low compensation structure |
注意力门模块A如图3所示,该模块通过对初步处理后的原图像及每层输出的特征图的重要特征进行加强,以减少特征信息的损失。
|
图 3 注意力门模块 Figure 3 Attention gate module |
通常眼底血管的分布在整体图像中表现为从中间位置向外发散,细小血管分布在最外侧,沿着粗血管的末端延伸。为了提取图像的整体位置特征信息,在下采样部分的最后一个输出中结合空间注意力模块,先沿特征之间的空间维度推断注意力图,再将注意力图与SA模块的输入特征图相乘,以达到自适应细化特征的目的。
如图4所示,在空间注意力模块中,首先将输入的特征图分别进行平均池化和最大池化,得到两个包含不同信息的特征图;然后将它们拼接起来,生成拼接的特征图;再将拼接的特征图输入到7×7卷积层,经过Sigmoid函数后,输出空间维度上的注意力图。该空间注意力图将与输入图像相乘,生成最终的输出特征图。
|
图 4 空间注意力模块 Figure 4 Spatial attention module |
本实验的硬件平台GPU为 NVIDIA RTX 2060,显存为6 GB;软件平台的操作系统为 Windows 11,64 位;基于带GPU的pytorch框架实现网络训练与测试过程,pytorch版本为1.8.0,python 版本为 3.8.8。
2.1 实验数据集为了验证本文所提方案的可行性,采用了公共的DRIVE数据集以及CHASE_DB1数据集进行训练测试。DRIVE数据集是在2004年,由 Niemeijer 团队根据荷兰糖尿病视网膜病变筛查工作建立的彩色眼底图库。图库中每张图像均有专门的血管分割标签。选取图库中全部的40张图像作为实验样本,其中7张是早期糖尿病患者视网膜病变的眼底图,33张是无该病变的眼底图,图像大小均为565×584。将实验样本分成训练集和测试集,各包含 30 张和10张图像,每张图像对应 2个专家手动分割的结果。CHASE_DB1数据集包含从14名学童的双眼中拍摄的28张视网膜图像,图像大小均为999×960。
2.2 评价指标为评估本文网络模型的性能,需选用合适的评价指标。采用准确率(accuracy)
准确率是所有预测正确的像素数与总像素数的比值,计算式为
| $ {V}_{\mathrm{a}\mathrm{c}\mathrm{c}}=\dfrac{{T}_{{\rm{p}}}+{T}_{{\rm{n}}}}{{T}_{{\rm{p}}}+{T}_{{\rm{n}}}+{F}_{{\rm{p}}}+{F}_{{\rm{n}}}} $ | (1) |
式中:
灵敏度是所有预测正确的正例个数与所有标签为正例(即真实正例)个数的比值,通常是预测为血管的正确像素数与所有标签为血管的像素数的比率,计算式为
| $ {V}_{\mathrm{s}\mathrm{e}\mathrm{n}}=\dfrac{{T}_{{\rm{p}}}}{{T}_{{\rm{p}}}+{F}_{{\rm{n}}}} $ | (2) |
特异性是所有预测正确的负例个数与所有标签为负例(即真实负例)个数的比值,通常用于量化背景像素的提取精度,计算式为
| $ {V}_{\mathrm{s}\mathrm{p}\mathrm{e}}=\dfrac{{T}_{{\rm{n}}}}{{T}_{{\rm{n}}}+{F}_{{\rm{p}}}} $ | (3) |
精确率是预测正确的正例个数与所有预测结果为正例个数的比值,计算式为
| $ {V}_{\mathrm{p}\mathrm{r}\mathrm{e}}=\dfrac{{T}_{{\rm{p}}}}{{T}_{{\rm{p}}}+{F}_{{\rm{p}}}} $ | (4) |
F1 值是一个综合反映预测图像与地面真相(GroundTruth)之间相似性的度量值,是评估模型性能的重要指标。在评估图像分割效果时,F1值越高,表示分割图像与标签图像之间的相似性越高,其计算式为
| $ F_1=2\times\dfrac{{V}_{\mathrm{p}\mathrm{r}\mathrm{e}}\times{V}_{\mathrm{s}\mathrm{e}\mathrm{n}}}{{V}_{\mathrm{p}\mathrm{r}\mathrm{e}}+{V}_{\mathrm{s}\mathrm{e}\mathrm{n}}} $ | (5) |
Jaccard系数(Jaccard index)又称Jaccard相似系数(Jaccard similarity coefficient),用于比较有限样本集之间的相似性与差异性。给定两个集合A和B,Jaccard系数定义为A与B交集的大小和A与B并集的大小的比值,定义式为
| $ {J}{(A,B)}=\dfrac{\mid A\cap B\mid }{\mid A\cup B\mid } $ | (6) |
为了验证所研究的网络模型的有效性,将DRIVE数据集中40张原始图像划分为训练集(30张)和测试集(10张)。同时在训练过程中,取训练集10%的数据作为验证集,通过Tensorboard X进行可视化展示,在训练过程中实时显示每个迭代回合的指标数据。为了增强实验的说服力,在CHASE_DB1数据集上也进行实验,该数据集共有28张图像,其中20张用作训练集,8张用作测试集,在训练过程中取训练集10%的数据作为验证集。
训练过程选用Adam优化器对参数进行更新,其中权重衰减为10–8,共设置100个迭代轮次,每次的批量读取数据为2,学习率为0.001,损失函数为交叉熵损失函数。
2.4 实验结果通过对比实验来验证所述方法的有效性,分别测试了U-net[17]、U-net++[19]、CE-net[25]、SA-Unet[27]以及LC-SAnet模型的分割结果。图5所示为在DRIVE数据集上各网络分割实验的结果。将本文网络模型分别与传统的U-net、U-net++、CE-net进行了对比。其中第1、第3、第4行分别为各网络在测试集中的图像分割结果;第2行图像为将第1行图像中圆圈所示的血管局部放大后的细节展示;Image和GroundTruth列分别表示图像原图和专家标注的标签图。
|
图 5 分割实验结果对比图 Figure 5 Comparison of segmentation experiment results |
通过分割结果可以看出,传统U-net可以较完整地将粗血管轮廓分割出来,但是对粗血管末端的细小血管分割效果很差,只有断断续续的短线。相比于U-net,U-net++虽然对粗血管的分割效果无明显提高,但对细小血管已经能够分割出部分细线,只是不够完整。而CE-net的分割效果与U-net++的相似。LC-SAnet的分割效果较好,不仅粗血管分割得更为清晰明亮,同时对细小血管的分割也较为清晰,能识别出更多细小血管。
表1和表2所示分别为各网络在DRIVE数据集和CHASE_DBI数据集上的测试集中各评价指标的实验结果。由表1、表2可以看出,在准确率及F1值等指标上,U-net相较于其他网络都表现欠佳。
|
|
表 1 不同网络的DRIVE数据集眼底血管分割指标值 Table 1 Value of fundus vascular segmentation index in DRIVE datasets of different networks |
由表1可知,U-net++的准确率和特异性相对U-net的稍有下降,但其他指标都有提升。CE-net的各项指标都高于U-net以及U-net++,其准确率为97.09%,特异性为97.52%。LC-SAnet的准确率比CE-net的低,特异性和F1值较SA-Unet稍低,其他各项指标均是最优。其准确率为96.97%,灵敏度为88.76%,精确率为63.98%,F1值为74.36%,都显著高于U-net以及U-net++的对应值。
|
|
表 2 不同网络的CHASE_DB1数据集眼底血管分割指标值 Table 2 Value of fundus vascular segmentation index in CHASE_DB1 datasets of different networks |
由表2可知,LC-SAnet的准确率最高,达到97.35%;F1值也达到75.69%,只比SA-Unet的稍低;Jaccard系数与其他网络的相比也较高。由此证明,LC-SAnet的性能优于其他网络的。
2.5 消融实验为了证明空间注意力模块和下补偿结构的有效性,针对不同模块进行了消融实验,实验结果见表3。
|
|
表 3 消融实验的DRIVE数据集眼底血管分割指标值 Table 3 Value of fundus vascular segmentation index in DRIVE datasets of ablation experiment |
观察表3可知,在主干网络中加入空间注意力模块之后,除了特异性之外,各项指标均有所提升;在主干网络中仅加入下补偿结构之后,各项指标均有较大提升,F1值达到了73.27%;当同时加入空间注意力模块和下补偿结构后,相较其他结构,其各项指标均为最优,较原始的主干网络有明显提升,证明本文提出的在主干网络中加入空间注意力模块和下补偿结构是有效的。
3 结 论目前,主流的分割网络能够对眼底血管的粗血管进行较准确的分割,但在细小血管的分割上效果不太理想。考虑到这些网络结构在特征提取过程中的不足,在U-net结构基础上进行了改进,将空间注意力模块和注意力门模块的下补偿结构融入其中。通过补充特征提取过程中的特征信息,指导上一层网络的训练,从而降低网络训练过程中的特征损失。在DRIVE数据集上进行的测试结果显示,本文所提方案的准确率、灵敏度以及F1值均高于目前的主流网络,证明本文所提方案与其他分割方法相比,对细小血管的分割效果有较大提升,但是分割精度仍需要提高。
| [1] | WU Y C, XIA Y, SONG Y, et al. Multiscale network followed network model for retinal vessel segmentation[C]//Proceedings of the 21st International Conference on Medical Image Computing and Computer-Assisted Intervention. Granada: Springer, 2018: 119 − 126. |
| [2] | PLAYOUT C, DUVAL R, CHERIET F. A novel weakly supervised multitask architecture for retinal lesions segmentation on fundus images[J]. IEEE Transactions on Medical Imaging, 2019, 38(10): 2434–2444. DOI:10.1109/TMI.2019.2906319 |
| [3] | HOOVER A D, KOUZNETSOVA V, GOLDBAUM M. Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response[J]. IEEE Transactions on Medical Imaging, 2000, 19(3): 203–210. DOI:10.1109/42.845178 |
| [4] | ZANA F, KLEIN J C. Segmentation of vessel-like patterns using mathematical morphology and curvature evaluation[J]. IEEE Transactions on Image Processing, 2001, 10(7): 1010–1019. DOI:10.1109/83.931095 |
| [5] | CHUTATAPE O, ZHENG L, KRISHNAN S M. Retinal blood vessel detection and tracking by matched Gaussian and Kalman filters[C]//Proceedings of the 20th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Vol. 20 Biomedical Engineering Towards the Year 2000 and Beyond. Hong Kong, China: IEEE, 1998: 3144 − 3149. |
| [6] | YANG L, LI E, LONG T, et al. A welding quality detection method for arc welding robot based on 3D reconstruction with SFS algorithm[J]. The International Journal of Advanced Manufacturing Technology, 2018, 94(1/4): 1209–1220. |
| [7] | YANG L, LI E, FAN J F, et al. Automatic extraction and identification of narrow butt joint based on ANFIS before GMAW[J]. The International Journal of Advanced Manufacturing Technology, 2019, 100(1/4): 609–622. |
| [8] | BARLOW H B. Unsupervised learning[J]. Neural Computation, 1989, 1(3): 295–311. DOI:10.1162/neco.1989.1.3.295 |
| [9] | YAMBAL M, GUPTA H. Image segmentation using fuzzy C means clustering: a survey[J]. International Journal of Advanced Research in Computer and Communication Engineering, 2013, 2(7): 2927–2929. |
| [10] | ANTER A M, HASSENIAN A E. CT liver tumor segmentation hybrid approach using neutrosophic sets, fast fuzzy c-means and adaptive watershed algorithm[J]. Artificial Intelligence in Medicine, 2019, 97: 105–117. DOI:10.1016/j.artmed.2018.11.007 |
| [11] | YOU X E, PENG Q M, YUAN Y, et al. Segmentation of retinal blood vessels using the radial projection and semi-supervised approach[J]. Pattern Recognition, 2011, 44(10/11): 2314–2324. |
| [12] | REINA A V, GELBART M, HUANG D, et al. Segmentation fusion for connectomics[C]//Proceedings of 2011 International Conference on Computer Vision. Barcelona: IEEE, 2014: 177 − 184. |
| [13] | FAN D P, ZHOU T, JI G P, et al. Inf-Net: automatic COVID-19 lung infection segmentation from CT images[J]. IEEE Transactions on Medical Imaging, 2020, 39(8): 2626–2637. DOI:10.1109/TMI.2020.2996645 |
| [14] | CHEN J N, LU Y Y, YU Q H, et al. TransUNet: transformers make strong encoders for medical image segmentation[EB/OL]. (2021–02–08).[2022–08–15] https://arxiv.org/abs/2102.04306. |
| [15] | CIREŞAN D C, GIUSTI A, GAMBARDELLA L M, et al. Deep neural networks segment neuronal membranes in electron microscopy images[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc. , 2012: 2843 − 2851. |
| [16] | LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 3431 − 3440. |
| [17] | RONNEBERGER O, FISCHER P, BROX T. U-net: Convolutional networks for biomedical image segmentation[C]//Proceedings of the 18th International Conference on Medical Image Computing and Computer-Assisted Intervention. Munich: Springer, 2015: 234 − 241. |
| [18] | HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770 − 778. |
| [19] | ZHOU Z W, SIDDIQUEE M R, TAJBAKHSH N, et al. UNet++: redesigning skip connections to exploit multiscale features in image segmentation[J]. IEEE Transactions on Medical Imaging, 2020, 39(6): 1856–1867. DOI:10.1109/TMI.2019.2959609 |
| [20] | ChEN L C, PAPANDREOU G, KOKKINOS I, et al. Deeplab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 834–848. DOI:10.1109/TPAMI.2017.2699184 |
| [21] | HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7132 − 7141. |
| [22] | WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[C]//Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018: 3 − 19. |
| [23] | SAMUEL P M, VEERAMALAI T. Multilevel and multiscale deep neural network for retinal blood vessel segmentation[J]. Symmetry, 2019, 11(7): 946. DOI:10.3390/sym11070946 |
| [24] | WANG B, QIU S, HE H G. Dual encoding u-net for retinal vessel segmentation[C]//Proceedings of the 22nd International Conference on Medical Image Computing and Computer-Assisted Intervention. Shenzhen: Springer, 2019: 84 − 92. |
| [25] | GU Z W, CHENG J, FU H Z, et al. CE-Net: context encoder network for 2D medical image segmentation[J]. IEEE Transactions on Medical Imaging, 2019, 38(10): 2281–2292. DOI:10.1109/TMI.2019.2903562 |
| [26] | WU Y C, XIA Y, SONG Y, et al. Vessel-net: retinal vessel segmentation under multi-path supervision[C]//Proceedings of the 22nd International Conference on Medical Image Computing and Computer-Assisted Intervention. Shenzhen: Springer, 2019: 264 − 272. |
| [27] | GUO C L, SZEMENYEI M, YI Y G, et al. SA-UNet: spatial attention U-Net for retinal vessel segmentation[C]//25th International Conference on Pattern Recognition. Milan: IEEE, 2020: 1236 − 1242. |
2023, Vol. 45
Issue (3): 15-22


