区域生长和U-Net结合的视网膜血管分割系统设计与实现
2022-08-04蒋梦朵张鹏宇张书赫孙心月陶黎明周金华
蒋梦朵,张鹏宇,张书赫,孙心月,陶黎明,周金华
中国盲人数目约500万人,占世界盲人总数的18%[1]。心脑血管疾病是欧洲可预防性失明的最常见原因[2]。视网膜血管是全身血管系统中唯一可以无创直接观测到的部分。Razieh et al[3]指出视网膜血管作为心脑血管疾病检查的重要部位。在心脑血管疾病检查中,2D彩色眼底图[4]相比于3D光学相干断层扫描[5]有更好的优势,不仅可以降低成本,而且适合做大规模筛查工作。但是心脑血管疾病的临床诊断主要依靠于眼科医师的专业判断及计算机辅助诊断[6],并且视网膜血管分割算法主要在编写脚本程序中进行的,需要进行大量参数调整,不便于观察可视化结果。该研究旨在设计并开发一种区域生长和U-Net结合的视网膜血管分割处理系统。
1 材料与方法
1.1 数据集DRIVE是一个最常用于血管分割的数字视网膜图像数据集,它由Nieneijer团队于2004年组成[7],包括一组20张训练图像和一组20张测试图像,图像分辨率均为565×584像素,其中7张显示轻度早期糖尿病视网膜病变迹象。此外,STARE数据集也是用来进行视网膜血管分割的彩色眼底图数据库,包括20张眼底图像,图像分辨率为605×700像素。这两个数据集中每个彩色眼底图像分别对应着两组标准的视网膜血管分割结果,本文统一使用第一组专家分割结果做性能分析。
1.2 U-Net网络匹配滤波模型[8]、数学形态学模型[8]能够实现视网膜的半自动血管分割,算法简单,分割精度较高。为了实现是视网膜的全自动分割,U-Net网络[9]早在2006年就被Hinton提出,其主要由两大核心部分组成,第一部分为收缩路径,用于下采样;第二部分为扩张路径,用于上采样,如图1中间部分所示,图中卷积层上的数字表示输出的特征通道数,下采样过程中通道数增加,上采样过程中通道数减少。视网膜图像(见图1A)输入U-Net网络之前,需要对所有训练集和测试集进行预处理操作[10]以增强血管与背景的对比度,见图1B。由于数据集的样本量较少,为获取大量的数据来拟合模型参数,对数据集进行随机区块(见图1C,图像分辨率为64×64像素)提取以达到数据扩增的目的。两个卷积层后面接ReLU激活函数[11],该函数的主要功能是克服梯度消失现象。为学习区分视野边界与血管,U-Net网络需要加入掩膜区块图像(见图6E)。为实现基于整张图像的自动分割,收缩路径与扩张路径上的卷积层的边界填充均设置为1,采用卷积核大小为1和输出特征通道数为2的卷积层作为网络的输出,输出结果见图6G。U-Net网络不仅能支持少量样本的训练模型,针对每个像素点进行分割以获得更高的分割准确率,而且训练本身具有自我调节的过程和权重划分,有效的卷积层能大幅度地降低训练时间,同时引入图像镜像操作,更好地对数据进行训练。本网络采用交叉损失熵作为损失函数[12],像素点经Sigmoid函数[13]映射以输出血管像素的概率。
图1 U-Net网络的可视化结构(以DRIVE为例)
1.2 区域迭代生长经U-Net网络对视网膜血管进行初次分割后,尽管视盘区域的血管分割和整个血管网络中的绝大多数血管分割有了显著效果,但细微视网膜血管仍存在漏分割的现象。为此,借助“视网膜血管网络是相互连通的血管树构成”这一先验知识[14],在基于U-Net网络的初步分割的基础上对视网膜血管树进行区域生长,具体过程如下:① 对视网膜图像(见图2A)进行绿色通道归一化处理,结果见图2B。② 将归一化后的视网膜图像经均值滤波(卷积核大小为100)后得到背景图像,归一化后的视网膜图像与背景图像相减得到(见图2C)的滤波增强图像。③ 选取视网膜血管的“种子点”:利用四个方向(45°、90°、135°和180°)的线检测方法对滤波增强图像进行单像素的血管中心检测,检测结果如图2D~G所示。接着将四个方向的线检测结果叠加得到如图2H所示的视网膜血管“种子点”分布图。④ 区域迭代生长:利用区域生长法和梯度信息对视网膜图像中的血管区域进行迭代生长和分类。由于视网膜血管树是一个相互连通的区域,血管部分一般处于梯度较低的区域,在视网膜血管每个“种子点”像素位置上向8邻域进行遍历以寻找属于血管的像素,血管与背景的判断标准满足[14]。
(1)
公式(1)中,ρ为像素的梯度值,α=1,每次迭代一次。由于视网膜血管边缘像素的梯度值较高,参数μf≫ρ可防止出现血管边缘被归为背景的情况。接着,再次进行区域迭代生长,直到所有像素分类完毕。本文中μf=0.0789和σf=0.0774时,图2J是在基于U-Net网络的分割结果的基础上利用种子点和公式(1)得到的区域迭代生长以后的结果,即最终血管分割结果,与图2I相比,细微视网膜血管分割效果得到进一步的提升。
图2 获取视网膜血管“种子点”的可视化结果
2 结果
2.1 系统配置实验的仿真平台为MATLAB,计算机配置为Intel(R) Core(TM) i7-7700 CPU @ 3.60 GHz,16G内存,Nvidia Quadro P4000 GPU,采用64位的windows10。
2.2 性能指标为了系统地定量分析本文血管分割结果的性能,使用三个指标来衡量区域生长与U-Net网络(Region Growing and U-Net Network,RG-Unet)结合的算法性能。这三个指标为:
(2)
(3)
(4)
其中TP、TN、FP、FN分别为真阳性、真阴性、假阳性、假阴性。敏感度(sensitivity)表示正确分类的血管像素占真正血管像素的百分比;特异性(specificity)表示正确分类的非血管像素占真正非血管像素的百分比。如果提高分割的敏感性,必然降低其分割的特异性,反之亦然。准确率(accuracy)表示正确分类血管和非血管像素占整个图像总像素的百分比。
2.3 视网膜血管分割结果图3是对DRIVE眼底图像库测试集中编号为01_test、02_test和11_test的示例进行血管分割所得的可视化结果。其中,第一列为三个示例的原图,第二列为第一位专家分割金标准图像,第三列为本文算法进行视网膜血管分割的结果。由图3B、C所示,视网膜血管的主干部分(如金黄色部分所示)都能被分割出来,只有少数微血管以及位于视盘边缘的血管(如紫色和天蓝色部分所示)被漏分割或错误分割。表1和表2分别是利用公式(2)-(4)计算DRIVE和STARE中20个示例血管分割的敏感度Sn、特异性Sp和准确率Acc所得的定量结果,经计算得敏感度Sn、特异性Sp和准确率Acc的平均值分别为0.7684、0.9821和0.977 7。根据表1和表2中的敏感度,说明本文方法能正确地分割绝大多数血管;然后根据表1和表2中的特异性,说明本文方法将背景错误分割为血管的概率较低(小于3%);最终根据表1和表2的准确率,说明大部分血管和背景都能被正确地分割的概率高于96%。由图3、表1和表2综合看出,RG-Unet能分割出视网膜血管的主干部分,血管网络具有较好的连续性和平滑性,可以高精度、可视化地观察到视网膜血管结构。
图3 三组血管分割结果
RG-Unet及匹配滤波、数学形态学和U-Net网络四种模型分别对DRIVE眼底图像库测试集中编号为01_test、02_test和11_test三个示例图像进行视网膜血管分割,所得的分割结果见图4。其中,第一列为三个示例的原图,第二列是DRIVE眼底图像库中第一位专家金标准图,第3列至第6列分别是匹配滤波模型、数学形态学模型、U-Net网络模型和RG-Unet对三个示例图像进行视网膜血管分割的结果。RG-Unet及匹配滤波、数学形态学、U-Net网络四种分割模型对DRIVE眼底图像库测试集中20个示例图像进行视网膜分割所得敏感度Sn、特异性Sp和准确率Acc的定量结果见表3。在DRIVE眼底图像库测试集中选取4张存在轻度早期糖尿视网膜病变迹象的视网膜图像经本文系统处理后的结果见图5。其中第1行为4个示例的原图,第2行为第一位专家金标准图像,第3列为RG-Unet系统处理后的视网膜血管分割图像,可以清晰地观察到存在轻度早期糖尿视网膜病变迹象的视网膜图像中的血管结构,医师可通过血管结构的变化对人体患病的位置和程度有大致的判断,有效地提高诊断与治疗的效率,有效避免由于疾病导致的视觉损失。
表1 RG-Unet分割DRIVE眼底图像库中20个示例血管的定量结果
表2 RG-Unet分割STARE眼底图像库中20个示例血管分割的定量结果
表3 RG-Unet和三种模型分割 DRIVE眼底图像库的定量结果
2.4 系统功能在本研究中,利用MATLAB GUIDE实现视网膜图像处理系统的过程可以分为用户交互的图形界面布局和相应功能实现的程序两大部分。在第1节的研究过程中,本研究将用户交互界面设计成两大模块,分别对应于两个界面:主界面为视网膜图像预处理模块,如图6所示;子界面为视网膜血管分割模块,如图7所示。
图4 四种不同模型分割DRIVE眼底图像库01_test、02_test和11_test的结果
图5 存在轻度早期糖尿视网膜病变迹象的视网膜图像经系统所保存输出的视网膜血管分割结果A:原始的视网膜图像;B:DRIVE中第一位专家金标准图像;C:经RG-Unet系统处理后保存输出的视网膜血管分割图
2.4.1视网膜图像预处理模块 视网膜图像预处理模块包括选择图片、选择RGB通道、图像归一化、限制对比度自适应直方图均衡化(contrast limited adaptive histogram equalization,CLAHE)和Gamma校正(gamma correction, GC),见图6。原始的视网膜眼底图像显示在界面的左上角,RGB通道中的绿色通道结果显示在界面右边区域左上角,归一化图像显示在右边区域右上角,CLAHE增强图像和GC校正图像分别显示在界面右边区域的左下角和右下角。
2.4.2视网膜血管分割模块 视网膜血管分割模块包括基于U-Net网络的血管分割和再次区域生长的血管分割(最终分割结果),见图7。基于U-Net网络的血管分割结果显示在界面的左上角,RG-Unet分割结果显示在界面的右边区域。U-Net分割结果与RG-Unet分割结果显示在一个界面,与初次分割结果相比,RG-Unet分割结果在微血管上有了进一步的改善,无需在程序脚本中进行调整参数,更便于调整前后结果的可视化观察。
图6 视网膜图像预处理界面
图7 视网膜血管分割界面
3 讨论
在视网膜血管分割中,微血管分割一直是各种分割方法的研究重点[9],为此,不同的视网膜血管分割模型被提出,如匹配滤波、数学形态学和深度学习等。基于匹配滤波的方法主要是通过计算滤波后图像的最大响应值来提取血管分割图像[14],容易在视网膜视盘处(高亮部分)出现误分割现象。为充分考虑血管自身的特性,数学形态学法直接对血管进行操作来弥补较弱的响应以实现血管分割[14],分割后的血管上容易出现“空洞”,在血管连通性和平滑性上表现不好。根据大量的血管先验知识,基于深度学习的方法开始被使用于视网膜眼底图像处理中。U-Net网络利用专家手工标定的训练集训练后对像素进行分类的有监督学习方法对血管进行自动提取[8],这种方法在高亮部分和血管连通性上都处理得较好,但细微血管处的分割效果仍需要进一步的提升。RG-Unet就是将U-Net与区域生长相结合,利用四个方向的线检测来寻找视网膜血管的“种子点”, 增加细微血管像素占真正血管像素的百分比,不仅能够有效消除视盘处(高亮部分)的影响,正确地分割出大部分视网膜血管,具有较好的血管连续性和平滑性,而且能够提升细微视网膜血管的分割效果。
尽管RG-Unet获得了较好的视网膜血管分割效果,借助该系统能够高精度、可视化地观察视网膜血管结构,无需在程序脚本中进行调整参数,快速方便,但没有进一步研究疾病与视网膜血管的形态属性(如长度、宽度、弯曲度和分支角度等)的关系。因此,如何探究由RG-Unet系统获取的视网膜血管的形态属性与疾病的类型、程度之间的联系是下一步的研究重点。
本研究利用MALAB软件在算法实现以及可视化界面开发等方面的优势,对视网膜图像中的血管进行预处理并利用U-Net网络原理进行视网膜血管初步分割,再通过利用区域迭代生长算法对视网膜血管进行二次分割。通过MATLAB GUIDE设计完成了视网膜血管分割系统,利用MATLAB编写血管分割相关的脚本程序,进而视网膜血管分割的界面设计与功能实现。本研究提供了一个有效的眼底血管分割系统,在医学图像分割方面具有一定的研究与应用价值。此外,该系统具有界面交互性良好、操作简单等特点,为医师可视化地观察视网膜血管结构的变化提供了一种有效的应用平台,也为医师判断病变性质提供了思考方向。