人的眼睛是人体的重要组成部分,许多全身性疾病如高血压病、肾病、糖尿病、某些血液病等均会导致眼底发生病变[1]。眼底出血(Fundus Hemorrhage)是眼底病症中较为常见的一种类型,如果不能早期治疗,会对患者的视力造成不可逆的损害。眼底彩照是检查玻璃体、视网膜和视神经疾病的重要方法,可为眼底检查提供重要的诊断资料,也是目前在医疗诊断中检查眼底的主要手段。
眼底出血图像整体颜色会呈现红黄色,包含视盘(Optic Disk)、黄斑(Macular)、血管(Vascular)和出血(Hemorrhage)[2]。视盘是眼底图像的主要特征之一,近似呈圆形并且是图像中亮度最高的区域;黄斑是一个近似椭圆形的高色素黄点,通常位于人眼的视网膜中心,其中心附近有一个小的坑凹,包含眼睛的视锥细胞;血管由视盘位置延伸出,遍布整个眼底图像;出血部分形状不规则,但大都集中在血管附近。如图 1所示。
近年,在眼底出血特征提取方面国内外的典型研究有:彭英辉等[3]使用多尺度匹配滤波和集成学习等方法对眼底微脉瘤红色区域进行特征提取;苏少华[4]改进了一种基于血管中心线提取和形态学重构的算法来实现眼底图像的血管网络的自动提取;Jitpakdee等[5]总结了一些检测眼底出血的方法,包括使用形态学和阈值运算来检测血管和出血,用神经网络来检测糖尿病视网膜病变的特征,用添加自适应强度阈值的区域生长方法提取眼底红色病变等;Abrmoff等[6]结合像素分类和K近邻分类器对眼底红色病变进行检测;Tang等[7]将眼底图像具有相似颜色和空间位置的像素分类,采集视网膜出血形状和纹理信息,使用过滤器对其进行分类,实现了眼底出血的提取。
由于眼底图像中出血形状不规则、大小不均,以及背景噪声、视盘、黄斑、血管等因素的干扰,如何优化提取算法,降低误判率仍是研究人员致力解决的问题。本文根据眼底图像出血性状的各颜色通道统计信息选取合理阈值进行提取,并针对性去除干扰目标,解决了小面积出血提取和出血部分与血管、黄斑区分等方面的问题,取得了良好的仿真效果,降低了运算复杂度和误差。
1 眼底出血检测算法本文算法从眼底图像的三个彩色通道出发,进行性状像素值统计,根据统计特征进行目标提取。算法分为预处理、候选目标提取、候选目标筛选三个模块。算法流程如图 2所示。
文中所采用的眼底照片由德国海德堡Spectralis HRA眼底影像诊断平台拍摄,专家从数以千计来自不同患者的眼底图像中手工挑选出100幅图像作为样本库,其中包含着不同程度的出血图像,具有很强的代表性。本文方法随机选择样本库中50幅出血图像作为训练集,进行出血性状统计和算法运行。
1.1 图像光照校正和归一化平台拍摄所得原始图像尺寸为2400×1720像素,但太大的图像尺寸会给算法的运行带来不便,因此,为方便算法运行,同时保证图像最终提取效果,将原始图像尺寸归一至800×570像素。
在临床上,由于不同病患的眼底差异,大部分眼底照片都存在曝光度不均匀的情况,会给后期的出血提取带来很大干扰,因此,在检测前,有必要对图像进行光照校正和归一化处理。为此引入了一种基于概率的光照不均匀图像校正方法对眼底出血照片进行预处理,以达均衡图像亮度值的效果。
1) 对单通道图像进行分块处理,将单通道图像均匀分块,每块图像大小为100×100像素,将图像分成8×6=48块,提取每块图像的亮度值L:
$\bar x = \frac{1}{n}\sum\limits_{i = 1}^n {{x_i}} $ | (1) |
$s = \sqrt {\frac{1}{{n - 1}}\sum\limits_{i = 1}^n {{{({x_i} - \bar x)}^2}} } $ | (2) |
$L = \max \left( {\bar x - p \cdot s,min} \right)$ | (3) |
其中:${\bar x}$代表当前图像块中像素点的均值;s代表当前图像块中像素点的标准差;p是参数,本文取1;min代表当前图像块中所有像素值的最小值;L是一个8×6的亮度值矩阵网格,如图 3(a)所示。
2) 将代表图像亮度值的矩阵L进行双线性插值处理[8],还原至800×570尺寸大小作为图像亮度值背景B,如图 3(b)所示。
3) 将原图像与亮度值背景图像B进行图像逻辑异或运算,使图像光照均匀;并采用3×3的模板大小进行中值滤波处理,得到光照校正后的图像,结果如图 4所示。
在眼底图像中,视盘、黄斑、血管之所以能被人们分辨出来,是因为它们各自具有的颜色和形状特性。依据此特性,为了准确设定阈值来提取出血,首先由医师手动分割出血区域,并将每张图像出血区域的所有RGB(Red,Green,Blue)像素值取平均值作为统计量,统计了样本库中出血图像在R、G、B三个通道的像素值期望,并期望从其中找寻规律,如图 5所示。
图 5中所对应的R、G、B三通道期望值分别为:117.81、44.65、19.13,相应的方差值分别为:348.92、98.81、17.01。从数据和折线图可看出:
1) 在R通道,像素期望值较高,方差值很高,数据随不同图像的差异变化幅度大,不利于设定阈值提取出血部分;
2) 在G通道,像素期望值居中,方差较小,数据变化幅度不大,曲线平稳,整体表现出优良的性能,适合设定阈值提取出血部分;
3) 在B通道,像素期望值和方差值都很小,看似是三个通道中性能最优良,最利于提取的通道,但B通道的出血和背景区域有极高的相似度,在该通道设定阈值提取出血,势必会将大幅背景一同提出,为后期的不相关部分去除带来干扰。
综合考量眼底出血图像R、G、B三通道的优劣,最终选取绿色通道(G通道)来设定阈值提取出血。
根据眼底图像出血部分G通道的统计规律和统计学原理,设定在期望值上下浮动一个标准差作为阈值范围时,能够较为准确地进行眼底出血图像的提取。如图 6所示,本文方法对出血部分进行了初步分割,尤其是小块出血和出血很淡的区域。但图像中依然存在与出血颜色相近的部分血管、黄斑和一些背景噪点等干扰需要去除。
为了去除血管给出血部分带来的干扰,首先针对眼底图像中的血管进行单独提取。眼底出血图像中血管的分布不比正常的眼底图像,由于出血的干扰,血管总体上会表现出色度不均、分布扭曲,甚至发生断裂的情况。为此,本文中血管树提取采取多尺度顶帽变换(Multi-scale Top-Hat transform)方法。
设形状不变,大小逐渐增大的结构元素序列为:
$B = \{ {B_0},{B_1}, \ldots ,{B_i}, \ldots ,{B_n}\} $ | (4) |
其中:B0表示半径为1的圆盘算子;Bi表示i个B0作形态学膨胀运算:
${B_i} = {B_0} \oplus {B_0} \oplus \ldots \oplus {B_0}{\rm{ }}1 \le i \le n$ | (5) |
则第i个结构元素Bi对灰度图像f的顶帽变换分别为:
$WT{H_i}\left( {x,{\rm{ }}y} \right) = {\rm{ }}f - f \circ {B_i}$ | (6) |
$BT{H_i}\left( {x,{\rm{ }}y} \right) = {\rm{ }}f{B_i} - f$ | (7) |
其中: $f \circ {B_i}$表示结构元Bi对灰度图像f的开运算${\rm{ }}f{B_i}$表示结构元Bi对灰度图像f的闭运算。将运算所得的图像区域特征定义为fc。
从中选取最优的亮区域特征fwc和暗区域特征fbc,分别定义为:
$\left\{ \begin{array}{l} {f^{c}}_w = \mathop {\max }\limits_{0 \le i \le n} \{ WT{H_i}\} \\ {f^{c}}_b = \mathop {\max }\limits_{0 \le i \le n} \{ BT{H_i}\} \end{array} \right.$ | (8) |
另一方面考虑相邻尺度所提取的区域之间的多尺度图像细节WTHi(i+1) 和BTHi(i+1),为了得到理想的增强效果,同样选择最优图像细节特征分别定义为:
$WT{H_{i(i + 1)}} = WT{H_{i + 1}} - WT{H_i}$ | (9) |
$BT{H_{i(i + 1)}} = BT{H_{i + 1}} - BT{H_i}$ | (10) |
$\left\{ \begin{array}{l} {f^{\rm{d}}}_{\rm{w}} = \mathop {\max }\limits_{0 \le i \le n} \{ WT{H_{i(i + 1)}}\} \\ {f^{{\rm{d}}}}_{\rm{b}} = \mathop {\max }\limits_{0 \le i \le n} \{ BT{H_{i(i + 1)}}\} \end{array} \right.$ | (11) |
将提取的亮、暗细节(fwd,f bd)分别与亮、暗区域(f wc,f bc)相加得到最终的亮、暗特征。将fw和fb代入fen= f+fw-fb,得到基于多尺度顶帽变换的增强结果为:
${f_{{\rm{en}}}} = {\rm{ }}f + {f_{\rm{w}}} - {f_{\rm{b}}} = {\rm{ }}f + ({f^{{\rm{c}}}}_{\rm{w}} + {f^{{\rm{d}}}}_{\rm{w}}) - ({f^{{\rm{c}}}}_{\rm{b}} + {f^{{\rm{d}}}}_{\rm{b}})$ | (12) |
在仿真中使用血管特征最为明显的绿色通道运行算法,并得出了理想的结果。
黄斑通常位于人眼的视网膜中心,所处区域一般没有血管或仅有少量微细血管存在,是一个近似椭圆形的高色素黄点[10]。为了准确设定提取阈值,选取样本库眼底图像中黄斑部分未出血且较为明显的28幅图像来统计黄斑像素值的特点,由医师手动分割出黄斑区域,将每张图像黄斑区域的所有R、G、B像素值取平均值作为统计量,如图 8所示,并将其应用到算法中。从数据中可以得出:黄斑部分B通道像素值最为稳定,像素均值8.66,但蓝色通道的黄斑和背景区域有极高的相似度,如在该通道设定阈值提取黄斑,会将大幅背景一同提出;在G通道,像素均值48.91,已经用该通道来提取血管和出血,且由于黄斑均值和出血、血管均值接近,不适宜其单独提取;在R通道,像素均值134.77,黄斑性状相对独立,且对比度明显,因此,选取红色通道进行黄斑定位。
根据实验结果和文献[10]算法,利用血管密度(Vascular Density)来定位黄斑。
1) 在红色通道中采取在像素均值上下浮动10个单位作为阈值范围,会在眼底图像中提取出黄斑和一些干扰目标,定位出所有目标的质心。
2) 假设视盘直径(Optic Disk Diameter,ODD)为1个ODD,根据人眼视盘和黄斑的大小关系,以0.5×ODD的半径范围计算目标质心周围的血管密度ρ,计算过程使用1.3.1 节中血管树的提取结果,图像中所有白色像素点均默认表示为血管:
$\rho = {S_A}/S$ | (13) |
其中:ρ表示血管密度;SA表示以目标质心为圆心,0.5×ODD半径范围内白色像素点的个数;S表示0.5×ODD半径范围内像素点的总个数。找出血管密度最小的候选点即为黄斑。
3) 以黄斑质心为圆心,直径为1个ODD的范围划定为黄斑区域,并构造一幅二值图像用来存储此区域,定义为黄斑图像。
1.4 图像逻辑操作排除干扰通过上述算法,得到了带有干扰目标的出血图像、血管图像和黄斑图像,通过一种自定义的逻辑运算来去除血管和黄斑干扰。
1) 将出血图像、血管图像和黄斑图像分别转化为二值图像,目标区域定义为1,非目标区域定义为0。
2) 将三幅图像进行逻辑操作,如图 10所示,得到逻辑结果图。
3) 定义半径为5的圆盘算子对逻辑结果图进行形态学开运算填充细小的裂缝和噪点,输出眼底出血最终提取结果。
2 实验结果与分析目前公开的眼底彩照图像数据库有STARE、DRIVE、MESSIDOR等,但此类数据库均是以正常眼底图像或糖尿病视网膜病变图像为主,不包含眼底出血的图像。因此,在实验阶段使用样本库中非训练集样本的50幅图像应用本文方法进行出血提取,最终的提取结果如图 11所示,对比原图可以看出,本文方法将眼底出血部分尤其是小面积出血提取出来;血管、黄斑等干扰区域均被排除。
将本文算法得出的出血图像结果与医师划定的出血图像结果进行比对,在图像水平上计算所有图像的真阳性率(True Positive Rate,TPR)、假阳性率(False Positive Rate,FPR)、准确率(ACCuracy,ACC),在病灶水平上计算灵敏度和阳性预测值(Positive Predict Value,PPV),各指标定义为:
$TPR = TP/\left( {TP + FN} \right)$ | (14) |
$FPR = FP/\left( {TN + FP} \right)$ | (15) |
$ACC = \left( {TP + TN} \right)/\left( {TP + FN + TN + FP} \right)$ | (16) |
$PPV = TP/\left( {TP + FP} \right)$ | (17) |
其中:TP为真阳性;FP为假阳性;TN为真阴性;FN为假阴性。对于检测为是出血点的区域,如果与医生标记的结果一致,则为TP,反之则为FP;对于检测为无出血点的区域,如果与医生标记的结果一致,则为TN,反之则为FN。从以上四个评价指标分析,与像素分类K近邻分类器的方法[7]、过滤视网膜出血形状和纹理信息的方法[8]和基于k均值聚类和自适应模板匹配的眼底出血检测方法[13]相比,计算实验集中所有图像的各项评价指标并对其求平均值,结果如表 1所示,同时还给出了各算法处理每幅图像平均花费的时间。
通过表 1可以看出,本文算法总体优于对比算法,尤其是在眼底出血部分阳性预测值和时间效率方面表现优异,在出血复杂的图像中依然保持了较高的提取准确率。
但在出血形状与血管形状相似的图像中处理结果可能会将部分血管一同提取出来,带来误差,如图 12所示。后期可以针对此问题对算法进行优化。
本文依据眼底出血图像中不同彩色通道内不同性状所表现出的统计规律进行分析,提出基于眼底图像不同彩色通道特点的出血特征提取方法。排除了黄斑、血管在出血提取过程中带来的干扰,相对完整和准确地提取出眼底图像出血目标,为眼底出血临床诊断定量化分析打下良好基础。与其他方法的对比结果表明,本文方法在提取精度和算法效率上都更胜一筹。但是当图像中出血形状与血管形状相似时,处理结果可能会将部分血管和出血一同提取出来,影响提取精度,因此为了将二者更准确地区分开来,下一步工作方向是分析出血和血管的形态、纹理以及颜色差异,优化其提取算法。
[1] | DU X, BUI T D. Retinal image segmentation based on Mumford-Shah model and Gabor wavelet filter [C]//ICPR 2010: Proceedings of the 2010 20th International Conference on Pattern Recognition. Washington, DC: IEEE Computer Society, 2010: 3384-3387. (0) |
[2] | 王林丽, 孟德胜. 眼底出血临床研究的进展[J]. 食品与药品, 2006, 8 (4) : 12-15. ( WANG L L, MENG D S. Clinical development of subhyaloid hemorrhages[J]. Food and Drug, 2006, 8 (4) : 12-15. ) (0) |
[3] | 彭英辉, 张东波, 沈奔. 基于多尺度匹配滤波和集成学习的眼底图像微脉瘤检测[J]. 计算机应用, 2013, 33 (2) : 543-546. ( PENG Y H, ZHANG D B, SHEN B. Microaneurysm detection based on multi-scale match filtering and ensemble learning[J]. Journal of Computer Applications, 2013, 33 (2) : 543-546. ) (0) |
[4] | 苏少华.3DOCT眼底图像处理系统关键技术研究[D]. 上海:上海交通大学, 2012:38-47. ( (SU S H. The key technique research of 3D OCT fundus image processing system[D]. Shanghai: Shanghai Jiao Tong University, 2012:38-47.) ) (0) |
[5] | JITPAKDEE P, AIMMANEE P, UYYANONVARA B. A survey on hemorrhage detection in diabetic retinopathy retinal images [C]//Proceedings of the 2012 9th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology. Piscataway, NJ: IEEE, 2012: 1-4. (0) |
[6] | ABRÀMOFF M D, VAN GINNEKEN B, NIEMEIJER M. Automatic detection of red lesions in digital color fundus photographs: U.S. Patent 7, 474, 775[P]. 2009-01-06. (0) |
[7] | TANG L, NIEMEIJER M, REINHARDT J M, et al. Splat feature classification with application to retinal hemorrhage detection in fundus images[J]. IEEE Transactions on Medical Imaging, 2013, 32 (2) : 364-375. doi: 10.1109/TMI.2012.2227119 (0) |
[8] | JING L, SI X, WU S. An improved bilinear interpolation algorithm of converting standard-definition television images to high-definition television images [C]//ICIE 2009: Proceedings of the 2009 WASE International Conference on Information Engineering. Washington, DC: IEEE Computer Society, 2009, 2: 441-444. (0) |
[9] | 李淳, 孙强, 刘英, 等. 眼底相机的均匀照明及消杂光干扰设计[J]. 中国光学与应用光学, 2010, 3 (4) : 363-368. ( LI C, SUN Q, LIU Y, et al. Design of uniform illumination system of fundus camera and its stray light shield[J]. Chinese Optics and Applied Optics Abstracts, 2010, 3 (4) : 363-368. ) (0) |
[10] | 郑绍华, 陈健, 潘林, 等. 眼底图像中黄斑中心与视盘自动检测新方法[J]. 电子与信息学报, 2014, 36 (11) : 2586-2592. ( ZHENG S H, CHEN J, PAN L, et al. A novel method of macula fovea and optic disk automatic detection for retinal images[J]. Journal of Electronics and Information Technology, 2014, 36 (11) : 2586-2592. ) (0) |
[11] | CAO Q, LIU J, ZHAO Q. Fast automatic optic disc localization in retinal images [C]//Proceedings of the 2013 11th International Conference on Image and Graphics. Washington, DC: IEEE Computer Society, 2013: 827-831. (0) |
[12] | AZZOPARDI G, STRISCIUGLIO N, VENTO M, et al. Trainable COSFIRE filters for vessel delineation with application to retinal images[J]. Medical Image Analysis, 2015, 19 (1) : 46-57. doi: 10.1016/j.media.2014.08.002 (0) |
[13] | 肖志涛, 赵北方, 张芳, 等. 基于k均值聚类和自适应模板匹配的眼底出血点检测方法[J]. 中国生物医学工程学报, 2015, 34 (3) : 264-271. ( XIAO Z T, ZHAO B F, ZHANG F, et al. Hemorrhages detection in fundus image based on k-means clustering and adaptive template matching[J]. Chinese Journal of Biomedical Engineering, 2015, 34 (3) : 264-271. ) (0) |
[14] | MINAR J, RIHA K, KRUPKA A, et al. Automatic detection of the macula in retinal fundus images using multilevel thresholding[J]. International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems, 2014, 3 (1) : 13-16. (0) |