《武汉工程大学学报》  2015年03期 62-67   出版日期:2015-04-23   ISSN:1674-2869   CN:42-1779/TQ
全局阈值与局部阈值相结合的视网膜血管分割方法


0 引 言 人体较深层血管网络中非创伤便可直接观察的是视网膜血管,其形态结构的变化反映了糖尿病、肾病、高血压等疾病对血管网络的影响,是检查心血管疾病的重要部位之一.在临床上,视网膜图像中血管网络的检测和提取对上述疾病的诊断和治疗具有重要意义.简单常用的视网膜血管分割方法是阈值分割法,其中阈值分割又可分为全局阈值与局部阈值两种.基于全局阈值的方法中,其阈值的选取多依靠于灰度直方图,常用的方法有最大类间方差法(OTSU)[1]和最大熵法[2]等.针对视网膜血管分割方面,姚畅[3]提出了一种基于改进的PCNN的视网膜血管树提取方法,它对二维高斯匹配滤波预处理后的眼底图像运用改进的PCNN分割出增强图像的血管网络,然后对分割得到的血管网络结合区域连通性特征,采用长度滤波算子滤除噪声,提取出最终的血管树.该方法对整幅图像使用固定的全局阈值,如果图像中血管与背景的对比度十分明显,此分割方法相当有效.但是由于血管越往末梢越细,与背景的对比度也越来越弱,使用全局阈值只能得到血管的主干部分,血管的细小末梢部分难以分割.基于局部阈值的分割方法是对图像中的不同区域采用不同的阈值,其阈值的选取一般基于图像的局部统计信息,如局部方差、局部对比度以及曲面拟合阈值等,又称为自适应阈值.针对视网膜血管分割方面,黄琳等[4]提出了一种视网膜图像中的血管自适应提取的方法,它通过视网膜图像进行分区,然后计算每一区域满足梯度要求的像素点个数求取合适的局部阈值,最终实现血管的分割.该方法可以保证计算得到平均误差最小意义下的最优阈值,但是由于视网膜图像中背景灰度并不是非常均匀,所以阈值化得到的二值血管图像中包含很多碎片. 因此,提出一种全局阈值与局部阈值相结合的视网膜血管分割方法.首先在匹配滤波增强后的图像上,分别采用全局阈值中的二维最大熵[5]与局部阈值中的移动平均的方法以获取主血管部分与细小血管部分,最后通过区域连通性的判断,将上述的主血管与细小血管部分进行结合,消除噪声,获取最终的血管分割结果.同时将本文的分割结果同Perez算法[6]的结果进行比较,以证明本文算法的有效性.1 算法描述1.1 图像增强预处理 本文处理的视网膜图像是彩色的,通过将其分解成红、绿、蓝三通道图像后可以发现绿色通道的图像中血管与背景的对比度最高,因此采用绿通道图像进行处理.在视网膜图像中,血管的曲率较小,并且其宽度的变化是渐进的,所以可以用高斯曲线来近似表示血管的横截面灰度轮廓.本文采用文献[7]的匹配滤波方法来增强图像,由于血管的方向是任意的,因此采用12个不同方向的高斯核模板来对视网膜图像进行匹配滤波,以增强血管的灰度.其中,图1(a)为处理的原始视网膜图像,图1(b)为绿色通道图像,图1(c)为增强后的视网膜图像.(a)原始视网膜图像(b)绿色通道图像(c)增强后的视网膜图像图1 图像预处理过程Fig.1 Image preprocessing1.2 基于全局阈值的主血管分割对于匹配滤波处理后的增强图像,本文采用全局阈值法来分割主血管部分.常用的全局阈值法包括OTSU阈值法、二维最大熵阈值法.其中OTSU阈值法可以根据图像的统计性质自动寻找阈值从而对图像进行分割,该方法的核心思想是把直方图在某一阈值处分成两组,当这两组间的方差最大时确定阈值;二维最大熵阈值法则是利用点灰度和区域灰度均值的二维直方图,根据熵最大原则寻找最佳阈值.由于OTSU依赖的一维直方图是单峰的,而二维最大熵依赖的二维直方图利用了图像邻域的相关信息,目标和背景的双峰仍然明显,所以二维最大熵阈值法较之OTSU阈值法更抗干扰,因此本文采用二维最大熵阈值法来分割主血管部分.图像的灰度取值范围为{0,1,2,…,L-1},假设分割阈值矢量为(S,T),将图像分成目标A和背景C,它们的概率分别是: A:■,■,…,■C:■,■,…,■(1)其中,pst=∑■■∑■■pij,pij=gij/(M×N),gij为相应灰度与领域平均灰度对出现的频数,M×N为图像的大小. 目标A与背景C的熵分别被定义为: HA(S,T)=-∑■■∑■■■ln■HC(S,T)=-∑■■∑■■■ln■(2) 为了获取图像中目标和背景的最大信息量,那么希望图像的总熵H(S,T)越大越好,而当H(S,T)最大时的灰度对(S,T)则是所求的最佳阈值,选择出的阈值矢量(S,T)必须满足以下判别函数:H(S,T)=max{mini,j=0,1,…,L-1(HA(S,T),HC(S,T))}(3)1.3 基于局部阈值的细小血管分割对于匹配滤波处理后的增强图像,采用局部阈值法来分割细小血管部分.常用的局部阈值法包括图像分块、基于局部图像特性的可变阈值、移动平均等方法.其中,图像分块只有当感兴趣物体和背景占据合理的可比大小的区域时,图像细分的工作才会比较好,当不是这种情况时,该方法会失败;基于局部图像特征的可变阈值是在一幅图像中的每一点(x,y)计算阈值,该阈值是以一个或多个在(x,y)邻域计算的特性为基础的,但是该方法计算比较费力,实用性不强;移动平均则是局部阈值处理方法的一种特殊情形,它是以一幅图像的扫描行计算为基础的,计算速度较快.并且,当感兴趣的物体与图像尺寸相比较细时,基于移动平均的阈值处理会获取更好的分割结果,由于视网膜中血管相对整体图像较细,符合这一情况,所以采用移动平均来分割细小血管部分. 移动平均是以一幅图像的扫描行计算值为基础,为了减少光照偏差,扫描是以Z字形模式逐行执行的.令zk+1表示步骤k+1中扫描序列中遇到的点的灰度,这个新点处的移动平均(平均灰度)由式(4)给出: m(k+1)=■∑■■zi=m(k)+■(zk+1-zk-n)(4)其中,n表示用于计算平均的点数,且m(1)=■.第一个表达式在k≥n-1时有效,当k<n-1时,平均是使用可用点形成的.类似地,第二个表达式在k≥n+1时有效.对于图像中的每个点都计算移动平均,可变局部阈值的通用形式: Txy=bmxy (5)其中,b是常数,mxy是在输入图像中的点(x,y)处使用式(4)得到的移动平均.分割后的图像计算如下: g(x,y)=1, f(x,y)>Txy0, f(x,y)≤Txy (6)其中,f(x,y)是输入图像.该式对图像中的所有像素位置进行求值,并在每个点处使用移动平均计算不同的阈值.1.4 主血管与细小血管融合 由图2(a)可知,基于二维最大熵分割出的血管是血管增强图像中的主血管部分,对于图像中的小血管部分不能进行很好地分割.由图2(b)可知,基于移动平均提取出了大部分的细小血管和血管末梢部分,但同时也包含了部分背景与噪声.为了区分开移动平均中的血管与噪声部分,将二维最大熵结果中的主血管作为整个血管网络的主干,通过对区域连通性进行判断将位于主血管周围的小血管提取出来了,而与主血管没有连通性的噪声部分则被清除,最终的分割结果如图2(c)所示.(a)二维最大熵分割结果(b)移动平均分割结果(c)最终分割结果图2 视网膜血管分割过程Fig.2 Segmentation process of retina vessel从图2可以看出,采用二维最大熵分割后的视网膜图像只得到主血管部分,对于对比度较弱和末梢部位的血管不能进行有效地分割.采用移动平均分割后的视网膜图像中虽然包含了对比度较弱和末梢部位的血管,但是同样也包含了部分背景与噪声片段.而通过血管区域连通性判断处理后,既能将位于主血管周围的小血管提取出来,又能够去除移动平均中与主血管没有连通性的噪声部分,取得更为完整的血管网络.2 性能评估血管分割结果好坏的评估需要将其与专家手工圈画的金标准进行对比.假设P和N分别代表金标准文件中记录的真阳性和假阳性的个数,TP表示分割算法分割出来的真阳性个数,即被判断为阳性的阳性区域个数;TN表示真阴性的个数,即被判断为阴性的阴性区域个数;FP表示假阳性的个数,即被判断为阳性的阴性区域个数;FN表示假阴性的个数,即被判断为阴性的阳性区域个数,其关系如表1所示.在进行性能评估时,通常会用到准确率ACC (Accuracy)、真阳性率TPR(True Positive Rate)和假阳性率FPR(False Positive Rate).ACC是被正确判断为血管和非血管个数之和与金标准中血管和非血管个数之和的比值;TPR是被正确判断为血管的个数与金标准中所有血管的个数的比值,也称敏感性(Sensitivity);FPR则是被错误判断为血管的个数与金标准中所有非血管的个数的比值,1-FPR的值也称为特异性(Specificity).其中,敏感性体现了对血管的判断能力,特异性体现了对背景的判断能力.医学图像中更看重敏感性,即TPR值.表1 分类性能度量表示Table 1 Classification performance metrics根据表1,ACC、TPR与FPR的计算公式表示如下:  ACC=■TPR=■FPR=■(7)为了评估本文方法的分割效果,通过计算ACC、TPR和FPR的值,与其他分割算法的上述指标进行对比.3 实验结果及分析实验均在Win7操作系统上采用MATLAB 8.1搭建,本文实验采用的视网膜图像均来自于Staal等人提供的Drive公共数据库[8].该数据库共包含40幅彩色视网膜图像以及相对应的专家分割的血管作为参考标准,图像尺寸为565×584.为了验证本文分割方法的有效性,将本文方法与只采用二维最大熵或移动平均的图像分割方法在ACC、TPR及FPR上进行对比.本文方法对比其他两种图像分割方法的评价数据如表2所示.从表2结果可知,本文方法的ACC稍低于二维最大熵的结果,但是在相当ACC下具有较高的TPR值;并且本文方法的TPR值在稍高于移动平均的同时具有相对较高的ACC与较低的FPR值,分割结果更利于医学上的使用,由此证明本文提出的方法是一种有效的视网膜血管分割方法.表2 Drive数据库上三种图像分割方法对比结果Table 2 Comparison results of three image segmentation method on the Drive database %为了检验本文方法的性能,将实验结果与Perez算法的分割结果进行对比,其结果如图3所示. 图3中第1列为原始视网膜图像,第2列为专家手工圈画的参考标准,第3列为Perez算法的分割结果,第4列为本文方法的分割结果.图3中第1行为Drive数据库中test文件夹中编号16的正常视网膜图像,第2行为编号13的对比度较弱的视网膜图像,第3行为编号17的含有轻微病变的视网膜图像. 从对比图中可以发现,本文方法能够分割得到大部分血管,并且与Perez算法的结果相比,本文方法能够获取更多的细小血管,这是因为本文方法在分割出更多细小血管的同时能够去除与主血管没有连通性的噪声部分,取得更为完整的血管网络.图3 血管分割结果对比Fig. 3 Comparison of vessel segmentation results为了进一步确认本文方法的有效性和可靠性,通过计算ACC、TPR及FPR对本文方法及Perez算法的结果进行评价.统计本文方法及Perez算法应用于Drive眼底数据库中20幅图像的ACC、TPR、FPR数据,分别得三项数据的对比曲线图如图4所示.从图4(a)中可以看出,平均ACC分别为93.56%和91.82%,本文方法的ACC要高于Perez算法;由图4(b)可以看出,平均TPR分别为80.46%和70.87%,本文方法的TPR要明显高于Perez算法;同时由图4(c)可以看出,本文方法的FPR也大部分与Perez算法接近,仅有极少部分的值高于Perez算法,平均FPR分别为5.16%和5.04%.图4 血管分割方法数据对比曲线图Fig.4 The data contrast curve of vessel segmentation methods4 结 语从视网膜血管本身具有的特点出发,提出的一种全局阈值与局部阈值相结合的视网膜血管分割方法.实验结果表明,本文提出的分割方法分割得到的血管在细小部分更为丰富,连通性和有效性方面都要优于Perez算法的结果.但是对于含有病变的视网膜图像,目前的分割结果还不能将之与血管区分开,如何去除病变区域将是我们接下来要完成的工作.致 谢衷心感谢湖北省自然科学重点项目:面向智慧家庭的服务机器人基础技术问题研究(2012FFA099)、机器人全景立体视觉成像与重建理论及关键技术研究(2014CFA130);武汉工程大学研究基金:视频监控中目标识别的特征提取认识水平研究(K201401)对本研究的支持!