对眼底图像中视网膜血管的分割方法和装置与流程

文档序号:12598046阅读:641来源:国知局
对眼底图像中视网膜血管的分割方法和装置与流程

本发明涉及计算机互联网领域,具体而言,涉及一种对眼底图像中视网膜血管的分割方法和装置。



背景技术:

在人类从外界接受的各种信息中,约有80%以上的信息来自于视觉。所以眼睛是人体最重要的感觉器官。眼底视神经是大脑向外延伸的部分,是重要的视觉器官,眼底疾病往往造成视力减退或永久丧失。另外,眼底循环障碍疾病以及全身性疾病导致的眼底改变均可以不同程度地显征于视网膜和脉络膜。因此对眼底照片进行处理可以对某些全身疾病提供早期诊断或预后判断功能。

传统的眼底检查方法是依靠眼底照片和医生的观察分析来检查,由于受拍摄,冲扩及人眼的分辨能力等多种因素的影响,很难对眼底图像做出准确、客观、全面的分析,近年来,先进的计算机图像处理技术已被用于眼底图像的处理和分析,为迅速、准确、客观的分析眼底图像提供了一个现代化的科学手段。眼底视网膜血管作为眼底图像的重要特征,是各项分析工作得前提和基础,因此对血管分割的研究具有极其重要的意义,能否完整的提取出眼底视网膜血管的轮廓,将是后续对眼底图像处理分析好坏的关键因素。

对视网膜血管的分割能够定位血管的位置来减少病变的误诊,同时,也可以通过血管的分割来检测血管树并建立其几何关系,来辅助视神经盘和凹陷的检查,也可以通过分割出来的血管得到血管的各种参数,并检查血管的异常。高血压和糖尿病展现在视网膜上最重要的一个迹象就是血管的异常畸形,比如:动静脉压痕,铜丝状或银丝状动脉,以及弯曲度和分支角度的改变等。人工分析视网膜的血管异常是比较好的方法,但是,面对大规模的人群分析观察时,就会出现局限性,缺乏准确性,一致性和重复性,因此需要将视网膜血管分割出来,展现给观阅者一副带有血管形态测量数据(比如:弯曲度,分支角度等)和异常检测标记(比如:动静脉压痕,铜丝状或银丝状动脉,畸形的突出区域等)的视网膜图像,来帮助观阅者来做出最终的判断。观阅者只需要通过用户界面就能够观察到视网膜的形态和异常检测的结果,进而鉴定视网膜的病变迹象。这样能够大大的提高筛选的效率和准确度。而对视网膜血管分析的首要条件就是能够准确的从眼底图像中分割出血管。

随着计算机的迅速发展,已经有学者研究出眼底血管自动分割的方法,眼底血管分割的方法主要分为监督的方法和非监督的方法。监督的分割方法依赖于分类训练集进行训练,一般会比非监督的有比较好的分割结果。非监督的分割方法有基于形态学的分割方法、基于追踪的分割方法和基于snake模型的算法。监督的方法虽然可以得到一个比较好的血管分割结果,但是这种方法需要一个比较好的训练集进行训练,例如在用神经网络的方法进行血管分割时,必须需要一个拥有多种变化图片的训练集进行训练,如果训练度不够,结果就会出现偏差,造成使用的局限性。非监督的分割方法中,基于形态学的方法例如区域增长、形态学重建等算法,拥有一个很高的时间计算复杂度,可达到13分钟之多;追踪的方法在分割血管时虽然可以准确的获得血管的宽度,但是在血管的交叉点和分支中很容易陷入僵局,从而得到不准确的血管分割;基于轮廓模型的方法在计算复杂度和时间复杂度都较高,一般的分割时间都在十几分钟。因此,上述眼底血管分割的方法在在实际应用中都具有不适用性和局限性。

针对现有技术中对眼底图像中视网膜血管分割时复杂度高以及分割结果不准确的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种对眼底图像中视网膜血管的分割方法和装置,以至少解决现有技术中对眼底图像中视网膜血管分割时复杂度高以及分割结果不准确的技术问题。

根据本发明实施例的一个方面,提供了一种对眼底图像中视网膜血管的分割方法,包括:获取眼底图像;基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图;对第一视网膜血管图进行二值化处理,得到第二视网膜血管图;对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图。

根据本发明实施例的另一方面,还提供了一种对眼底图像中视网膜血管的分割装置,包括:获取模块,用于获取眼底图像;第一处理模块,用于基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图;第二处理模块,用于对第一视网膜血管图进行二值化处理,得到第二视网膜血管图;重构模块,用于对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图。

在本发明实施例中,通过获取眼底图像,首先基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图,然后对第一视网膜血管图进行二值化处理,得到第二视网膜血管图,最后对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图,达到了从眼底图像中分割出视网膜血管的目的,利用海瑟矩阵能够准确的从眼底图像中分割出视网膜血管,在得到第二视网膜血管图后对中断的血管进行重构能够使视网膜血管更加精确,有利于后续对血管的形态测量,便于后续对疾病的分析和研究,进而解决了现有技术中对眼底图像中视网膜血管分割时复杂度高以及分割结果不准确的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例1的一种对眼底图像中视网膜血管的分割方法的流程图;

图2是根据本发明实施例1的血管像素图;

图3是根据本发明实施例1的带权值的有向节点图;

图4是根据本发明实施例2的一种对眼底图像中视网膜血管的分割装置的结构图;

图5是根据本发明实施例2的一种可选的对眼底图像中视网膜血管的分割装置的结构图;

图6是根据本发明实施例2的一种可选的对眼底图像中视网膜血管的分割装置的结构图;

图7是根据本发明实施例2的一种可选的对眼底图像中视网膜血管的分割装置的结构图;以及

图8是根据本发明实施例2的一种可选的对眼底图像中视网膜血管的分割装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种对眼底图像中视网膜血管的分割方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的对眼底图像中视网膜血管的分割方法,如图1所示,该方法包括如下步骤:

步骤S102,获取眼底图像。

具体的,可以通过拍照的方式获取眼底图像。

步骤S104,基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图。

具体的,海瑟矩阵也就是Hessian矩阵,对于一个实值多元函数f(x1,x2,...,xn),如果函数f(x1,x2,...,xn)的二阶偏导数都存在,则定义Hessian矩阵为:

其中,Di表示对第i个变量的微分算子,即f(x1,x2,...,xn)的Hessian矩阵为:

Hessian矩阵实际上就是多变量情形下的二阶导数,它描述了各方向上灰度梯度的变化。在Hessian矩阵的n个特征值中,幅值最大的特征值对应的特征向量代表着P点曲率最大的方向,同样幅值最小的特征值对应的特征向量代表着曲率最小的方向。

通过使用海瑟矩阵对眼底图像进行处理,可以得到显示血管存在的第一视网膜血管图。

步骤S106,对第一视网膜血管图进行二值化处理,得到第二视网膜血管图。

具体的,通过对第一视网膜血管图进行二值化处理,可以将彩色的第一视网膜血管图转化为黑白的第二视网膜血管图。

步骤S108,对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图。

具体的,视网膜血管的形态包含了非常有价值的信息,但是上述得到的第二视网膜血管图中可能存在血管不连续的情况,如果一个连续的血管被分割成很多段,血管的形态测量就会不准确,因此需要找出中断的血管,并把中断的部分重新连接起来。

在本发明上述实施例中,通过获取眼底图像,首先基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图,然后对第一视网膜血管图进行二值化处理,得到第二视网膜血管图,最后对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图,达到了从眼底图像中分割出视网膜血管的目的,利用海瑟矩阵能够准确的从眼底图像中分割出视网膜血管,在得到第二视网膜血管图后对中断的血管进行重构能够使视网膜血管更加精确,有利于后续对血管的形态测量,便于后续对疾病的分析和研究,进而解决了现有技术中对眼底图像中视网膜血管分割时复杂度高以及分割结果不准确的技术问题。

在一种可选的实施例中,步骤S104之前,包括步骤S202:对眼底图像进行预处理;其中,预处理包括:获取眼底图像的绿色通道图像以及对绿色通道图像进行滤波和增强对比度的处理。

在一种可选的实施例中,步骤S202中对绿色通道图像进行滤波和增强对比度的处理,包括:使用图像处理均值滤波算法对绿色通道图像进行滤波处理;以及使用自适应直方图均衡化算法对经过滤波处理的绿色通道图像进行增强对比度的处理。

具体的,可以采用图像处理均值滤波算法对绿色通道图像进行滤波去除噪音,其中,滤波算子采用三倍视网盘半径。可以采用自适应直方图均衡化对经过滤波处理的绿色通道图像进行对比度处理,使对比度增强,其中,自适应直方图均衡化(AHE)是用来提升图像的对比度的一种计算机图像处理技术。普通的直方图均衡算法对于整幅图像的像素使用相同的直方图变换,对于像素值分布比较均衡的图像来说,普通的直方图均衡算法的效果很好,然而,对于像素值分布不均衡的图像,也就是包括明显比其它区域暗或者亮的部分的图像,例如眼底图像,明显比其它区域暗或者亮的部分的对比度将得不到有效的增强,和普通的直方图均衡算法不同,AHE算法通过计算图像的局部直方图,然后重新分布亮度来改变图像对比度。因此,自适应直方图均衡化算法更适用于本发明,以改进眼底图像的局部对比度以及获得更多的图像细节。

在一种可选的实施例中,步骤S106包括步骤S302,使用局部熵阈值分割算法对第一视网膜血管图进行二值化处理。

具体的,根据熵阈值分割算法的优越性,采用局部熵阈值分割算法对第一视网膜血管图进行二值化处理,可以很好的分离出背景和目标。

局部熵阈值分割算法的原理介绍:假设f(x,y)为图像中点(x,y)处的灰度值,f(x,y)>0,对于一副M×N大小的图像,定义Hf为该图像的熵,即:

式子中为灰度分布。如果M×N是图像的局部窗口,则称Hf为图像的局部熵。

局部熵能够反应图像灰度的离散程度,在局部熵最大的地方,图像灰度相对较均匀,在局部熵小的地方,图像灰度离散性较大,通常情况下窗内像素值差异大的位置是目标和背景的边缘,所以根据局部熵可以把灰度相对均匀的目标分割出来。因为局部熵是窗口内多像素点共同的贡献,对于单点的噪声不敏感,所以局部熵也具有滤波的效果。由局部熵公式定义中取对数运算量比较大,运行速度慢,定义0<pij<<1,可用泰勒展开舍去高次幂(或者等价无穷小)得到近似公式:

由上式计算图像的局部熵值,确定图像最大局部熵位置,由最大局部熵位置开始计算图像的局部熵与已分割的局部熵的相似性,根据相似性确定分割区域。当分割结束,即可得到图像的二值目标图像。

在一种可选的实施例中,步骤S106之后,包括步骤S402,对第二视网膜血管图进行后处理;其中,后处理包括:确定第二视网膜血管图的病变区域,并去除病变区域引起的噪音。

具体的,由于眼底图像可能会有内部变化,包括病变,能够分割出完美的血管是非常困难的,因此需要对第二视网膜血管图进行后处理。

在一种可选的实施例中,步骤S402中确定第二视网膜血管图的病变区域,包括:

步骤S502,对第二视网膜血管图标注连通区域。

步骤S504,确定孤立区域,其中,孤立区域为面积小于预设阈值的连通区域。

步骤S506,根据孤立区域的离心率、圆形度和/或线性度确定病变区域。

具体的,确定第二视网膜血管图的病变区域时,首先需要对第二视网膜血管图标注连通区域,根据预设阈值,确定面积小于预设阈值的连通区域,可以将面积小于预设阈值的连通区域定义为孤立区域,然后计算孤立区域的一些几何特性,包括但不限于孤立区域的面积、周长、欧拉数、离心率、圆形度和线性度等。

其中,欧拉数为连通区域的个数减去连通区域内部孔洞的个数;离心率为孤立区域的长轴与短轴组成的椭圆的离心率,计算公式为:a表示孤立区域的长轴,b表示孤立区域的短轴;圆形度是孤立区域与圆形的相似程度的量,根据圆的周长与圆的面积的计算公式可得,圆形度的计算公式为:As表示孤立区域的面积,Ls表示孤立区域的周长;可以根据孤立区域的周长与面积比得到线性度,具体的计算公式为:

病变引起的噪声一般呈现为圆形或者椭圆形形状,而血管形状一般为线型,因此计算出孤立区域的离心率、圆形度和线性度之后,可以与预先设定的离心率阈值、圆形度阈值和线性度阈值进行比较,需要说明的是,可以选择离心率、圆形度和线性度中的一个或多个因素进行比较,通过比较确定病变区域,然后去除病变区域引起的噪音,使第二视网膜血管图更加精准。

在一种可选的实施例中,步骤S108包括:

步骤S602,确定第二视网膜血管图中中断的血管的中断点。

步骤S604,使用Dijkstra算法确定中断点对应的目的点,其中,目的点为血管骨架上的节点,血管骨架为第二视网膜血管图中面积最大的连通区域。

步骤S606,连接中断点和中断点对应的目的点。

具体的,步骤S602中确定第二视网膜血管图中中断的血管的中断点时,可以首先对第二视网膜血管图进行连通区域标记,选取最大的连通区域作为血管骨架,对其他连通区域的每个像素进行3×3的领域深度搜索遍历,如果像素在3×3领域内只有一个像素值为1的连接点,则将该连接点标记为连通区域的端点,将每个连通区域的端点中到视网盘距离最近的点作为中断点,如图2所示,图2中无阴影的方格表示血管像素,且像素值为1,可以看到位于中心的血管像素在3×3领域内只有一个像素值为1的连接点。

具体的,步骤S604中使用Dijkstra算法也就是迪杰斯特拉算法确定中断点对应的目的点时,首先假设第一视网膜血管图中血管中心线像素高于血管边缘的像素,选取连通区域的中断点的7×7领域内最高像素值得像素点作为图的源节点,其他像素点形成图的其他节点,节点与节点的边界成本由像素成本和方向成本组成,其中像素成本也就是两个节点之间的像素强度差,方向成本是指由源节点追踪至该节点时方向的改变大小。利用Dijkstra算法,对源节点进行最短路径的搜索,直到搜索到的节点为血管骨架上面的点时,结束搜索,搜索到的血管骨架上面的节点即为目的点。

其中,Dijkstra算法是典型的最短路径搜索算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层扩展,直到扩展到终点为止。算法思想为令G=(V,E)为一个带权值的有向图,把图中的顶点集合V分为两组,第一组为已求出最短路径的顶点集合S(初始时S中只有源节点,以后每求得一条最短路径,就将它对应的顶点加入到集合S中,直到全部顶点都加入到S中);第二组是未确定最短路径的顶点集合U,在加入过程中,总保持从源节点V到S中各顶点的最短路径长度不大于从源节点V到U中任何顶点的最短路径长度。算法步骤如下:

a.初始时,S只包含源点,即S={v},v的距离为0。U包含除v外的其他顶点,即:U={其余顶点},若v与U中顶点u有边,则<u,v>正常有权值,若u不是v的出边邻接点,则<u,v>权值为∞。

b.从U中选取一个距离v最小的顶点k,把k加入S中(该选定的距离就是v到k的最短路径长度)。

c.以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边上的权。

d.重复步骤b和c直到所有顶点都包含在S中。

如图3所示,图3中为一个带权值的有向图,初始时,S={A},先把最短路径的节点B加入,得到S={A,B},然后加入最短路径节点C,得到S={A,B,C},最后加入D节点,得到S={A,B,C,D},即可得到A到D的最短路径A->B->C->D。

具体的,步骤S602中,在得到中断点和目的点后,连接终点与目的点,即可完成血管的重连接。

实施例2

根据本发明实施例,提供了一种对眼底图像中视网膜血管的分割装置的产品实施例,图4是根据本发明实施例的对眼底图像中视网膜血管的分割装置,如图4所示,该装置包括获取模块101、第一处理模块103、第二处理模块105和重构模块107。

其中,获取模块101,用于获取眼底图像;第一处理模块103,用于基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图;第二处理模块105,用于对第一视网膜血管图进行二值化处理,得到第二视网膜血管图;重构模块107,用于对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图。

在上述实施例中,通过获取模块101获取眼底图像,首先由第一处理模块103基于海瑟矩阵对眼底图像进行处理,得到第一视网膜血管图,然后由第二处理模块105对第一视网膜血管图进行二值化处理,得到第二视网膜血管图,最后由重构模块107对第二视网膜血管图中中断的血管进行重构,得到第三视网膜血管图,达到了从眼底图像中分割出视网膜血管的目的,利用海瑟矩阵能够准确的从眼底图像中分割出视网膜血管,在得到第二视网膜血管图后对中断的血管进行重构能够使视网膜血管更加精确,有利于后续对血管的形态测量,便于后续对疾病的分析和研究,进而解决了现有技术中对眼底图像中视网膜血管分割时复杂度高以及分割结果不准确的技术问题。

此处需要说明的是,上述获取模块101、第一处理模块103、第二处理模块105和重构模块107对应于实施例1中的步骤S102至步骤S108,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在一种可选的实施例中,如图5所示,装置还包括:预处理模块201,用于在第一处理模块103基于海瑟矩阵对眼底图像进行处理之前,对眼底图像进行预处理;其中,预处理包括:获取眼底图像的绿色通道图像以及对绿色通道图像进行滤波和增强对比度的处理。

在一种可选的实施例中,预处理模块201对绿色通道图像进行滤波和增强对比度的处理,包括:使用图像处理均值滤波算法对绿色通道图像进行滤波处理;以及使用自适应直方图均衡化算法对经过滤波处理的绿色通道图像进行增强对比度的处理。

在一种可选的实施例中,第二处理模块105对第一视网膜血管图进行二值化处理,包括:使用局部熵阈值分割算法对第一视网膜血管图进行二值化处理。

在一种可选的实施例中,如图6所示,装置还包括:后处理模块301,用于在第二处理模块得到第二视网膜血管图之后,对第二视网膜血管图进行后处理;其中,后处理包括:确定第二视网膜血管图的病变区域,并去除病变区域引起的噪音。

在一种可选的实施例中,如图7所示,后处理模块301包括标注模块401、第一确定模块403和第二确定模块405。其中,标注模块401用于对第二视网膜血管图标注连通区域;第一确定模块403用于确定孤立区域,其中,孤立区域为面积小于预设阈值的连通区域;第二确定模块405用于根据孤立区域的离心率、圆形度和/或线性度确定病变区域。

在一种可选的实施例中,如图8所示,重构模块107包括第三确定模块501、第四确定模块503和连接模块505。其中第三确定模块501用于确定第二视网膜血管图中中断的血管的中断点;第四确定模块503用于使用Dijkstra算法确定中断点对应的目的点,其中,目的点为血管骨架上的节点,血管骨架为第二视网膜血管图中面积最大的连通区域;连接模块505用于连接中断点和中断点对应的目的点。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1