一种基于K近邻的视网膜内节/外节缺失自动检测方法
技术领域
本发明涉及-图像检测领域,属于视网膜图像检测方法,尤其是对SD-OCT(频域光学相干断层成像)的视网膜图像中的内节/外节缺失的自动检测方法。
背景技术
视网膜是位于眼球后部的感光组织,它是人类视觉系统的重要组成部分。视网膜的基本结构是:三层神经细胞由两层类神经连接分隔。感光接受器是位于视网膜最外面的细胞层,由两类细胞构成:视杆细胞和视锥细胞。视杆细胞和视锥细胞都包含内节和外节,内节包含大量线粒体,是产能装置;外节包含感光物质,是感光部分。内节/外节是外节与内节交界区的一层连续薄膜,起到传递兴奋和能量的作用。越来越多的研究表明,内节/外节的缺失程度是衡量视杆细胞和和视锥细胞受损程度的一个重要指标,而视杆细胞和和视锥细胞的受损程度与视力有非常密切的关系。
SD-OCT技术已经成为无损评估视网膜疾病的一种强有力的工具,它能提供快速的、高分辨率的、显示视网膜内部分层的三维图像。已有一些有关内节/外节的完整性与视力关系的研究,如黄斑裂孔修复术前后内节/外节缺失程度与视力恢复的研究,其中有关内节/外节缺失的指标主要采用最大缺失长度和缺失面积来衡量,而且方法是半自动的,需要医生手动选择内节/外节缺失的长度和宽度,将两者中较大的作为最大缺失长度,将两者的乘积作为缺失的面积,即把内节/外节缺失区域的形状视为矩形。这种内节/外节缺失的计算方法存在三个缺点:(1)长度、宽度的选择具有主观性;(2)内节/外节缺失区域的形状具有任意性,以矩形来计算面积不合理;(3)更重要的是,内节/外节是一层有厚度的薄膜,应该是一个体数据,即应该计算内节/外节缺失的体积。到目前为止,还没有有关针对视网膜SD-OCT图像内节/外节的三维完整性自动检测方法的相关报道。
发明内容
本发明克服了现有技术的不足,提供一种适用于视网膜SD-OCT图像的基于K近邻的视网膜内节/外节缺失自动检测方法。
为解决上述技术问题,本发明采用的技术方案为:
一种基于K近邻的视网膜内节/外节缺失自动检测方法,包括以下步骤:
步骤S01,图像预处理,对训练图像和测试图像进行图像预处理,所述图像预处理包括视网膜内部分层和内节/外节区域提取和平坦化两个步骤,视网膜内部分层用于分析视网膜病变的形成,所述视网膜内部分层完成后,提取包含内节/外节区域的数据,参考视网膜色素上皮层的下界进行内节/外节区域提取和平坦化;
步骤S02,体素特征提取,对感兴趣区域内的所有体素的灰度值进行最大值-最小值线性归一化处理,然后提取特征,包括:归一化的灰度值,X、Y、Z方向上的梯度,分块均值,分块标准差和分块图像灰度熵;
步骤S03,特征零均值归一化,对步骤S02中所提取的所有特征进行零均值归一化处理;
步骤S04:分类,采用留一交叉检验法,将所述步骤S03中归一化后的特征分成训练集和测试集,根据训练集的已知分类特性,对测试样本的特征采用K近邻分类器进行分类,对每个体素的缺失与否进行识别,并进行缺失体积计算。K近邻分类器的基本原则是对未知样本根据其已知的K个相邻样本的所属分类进行最优分类,并根据分类结果计算感兴趣区域内的缺失/非缺失体积。
所述视网膜内部分层采用多尺度三维图搜索方法将视网膜SD-OCT图像自动分割成10层,产生11个表面,所述三维图搜索方法基于图论的方法,采用从粗糙到精细的不同分辨率,检测视网膜的内部各表面;所述三维图搜索方法的图搜索方法基于边界的代价函数,当代价函数最小时,即找到各个表面。
步骤S02中归一化灰度值为对感兴趣区域内的所有体素的灰度值采用式(1)所示的最大值-最小值归一化方法进行线性归一化至0~1;
其中,(i,j,k)表示体素的坐标,Inormalized(i,j,k)表示体素(i,j,k)归一化后的灰度值,Ioriginal(i,j,k)表示体素(i,j,k)原始的灰度值,Imin和Imax分别表示感兴趣区域内体素灰度值的最小值和最大值。内节/外节缺失区域体素的灰度值应小于非缺失区域体素的灰度值。
步骤S02中X、Y、Z方向上的梯度表示相邻体素的灰度差异,所述X、Y、Z方向上的梯度分别采用公式(2)、(3)、(4)计算,用于检测内节/外节缺失与非缺失的边界。
其中Gx(i,j,k)、Gy(i,j,k)、Gy(i,j,k)分别为X、Y、Z方向上的梯度。
步骤S02中分块均值用于表示以体素(i,j,k)为中心的分块的灰度均值,计算3×3×3分块的灰度均值Mblock(i,j,k),计算公式如下:
由于内节/外节缺失区域体素的灰度值整体比非缺失区域的灰度值小,所以分块均值Mblock(i,j,k)在内节/外节缺失区域小于非缺失区域。
步骤S02中分块标准差STDblock(i,j,k)用于表示以体素(i,j,k)为中心的3×3×3分块的灰度值变化情况,表征灰度值在3×3×3分块中的分散程度;根据分块标准差识别分块全部位于缺失区域、全部位于非缺失区域,或者分块中同时包含缺失区域和非缺失区域的体素,所述分块标准差STDblock(i,j,k)值计算公式如下:
如果某分块中的体素灰度值都很接近,即该分块全部位于缺失区域或者全部位于非缺失区域,STDblock(i,j,k)的值属于一个经验值偏小的范围,STDblock(i,j,k)的值的范围与图像本身体素灰度值相关,例如小于所有体素灰度值STDblock(i,j,k)平均值的范围;如果分块中同时包含缺失区域和非缺失区域的体素,则对应的STDblock(i,j,k)的值属于一个经验值偏大的范围,例如,大于所有体素灰度值STDblock(i,j,k)平均值。该特征也可用于检测内节/外节的缺失与非缺失区域边界。
分块图像灰度熵用于表示分块中体素的平均灰度熵,反映图像纹理的不均匀性或者复杂性,分块图像灰度熵采用以下公式进行计算:
其中,M表示灰度级的最大值,m表示第m个灰度级。
步骤S03中特征零均值归一化采用以下公式:
其中,foriginal,n(i,j,k)表示上述提取的第n个特征,μn和σn分别表示第n个特征的均值和标准差,fnormalized,n(i,j,k)表示零均值归一化后的特征。
较优地,感兴趣区域为以黄斑中心为中心,直径为1mm范围内的SD-OCT图像区域。
本发明融合了三维图割技术对视网膜SD-OCT进行内部分层、内节/外节区域三维特征的提取、特征归一化以及基于K近邻分类器的缺失/非缺失识别等步骤,首次实现了一种具有可行性和有效性的视网膜内节/外节缺失自动检测方法,对于眼外伤等临床常见眼科疾病的诊断与治疗起到了重要的辅助作用。
附图说明
图1为本发明的方法过程示意图。
图2为本发明步骤S01中视网膜内部分层效果图。
图3为内节/外节区域提取和平坦化后的SD-OCT图像和感兴趣区域示意图。
图4为步骤S04所述采用K近邻分类器的内节/外节缺失检测结果。
图5为本发明的具体实施例采用K近邻分类、留一交叉检验法的检测结果。
附图标记为:1神经纤维层,2神经节细胞层,3内丛状层,4内核层,5外丛状层,6外核层,7内节层,8外节层,9维尔赫夫氏膜,10视网膜色素上皮层,11黄斑中心,12附近的内节/外节缺失区域,7-8内节/外节区域。
具体实施方式
下面结合附图对本发明作更进一步的说明。
如图1所示,一种基于K近邻的视网膜内节/外节缺失自动检测方法,包括以下步骤:图像预处理、体素特征提取、特征归一化和分类。图像预处理训练图像和测试图像,对感兴趣区域内的所有体素进行体素特征提取,特征归一化后,采用K近邻分类器对感兴趣区域中的体素进行缺失/非缺失识别分类,并计算相应的体积。
具体步骤如下:
步骤S01,图像预处理,对训练图像和测试图像进行图像预处理,图像预处理包括视网膜内部分层和内节/外节区域提取和平坦化两个步骤,视网膜内部分层用于分析视网膜病变的形成,视网膜内部分层完成后,提取包含内节/外节区域的数据,参考视网膜色素上皮层的下界进行内节/外节区域提取和平坦化;
如图2所示,采用多尺度三维图搜索方法将视网膜SD-OCT图像自动分割成10层,自上至下依次为:神经纤维层1,神经节细胞层2,内丛状层3,内核层4,外丛状层5,外核层6,内节层7,外节层8,维尔赫夫氏膜9和视网膜色素上皮层10,产生11个表面。三维图搜索方法的基本思想是基于图论的方法,采用从粗糙到精细的不同分辨率,来检测视网膜的内部各表面;图搜索采用基于边界的代价函数,当代价函数最小时,即找到各个表面。
如图3所示,完成了视网膜内部分层的分割后,将包含内节/外节区域,的第7层和第8层之间的数据提取出来,附图3中7-8所示为内节/外节区域,并参考视网膜色素上皮层10的下界即第11层进行平坦化,因为第11层的分层效果相对鲁棒。由于黄斑中心11附近的内节/外节缺失区域12情况对于病人的中心视力影响最大,本发明主要以黄斑中心11、直径1mm范围内的SD-OCT图像作为感兴趣区域,研究内节/外节的缺失检测。
步骤S02,体素特征提取,对感兴趣区域内所有体素的灰度值进行最大值-最小值线性归一化,提取纹理特征,所述纹理特征包括:线性归一化的灰度值,X、Y、Z方向上的梯度,分块均值,分块标准差和分块图像灰度熵;
步骤S03,特征零均值归一化,对步骤S02中所提取的纹理特征进行零均值归一化处理;
步骤S04,分类,采用留一交叉检验法,将所述步骤S03中归一化后的特征分成训练集和测试集,采用K近邻分类器对测试样本进行缺失/非缺失的分类识别,并计算相应的缺失体积。K近邻分类器的基本原则是对未知样本根据其已知的K个相邻样本的所属分类进行最优分类,并根据分类结果计算感兴趣区域内的缺失/非缺失体积。
步骤S02中归一化灰度值为对感兴趣区域内的所有体素的灰度值采用式(1)所示的最大值-最小值归一化方法进行线性归一化至0~1;
其中,(i,j,k)表示体素的坐标,Inormalized(i,j,k)表示体素(i,j,k)归一化后的灰度值,Ioriginal(i,j,k)表示体素(i,j,k)原始的灰度值,Imin和Imax分别表示感兴趣区域内体素灰度值的最小值和最大值。内节/外节缺失区域体素的灰度值应小于非缺失区域体素的灰度值。
步骤S02中X、Y、Z方向上的梯度表示相邻体素的灰度差异,所述X、Y、Z方向上的梯度分别采用公式(2)、(3)、(4)计算,用于检测内节/外节缺失与非缺失的边界。
其中Gx(i,j,k)、Gy(i,j,k)、Gy(i,j,k)分别为X、Y、Z方向上的梯度。
步骤S02中分块均值用于表示以体素(i,j,k)为中心的分块的灰度均值,计算3×3×3分块的灰度均值Mblock(i,j,k),计算公式如下:
由于内节/外节缺失区域体素的灰度值整体比非缺失区域的灰度值小,所以分块均值Mblock(i,j,k)在内节/外节缺失区域小于非缺失区域。
步骤S02中分块标准差STDblock(i,j,k)用于表示以体素(i,j,k)为中心的3×3×3分块的灰度值变化情况,表征灰度值在3×3×3分块中的分散程度;根据分块标准差识别分块全部位于缺失区域、全部位于非缺失区域,或者分块中同时包含缺失区域和非缺失区域的体素,所述分块标准差STDblock(i,j,k)值计算公式如下:
如果某分块中的体素灰度值都很接近,即该分块全部位于缺失区域或者全部位于非缺失区域,本实施例中,该分块全部位于缺失区域或者全部位于非缺失区域中时,STDblock(i,j,k)的值的范围为0.0715±0.0196,;如果分块中同时包含缺失区域和非缺失区域的体素,则对应的STDblock(i,j,k)的值的范围为0.0952±0.0291。该特征也可用于检测内节/外节的缺失与非缺失区域边界。
分块图像灰度熵用于表示分块中体素的平均灰度熵,反映图像纹理的不均匀性或者复杂性,分块图像灰度熵采用以下公式进行计算:
其中,M表示灰度级的最大值,最大值取255;m表示第m个灰度级。
步骤S03中特征零均值归一化采用以下公式:
其中,foriginal,n(i,j,k)表示上述提取的第n个特征,μn和σn分别表示第n个特征的均值和标准差,fnormalized,n(i,j,k)表示零均值归一化后的特征。
本具体实施例采用9个黄斑中心凹附近存在内节/外节缺失的病人数据进行了本发明方法的测试。由于实验数据个数较少,采用了留一交叉验证方法来检验本方法的可行性和有效性。
在附图4中,上面一行是某一SD-OCT图像中Y方向上的5个连续切片,其中手动标记的缺失区域用白色表示,下面一行显示了采用本方法进行内节/外节缺失检测的结果,用白色标记检测为缺失的体素。由附图4的检测结果可见,本方法能较有效地检测出内节/外节的缺失区域,但仍存在一定的误检和漏检。
采用TPR(真阳性率)、TNR(真阴性率)和ACC(正确检测率)作为评估方法的客观指标,分别采用公式(9)、公式(10)和公式(11)计算:
其中,TP、TN、FP和FN分别表示真阳、真阴、假阳和假阴。表1给出了留一交叉检验法的测试结果,附图5以图示方式给出了相应结果。
表1采用K近邻分类、留一交叉检验法的测试结果
至此,一种自动检测由眼外伤引起的视网膜内节/外节缺失的方法已经实现并进行了验证。由表1和附图5的初步实验结果可见,采用本发明方法,正确检测率比较高,本发明能较好地自动识别内节/外节感兴趣区域内体素的缺失与非缺失,并有效计算对应的缺失体积,是一种可行的内节/外节缺失自动检测方法,对于眼外伤等临床常见眼科疾病的诊断与治疗起到了重要的辅助作用。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。