血管作为血液循环流动的管道,遍布人体各个部位,尤其是眼底中含有大量的动脉血管。目前发现很多疾病都会引发眼底血管的改变,例如白血病、高血压、冠心病等都会导致眼底血管管径发生不同程度的改变[1-3]。为了能帮助医生通过眼底血管网络快速、准确地诊断和治疗疾病,精确分割血管成为一个重要的任务。
国内外研究者已提出很多眼底血管自动分割方法,都达到了很好的分割效果[4-7]。其中,基于监督的眼底血管分割方法是所有方法中分类准确度最高的方法[8]。Ricci等[9]提出一种基于支持向量机(support vector machine, SVM)的眼底血管分割方法,采用SVM分类器能准确地对血管与背景进行二分类。但是该方法仍存在不足之处。由于眼底图像中存在许多与背景对比度低的中小血管,往往会造成提取出错误的血管特征。根据Chaudhuri等[10]提出的二维高斯匹配滤波方,对眼底图像进行滤波处理,提高血管与背景的对比度。
为了提高滤波效率,本文提出一种改进的二维高斯匹配滤波方法,用基本线检测器[10]确定每个像素最佳匹配模板的方向,只需让像素与最佳匹配模板做卷积,优化了滤波过程,简化了计算过程,同时也能很好地提高中小血管与背景的对比度。考虑到SVM对眼底图像的像素进行分类会消耗大量的时间,本文采用均值漂移算法[11]对滤波后的图像进行预分类,再用SVM分类器进行基于区域的分类,从而提高了分类性能。
1 改进的二维高斯匹配滤波 1.1 二维高斯匹配滤波二维高斯匹配滤波器的匹配模板的计算公式为
$ k\left( {x, y} \right) =-\exp \left( {-{x^2}/2{\sigma ^2}} \right)\left| y \right| \le L/2 $ | (1) |
式中L表示血管段的长度。利用式(1) 得出的匹配模板去增强图像存在如下问题:只有在±90°方向上的血管,才能得到很好的增强效果;而其他方向上的血管,有的只得到部分增强,有的还保持原样。为了所有可能方向上的血管都能得到增强,就需要对高斯匹配模板进行坐标旋转。
坐标旋转的公式如式(2):
$ {\mathit{\boldsymbol{p}}_i} = \left[{u\;v} \right] = \left[{x\;y} \right] \cdot {\mathit{\boldsymbol{r}}_i} = \left[{x\;y} \right]\left[\begin{array}{l} \cos \;{\theta _i}\;\;-\sin \;{\theta _i}\\ \sin \;{\theta _i}\;\;\;\cos \;{\theta _i} \end{array} \right] $ | (2) |
式中:θi(0≤θi≤180°)表示旋转的度数,[x y]表示旋转前的元素,[u v]表示旋转后的元素。
综上所述,二维滤波器的匹配模板可表示为
$ {k_i}\left( {x, y} \right) =-\exp \left( {-{u^2}/2{\sigma ^2}} \right)\;\;\;\forall {\mathit{\boldsymbol{p}}_i} \in N $ | (3) |
式中N={(u, v)| |u|≤3σ, |v|≤L/2}表示长度为L的血管段的像素集合。实际使用的匹配模板是减去自己均值后的新模板,如式(4):
$ {k_i}\left( {x, y} \right) = {k_i}\left( {x, y} \right)-{m_i}\;\;\forall {\mathit{\boldsymbol{p}}_i} \in N $ | (4) |
式中
虽然上述高斯匹配滤波方法思路清晰明了,但是需要灰度图像中的每个像素都要分别与不同方向上的高斯模板做卷积运算,并且比较出最大的卷积值。由此可见,使用该滤波方法处理图像,会花费大量时间做卷积运算和比较运算。若能提前确定图像中每个像素与哪个方向上的模板做卷积得到的值最大,就会省去很多卷积运算和全部的比较运算。
针对上述问题,提出改进的二维高斯匹配滤波法。首先利用基本线检测器确定每个像素最佳匹配模板(即像素与该模板的卷积值最大)的方向;然后每个像素只需与自己的最佳匹配模板做卷积;最后用卷积结果直接取代目标像素的灰度值,并输出滤波后的图像。综上所述,改进方法的最主要思想是利用基本线检测器确定每个像素最佳匹配模板的方向。原本Zwiggelaar等[12]提出线检测器是用于提取血管像素的线谱强度特征,因为提取特征的中间过程中会得到目标像素所在血管的方向,所以利用血管方向得出目标像素的最佳匹配模板方向。图 1所示为基本线检测器的说明。图 1(a)中小方格表示像素点,阴影小格表示目标像素,虚线表示线检测器在12个不同方向上的检测线段,长度固定为l个像素且穿过目标像素,整个图 1(a)是目标像素15×15的矩形邻域。图 1(c)和(d)给出了15°方向和60°方向上的检测线段。
首先计算12个检测线段的平均灰度值;然后比较出最大的平均灰度值,因为平均灰度值越大说明该方向上的检测线段与血管(血管像素的灰度级较大)重叠部分越多,所以平均灰度值最大的检测线段所在的方向也是目标像素(当其取自血管时)所在血管的方向,如图 1(b)所示;其次利用血管方向确定目标像素的最佳匹配模板方向,因为只有当高斯匹配模板的方向与血管方向垂直时,才能最大限度增强血管,所以得出目标像素最佳匹配模板的方向与血管方向垂直;最后由式(1)~(4) 得到目标像素的最佳匹配模板。
1.3 实验结果与分析改进的二维高斯匹配滤波方法优化了整个计算过程,只需目标像素与一个模板卷积,也不用比较卷积值,且用线检测器寻找目标像素的最佳匹配模板方向的计算过程也简单,大大缩减了计算量。
分别用改进前后的滤波方法对DRIVE数据库中的图像进行滤波处理,并对比它们消耗的时间,如图 2和表 1所示。
根据图 2和表 1可以得出,改进的高斯匹配滤波方法对DRIVE数据库中不同类型的眼底图像都能高效率的进行滤波处理,并且处理一幅图像消耗的时间大概占原高斯匹配滤波方法处理同一幅图像消耗时间的63%,在处理大批量图像时,改进的高斯匹配滤波方法更具有优势。
2 改进的SVM眼底血管分割方法 2.1 高斯匹配滤波器增强图像眼底血管网络中存在许多与背景对比低的中小血管,为了准确提取它们的特征,在原基于SVM的血管分割方法中多添加一项操作,即采用改进的高斯匹配滤波方法(1.2节)对转换后的灰度图像进行滤波增强。对比原灰度图像与滤波增强后的灰度图像,并给出相应的分析,如图 3所示。
从图 3(a)和(c)的直观对比中,可以看出滤波增强后图像的血管与背景对比更加明显,一些图(a)中几乎看不到的中小血管在图(c)中却可以清晰分辨出来;再看它们的直方图 3(b)和(d)的对比结果,滤波增强后图像的像素灰度级在10~70范围间的像素明显比原灰度图像多,说明增强后的图像包含的血管网络更全面,并且图(d)明显比图(b)占的灰度级更多,分布也更均匀。
2.2 均值漂移算法预分类图像采用均值漂移算法先对图像进行预分类,再用SVM进行分类,让基于像素的分类转变成基于区域的分类,提高分类性能。
均值漂移聚类方法是一种无参数密度估计技术,无需提前知道关于它的条件信息,完全依靠样本数据不断做密度估计,适用于任何分布、任何形状的样本数据[13-14]。
在特征空间中图像的像素点被量化成五维的特征向量,包括三维的颜色特征向量xr和二维的坐标空间向量xs。图像平滑的原理是通过核函数寻找每个像素点的区域中心,用区域中心的颜色特征向量代替自己的颜色特征向量。
式(5) 是核函数的表达式:
$ {K_{{h_r}, {h_s}}} = \frac{C}{{h_s^2h_r^3}}k\left( {{{\left\| {\frac{{{x^s}}}{{{h_s}}}} \right\|}^2}} \right)k\left( {{{\left\| {\frac{{{x^r}}}{{{h_r}}}} \right\|}^2}} \right) $ | (5) |
式中:hs(hs>0) 代表空域窗宽,hr(hr>0) 代表值域窗宽。
假设有n个像素,用xi(i=1, 2, …, n)代表每个像素;zi代表区域中心;yi代表平滑后的像素。因此,其五维特征向量可以表示为:yi=[xis zir]。
因为图像分割是在图像平滑的基础上将收敛至相同值的像素进行聚类,所以图像分割可以看作是图像平滑的扩展。假设yj(j=1, 2, …, n)是平滑后图像的像素,yk(k=1, 2, …, n)代表其邻域,且j≠k,得到以下不等式:
$ \left\| {y_j^s-y_k^s} \right\| \le {h_s} $ | (6) |
$ \left\| {y_j^r-y_k^r} \right\| \le {h_r} $ | (7) |
如果式(6) 或者式(7) 成立,那么这2个像素就归为同一类,并且赋予相同的区域编号。
综上所述,按照上面介绍的方法预分类图像,得出2种预分类结果:区域编号填充的预分类结果和区域平均灰度值填充的预分类结果,如图 4所示。
本文提出的血管分割方法如图 5所示。首先将训练图像和测试图像变换为绿色通道的灰度图像,初步增强血管与背景对比度;其次采用高斯匹配滤波器对灰度图像做滤波处理,进一步增强图像的对比度;然后用均值漂移方法对图像进行预分类;最后采用线检测器(1.2节)提取预分类后图像的区域特征作为SVM输入,分割出血管和非血管区域。
在相同的条件下,对改进前后的基于SVM的眼底血管分割方法分别做了测试,实验所用的图像及数据全部取自DRIVE标准数据库;并对它们的血管分割结果图及实验结果的量化值进行比对,同时给出相应的结果分析。
在分割出的结果中无非就以下四类像素点:真血管像素(TV)、真背景像素(TB)、假血管像素(FV)和假背景像素(FB)。假设N表示图像的总像素数,实验结果可以量化为准确度、灵敏度和特异性3个用于评价算法性能的指标,公式如下所示:
$ \begin{array}{l} A = \left( {{T_{\rm{V}}} + {T_{\rm{B}}}} \right)/N\\ S = {T_{\rm{V}}}/\left( {{T_{\rm{V}}} + {F_{\rm{V}}}} \right)\\ C = {T_{\rm{B}}}/\left( {{T_{\rm{B}}} + {F_{\rm{B}}}} \right) \end{array} $ |
根据图 6、表 2、3,可以看出本文提出的基于SVM的血管分割方法的可行性,能准确地分割出眼底血管网络,并利用准确性、灵敏度和特异性3个性能评价指标,进一步说明本文提出算法的精确性和实用性。
本文分割实验中使用的所有眼底图像全部取自DRIVE标准数据库,证明本文方法对不同类型的眼底图像都具有良好的分割效果。
本方法对含有病灶或拍摄效果差的眼底图像的分割效果会较差,主要是在提取特征时,会把一些复杂的背景误识别为血管特征,造成少量误分割。同时,更加准确地分割出眼底血管网络,应对各种复杂情况,仍将是今后需要努力的方向之一。
4 结论1) 对变换后的灰度图像做滤波增强处理,提高了中小血管的灰度级, 有利于准确提取特征。
2) 改进的滤波方法省去很多卷积运算和比较运算,使整个改进过程更加简单、快捷,尤其是处理海量数据图像时,能节省很多时间。
3) 利用均值漂移方法对滤波增强后的灰度图像做预分类处理,聚类后获得的区域个数少于原图像像素个数,采用SVM分类器对处理后的灰度图像进行分类收敛速度加快,节省了算法的运算时间,提高了分类性能。
本文提出方法对不同角度、背景的眼底图像都能有很好的分割效果,具有较强的可行性。通过实验结果对比分析,表明本改进算法比原算法能更加全面、准确地分割出眼底血管网络,原方法无法分割出的一些中小血管也能被分割出来。但是还存在许多不足之处,例如有很多血管由于编码不充分、特征提取错误等原因而无法分割,这些都是今后需要努力的地方。
[1] | MARTINEZ-PEREZ M E, HUGHES A D, STANTON A V, et al. Retinal vascular tree morphology:a semi-automatic quantification[J]. IEEE transactions on biomedical engineering, 2002, 49(8): 912-917. DOI:10.1109/TBME.2002.800789 (0) |
[2] | KANSKI J J, TARRANT T R. Clinical ophthalmology:a systematic approach[J]. Archives of ophthalmology, 2003, 274(8): 1078-1085. (0) |
[3] | KLONOFF D C, SCHWARTZ D M. An economic analysis of interventions for diabetes[J]. Diabetes care, 2000, 23(3): 390-404. DOI:10.2337/diacare.23.3.390 (0) |
[4] | YAO Chang, CHEN Houjin. Automated retinal blood vessels segmentation based on simplified PCNN and fast 2D-Otsu algorithm[J]. Journal of central south university of technology, 2009, 16(4): 640-646. DOI:10.1007/s11771-009-0106-3 (0) |
[5] | SOARES J V B, LEANDRO J J G, CESAR R M, et al. Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification[J]. IEEE transactions on medical imaging, 2006, 25(9): 1214-1222. DOI:10.1109/TMI.2006.879967 (0) |
[6] | 贾广象, 陈莹. 基于图像目标特征空间自学习分类算法[J]. 计算机工程与应用, 2015, 51(20): 153-156. DOI:10.3778/j.issn.1002-8331.1310-0064 (0) |
[7] | 朱承璋, 邹北骥, 向遥, 等. 彩色眼底图像视网膜血管分割方法研究进展[J]. 计算机辅助设计与图形学学报, 2015, 27(11): 2046-2057. (0) |
[8] | 高旭. 眼底图像血管分割方法研究与实现[D]. 长沙: 中南大学, 2014. (0) |
[9] | RICCI E, PERFETTI R. Retinal blood vessel segmentation using line operators and support vector classification[J]. IEEE transactions on medical imaging, 2007, 26(10): 1357-1365. DOI:10.1109/TMI.2007.898551 (0) |
[10] | CHAUDHURI S, CHATTERJEE S, KATZ N, et al. Detection of blood vessels in retinal images using two-dimensional matched filters[J]. IEEE transactions on medical imaging, 1989, 8(3): 263-269. DOI:10.1109/42.34715 (0) |
[11] | ZWIGGELAAR R, ASTLEY S M, BOGGIS C R M, et al. Linear structures in mammographic images:detection and classification[J]. IEEE transactions on medical imaging, 2004, 23(9): 1077-1086. DOI:10.1109/TMI.2004.828675 (0) |
[12] | COMANICIU D, Meer P. Mean shift:a robust approach toward feature space analysis[J]. IEEE transactions on pattern analysis and machine intelligence, 2002, 24(5): 603-619. DOI:10.1109/34.1000236 (0) |
[13] | CHENG Yizong. Mean shift, mode seeking, and clustering[J]. IEEE transactions on pattern analysis and machine intelligence, 1995, 17(8): 790-799. DOI:10.1109/34.400568 (0) |
[14] | 许晓丽. 基于聚类分析的图像分割算法研究[D]. 哈尔滨: 哈尔滨工程大学, 2012. (0) |