一种基于PCNN的视网膜血管图像分割方法和系统与流程

文档序号:11621256阅读:260来源:国知局
一种基于PCNN的视网膜血管图像分割方法和系统与流程

本发明涉及图像处理领域,特别涉及一种基于pcnn的视网膜血管图像分割方法和系统。



背景技术:

随着计算机技术的发展,图像处理技术已经应用到医学的各领域中。其中,眼底检查是否正常与人们的健康状况密切相关,视网膜中的血管分割与检测已成为医学研究者研究和关注的重点。随着现代生活水平的提高,患糖尿病、高血压等心血管疾病的人日益增多,医生通过观察眼底图像中视网膜血管的结构特征如颜色、亮度、形状等变化来进一步确定疾病的类型及严重程度,从而可以对症下药,以减少诊断失误所带来的严重后果。因此,视网膜图像中血管网络的检测与分割对心脑血管疾病的检测、诊断以及治疗在临床上具有非常重要的意义。视网膜图像中的血管分割存在以下难点:其一,眼底图像中血管与背景之间的对比度低。由于眼底照相机采集设备和采集环境的影响如光照不均等因素,造成对比度低的情况。其二,血管自身结构特征复杂。视网膜血管的弯曲程度、形状不一,呈树状分布,使得分割起来有一定的困难。其三,目前大多数分割方法所得到的血管存在断点,导致分割精度不高。



技术实现要素:

本发明提供了一种基于pcnn的视网膜血管图像分割方法和系统,解决了现有技术中视网膜血管的分割困难且分割精度不高的技术问题。

本发明解决上述技术问题的技术方案如下:一种基于pcnn的视网膜血管图像分割方法,包括:

s1、提取原始彩色图像的绿色通道图像;

s2、对所述绿色通道图像进行预处理,所述预处理包括图像对比度增强处理、图像相减处理、图像取反处理和图像掩膜处理,得到预处理后的图像;

s3、通过阈值操作在所述预处理后的图像中选出初始种子区域,利用带有快速连接机制以及动态变化的连接强度的脉冲耦合神经网络模型对所述初始种子区域进行迭代生长,直到满足预定的停止条件,完成所述预处理后的图像中的视网膜血管的自动分割,得到所述视网膜血管的分割图像。

本发明的有益效果是:通过将带有快速连接机制的pcnn与种子区域增长思想相结合,实现眼底图像中血管区域的自动生长,从而有效地提取出视网膜图像中的血管,改善了血管区域不连续的问题,提高了分割精确度。

在上述技术方案的基础上,本发明还可以做如下改进。

优选地,步骤s3具体包括:

s301、设置所述脉冲耦合神经网络模型的连接强度系数初始值β、连接系数的增加项δδ、连接强度系数最大值的初始值βmax、选择种子点的初始阈值u0、血管图像阈值w、βmax的增加项δβ、用于控制βmax过度增长的阈值t以及所述脉冲耦合神经网络模型的输出矩阵y,y初始值设为0;

s302、将所述预处理后的图像sy中大于初始阈值u0的所有像素的值赋为1,作为初始种子区域,即y(sy>u0)=1,其中,像素值为0则显示黑色,像素值为1则显示白色;

s303、定义一个与输出矩阵y同阶的矩阵y0并赋值为1;

s304、当β≤βmax时,如果y0与y中存在不相等的元素,则执行y0=y,并通过快速连接机制进行迭代,给y中的各个元素重新赋值0或1;

s305、反复执行步骤s304,直至y0=y;

s306、将β重新赋值为β与增加项δδ的和,将y0再次赋值为1;

s307、反复执行步骤s304至s306,直至β>βmax,完成视网膜血管像素的第一轮赋值;

s308、计算所述预处理后的图像sy中对应视网膜血管的像素值为1的区域的总像素值sum(y);

s309、当sum(y)<w时,将βmax重新赋值为βmax与增加项δβ的和,执行步骤s304至s307,开始视网膜血管像素的新一轮赋值,如果βmax>t,则结束;

s310、反复执行步骤s309,直至sum(y)≥w,结束。

优选地,所述步骤s2包括:

s21、通过直方图均衡化方法对所述绿色通道图像进行对比度增强,得到第一图像;

s22、通过二维高斯匹配滤波方法对所述第一图像进行对比度增强,得到第二图像;

s23、对所述第一图像中的每个像素点与所述第二图像中的对应像素点进行相减,对相减后的图像进行取反,得到第三图像;

s24、通过预设的掩膜图像对所述第三图像进行处理,得到预处理后的图像。

优选地,所述步骤s21包括:

s211、将所述绿色通道图像分为多个大小相等的连续但不重叠的块,并计算每个块的直方图;

s212、对每个块进行灰度直方图剪切和直方图均衡化;

s213、通过线性插值法对每个块进行连接,得到第一图像。

优选地,所述步骤s22包括:

s221、对所述第一图像中的视网膜血管进行多次旋转,得到多个匹配滤波器;

s222、通过所有所述匹配滤波器对所述第一图像中的视网膜血管进行对比度增强,得到第二图像。

优选地,所述步骤s24包括:

s241、提取所述第三图像的红色通道图像,并对提取到的所述红色通道图像进行二值化;

s242、通过预设的掩膜图像对二值化后的图像依次进行开运算、闭运算和腐蚀操作;

s243、将所述掩膜图像与腐蚀操作后的图像进行相乘,得到预处理后的图像。

一种基于pcnn的视网膜血管图像分割系统,包括:

提取模块,用于提取原始彩色图像的绿色通道图像;

预处理模块,用于对所述绿色通道图像进行预处理,所述预处理包括图像对比度增强处理、图像相减处理、图像取反处理和图像掩膜处理,得到预处理后的图像;

分割模块,用于通过阈值操作在所述预处理后的图像中选出初始种子区域,利用带有快速连接机制以及动态变化的连接强度的脉冲耦合神经网络模型对所述初始种子区域进行迭代生长,直到满足预定的停止条件,完成所述预处理后的图像中的视网膜血管的自动分割,得到所述视网膜血管的分割图像。

优选地,所述分割模块包括:

设置子模块,用于设置所述脉冲耦合神经网络模型的连接强度系数初始值β、连接系数的增加项δδ、连接强度系数最大值的初始值βmax、选择种子点的初始阈值u0、血管图像阈值w、βmax的增加项δβ、用于控制βmax过度增长的阈值t以及所述脉冲耦合神经网络模型的输出矩阵y,y初始值设为0;

赋值子模块,用于将所述预处理后的图像sy中大于初始阈值u0的所有像素的值赋为1,作为初始种子区域,即y(sy>u0)=1,其中,像素值为0则显示黑色,像素值为1则显示白色;

定义子模块,用于定义一个与输出矩阵y同阶的矩阵y0并赋值为1;

第一循环子模块,用于执行y0=y,并通过快速连接机制进行迭代,给y中的各个元素重新赋值0或1;

第二循环子模块,用于当β≤βmax时,如果y0与y中存在不相等的元素,则反复执行所述第二循环子模块,直至y0=y,将β重新赋值为β与增加项δδ的和,将y0再次赋值为1;

第一执行子模块,用于反复执行所述第二循环子模块,直至β>βmax,完成视网膜血管像素的第一轮赋值;

计算子模块,用于计算所述预处理后的图像sy中对应视网膜血管的像素值为1的区域的总像素值sum(y);

第三循环子模块,用于当sum(y)<w时,将βmax重新赋值为βmax与增加项δβ的和,执行所述第二循环子模块,开始视网膜血管像素的新一轮赋值,如果βmax>t,则结束;

第二执行子模块,用于反复执行所述第三循环子模块,直至sum(y)≥w,结束。

优选地,所述预处理模块包括:

第一处理子模块,用于通过直方图均衡化方法对所述绿色通道图像进行对比度增强,得到第一图像;

第二处理子模块,用于通过二维高斯匹配滤波方法对所述第一图像进行对比度增强,得到第二图像;

第三处理子模块,用于对所述第一图像中的每个像素点与所述第二图像中的对应像素点进行相减,对相减后的图像进行取反,得到第三图像;

第四处理子模块,用于通过预设的掩膜图像对所述第三图像进行处理,得到预处理后的图像。

优选地,所述第一处理子模块具体用于:

将所述绿色通道图像分为多个大小相等的连续但不重叠的块,并计算每个块的直方图;

对每个块进行灰度直方图剪切和直方图均衡化;

通过线性插值法对每个块进行连接,得到第一图像。

所述第二处理子模块具体用于:

对所述第一图像中的视网膜血管进行多次旋转,得到多个匹配滤波器;

通过所有所述匹配滤波器对所述第一图像中的视网膜血管进行对比度增强,得到第二图像。

所述第四处理子模块具体用于:

提取所述第三图像的红色通道图像,并对提取到的所述红色通道图像进行二值化;

通过预设的掩膜图像对二值化后的图像依次进行开运算、闭运算和腐蚀操作;

将所述掩膜图像与腐蚀操作后的图像进行相乘,得到预处理后的图像。

附图说明

图1为本发明实施例提供的一种基于pcnn的视网膜血管图像分割方法的流程示意图;

图2为本发明实施例提供的一种基于pcnn的视网膜血管图像分割系统的结构示意图;

图3为本发明实施例提供的原始图像;

图4为本发明实施例提供的图3的绿色通道图像;

图5为本发明实施例提供的图4直方图均衡化后的图像;

图6为本发明实施例提供的图5高斯匹配滤波后的图像;

图7为本发明实施例提供的图5减图6后的图像;

图8为本发明实施例提供的图7取反后的图像;

图9为本发明实施例提供的掩膜图像;

图10为本发明实施例提供的预处理后的图像;

图11为本发明实施例提供的视网膜血管的分割图像;

图12为本发明实施例提供的脉冲耦合神经网络模型的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种基于pcnn的视网膜血管图像分割方法,包括:

s1、提取原始彩色图像(如图3所示)的绿色通道图像,如图4所示;

s2、对绿色通道图像中的视网膜血管进行预处理,所述预处理包括图像对比度增强处理、图像相减处理、图像取反处理和图像掩膜处理,得到预处理后的图像,如图9所示;

s3、通过阈值操作在预处理后的图像中选出初始种子区域,利用带有快速连接机制以及动态变化的连接强度的脉冲耦合神经网络模型对初始种子区域进行迭代生长,直到满足预定的停止条件,完成预处理后的图像中的视网膜血管的自动分割,得到视网膜血管的分割图像,如图11所示。

应理解,通过将带有快速连接机制的pcnn与种子区域增长思想相结合,实现眼底图像中血管区域的自动生长,从而有效地提取出视网膜图像中的血管,改善了血管区域不连续的问题,提高了分割精确度。

pcnn(pcnn-pulsecoupledneuralnetwork,脉冲耦合神经网络模型),依据猫、猴等动物的大脑皮层上的同步脉冲发放现象提出的一种神经网络模型,与bp神经网络和kohonen神经网络相比,pcnn不需要学习或者训练,能从复杂背景下提取有效信息,具有同步脉冲发放和全局耦合等特性,其信号形式和处理机制更符合人类视觉神经系统的生理学基础。

步骤s3具体包括:

s301、设置脉冲耦合神经网络模型的连接强度系数初始值β、连接系数的增加项δδ、连接强度系数最大值的初始值βmax、选择种子点的初始阈值u0、血管图像阈值w、βmax的增加项δβ、用于控制βmax过度增长的阈值t以及脉冲耦合神经网络模型的输出矩阵y,y初始值设为0;

s302、将预处理后的图像sy中大于初始阈值u0的所有像素的值赋为1,作为初始种子像区域,即y(sy>u0)=1,其中,像素值为0则显示黑色,像素值为1则显示白色;

s303、定义一个与输出矩阵y同阶的矩阵y0并赋值为1;

s304、当β≤βmax时,如果y0与y中存在不相等的元素,则执行y0=y,并通过快速连接机制进行迭代,给y中的各个元素重新赋值0或1;

s305、反复执行步骤s304,直至y0=y;

s306、将β重新赋值为β与增加项δδ的和,将y0再次赋值为1;

s307、反复执行步骤s304至s306,直至β>βmax,完成视网膜血管像素的第一轮赋值;

s308、计算预处理后的图像sy中对应视网膜血管的像素值为1的区域的总像素值sum(y);

s309、当sum(y)<w时,将βmax重新赋值为βmax与增加项δβ的和,执行步骤s304至s307,开始视网膜血管像素的新一轮赋值,如果βmax>t,则结束;

s310、反复执行步骤s309,直至sum(y)≥w,结束。

应理解,步骤s101中设置的参数都是手动设置的经验值,根据多次试验得出的经验值,但是由于pcnn所处理的图像是同一类图像(即视网膜图像),且图像进行了归一化,因此这些参数具有通用性。w是根据输入图像sy的长和宽相乘得到的总像素值。一幅数字图像表示为一个二维矩阵,由许多的像素组成。图像中的每一个像素点对应于矩阵中每一个位置上的数值,而pcnn输出的就是一幅简单的二值图像,即像素值不是0就是1。也就是说,如果某一位置上的像素值为0的话,在图像上就是一个黑点,为1的话,就是白点。

具体地,假设预处理归一化后的图像为二维矩阵sy,选种子点,设y=0,相当于一幅黑色图像,然后在sy中的每一位置上的像素值与u0比较,如果大于u0,就作为种子点,将种子点标记为1,在图上就显示出白色的种子区域。再设一个二维矩阵y0=1,相当于一幅白色图像,将y与y0两个矩阵中的像素进行比较,当存在不相同的像素值的时候,将y赋给y0,然后经过pcnn迭代,神经元不断影响周围的神经元,产生新的输出矩阵y,再比较y与y0,不等的话,y0又变成y,重复上述过程,直到y不再发生变化即跳出循环。然后增加步长,即β=β+δδ,目的是为了扩大生长范围,最后当满足停止条件时即停止生长,输出最终的y。

上述实施例中,pcnn简化模型是20世纪90年代形成和发展的与传统人工神经网络有着根本不同的新型神经网络,它是根据猫的大脑皮层中神经元同步发放脉冲这一现象提出的,在图像分割、边缘检测、降噪、特征提取等领域中有着广泛的应用。pcnn应用于眼底图像处理时,其神经元数目与图像像素数目一致,各神经元与各像素一一对应。如图12所示,脉冲耦合神经网络模型可以分为三个部分:输入域、调制域和脉冲产生域。输入域又可以分为:反馈输入域和连接输入域。进一步的,pcnn用迭代公式表示如下:

fij[n]=sij(1)

式中,sij为外部刺激,即点(i,j)对应像素的灰度值,fij为神经元的反馈输入项,lij为神经元的连接输入项,表示一个神经元的周围神经元的输出进行加权求和,uij为内部活动项,yij为神经元的脉冲输出,θij为动态阈值。vl为连接输入域的放大系数,β为神经元之间的连接强度系数,vθ和αθ分别为动态阈值的放大系数和衰减常数因子,w为连接加权系数矩阵。

通过将内部活动项与动态阈值进行比较,来决定神经元是否输出脉冲,当uij>θij时,神经元被激发输出脉冲,同时会使得阈值增大,以阻止该神经元再次被激发,不断地迭代,直到某一时刻uij再次大于θij时,神经元被再次激发,输出脉冲。

由于在脉冲耦合神经网络模型中连接域的脉冲传输具有延时性,这样会导致图像中出现断点或者产生不连续的区域。为了减少这些影响,引用了快速连接模型,它可以使得已经激发的神经元所引起的自动波在一次迭代过程中充分传播,进而使所有被捕获的神经元可以在同一次迭代过程中被激发从而产生脉冲。

进一步的,在pcnn中引入快速连接机制的迭代公式如下:

fij[n]=sij(6)

uij[n]=fij[n]{1+βlij[n]}(8)

重复以下过程:

uij[n]=fij[n]{1+βlij[n]}(11)

直到y不再发生变化为止,然后按照公式(13)更新阈值,开始新一轮的迭代。

步骤s2包括:

s21、通过直方图均衡化方法对绿色通道图像进行对比度增强,得到第一图像,如图5所示;

s22、通过二维高斯匹配滤波方法对第一图像进行对比度增强,得到第二图像,如图6所示;

s23、对第一图像中的每个像素点与第二图像中的对应像素点进行相减,如图7所示,对相减后的图像进行取反,得到第三图像,如图8所示;

s24、通过预设的掩膜图像(如图9所示)对第三图像进行处理,得到预处理后的图像,如图10所示。

步骤s21包括:

s211、将绿色通道图像分为多个大小相等的连续但不重叠的块,并计算每个块的直方图;

s212、对每个块进行灰度直方图剪切和直方图均衡化;

s213、通过线性插值法对每个块进行连接,得到第一图像。

具体地,将原始图像分为m×n个大小相等的连续但不重叠的块,计算出每个块的直方图,对每个子区域进行灰度直方图“剪切”,对每个块进行直方图均衡化,把各个块用线性插值法连接成一幅图像,即为变换后的图像。

步骤s22包括:

s221、对第一图像中的视网膜血管进行多次旋转,得到多个匹配滤波器;

具体地,将血管每15度旋转一次,得到从0度到180度的12个匹配滤波器。二维匹配滤波器的高斯核是一个二维矩阵,假设是这个高斯核矩阵中的离散点,表示n个匹配滤波器中的第i个高斯核的旋转角度。在计算高斯核旋转矩阵中的系数时,假设旋转中心在(0,0)点处,旋转矩阵为:

其中,

旋转后的坐标系中的点为:

计算每个匹配滤波器的高斯卷积核;

由于高斯曲线两端沿x轴正负方向无限扩展,需要对其进行截断:u=±3σ,|v|≤l/2。

因此,第i个高斯核矩阵中的系数为:

其中,n={[u,v]||u|≤3σ,|v|≤l/2}。

匹配滤波时,为了使图像原来的背景灰度特性不发生改变,要求卷积核系数平均值为零,因此,匹配滤波器的高斯核的卷积核为:

ki'(x,y)=ki(x,y)-mi

其中,为高斯核的均值,a为n中的点数。

s222、通过所有匹配滤波器对第一图像中的视网膜血管进行对比度增强,得到第二图像;

匹配滤波器设计好之后,利用该滤波器对图像进行卷积运算,然后选择其中最大的卷积值作为增强图像的像素值。假设为原始图像,为进行匹配滤波增强之后的图像,用n个高斯匹配滤波器对图像中的血管增强的计算公式为:

步骤s24包括:

s241、提取第三图像的红色通道图像,并对提取到的红色通道图像进行二值化;

s242、通过预设的掩膜图像对二值化后的图像依次进行开运算、闭运算和腐蚀操作;

s243、将掩膜图像与腐蚀操作后的图像进行相乘,得到预处理后的图像。

具体地,提取rgb图像中的红色通道,并将其进行二值化,使用3×3大小的掩膜对1处理后的输出图像进行开运算,使用3×3大小的掩膜对2处理后的输出图像进行闭运算,使用3×3大小的掩膜对3处理后的输出图像进行腐蚀操作,再乘以腐蚀操作后得到的图像,再对其进行归一化处理,得到预处理结果。

如图2所示,一种基于pcnn的视网膜血管图像分割系统,包括:

提取模块1,用于提取原始彩色图像的绿色通道图像;

预处理模块2,用于对绿色通道图像中的视网膜血管进行预处理,所述预处理包括图像对比度增强处理、图像相减处理、图像取反处理和图像掩膜处理,得到预处理后的图像;

分割模块3,用于通过阈值操作在预处理后的图像中选出初始种子区域,利用带有快速连接机制以及动态变化的连接强度的脉冲耦合神经网络模型对初始种子区域进行迭代生长,直到满足预定的停止条件,完成预处理后的图像中的视网膜血管的自动分割,得到视网膜血管的分割图像。

分割模块3包括:

设置子模块,用于设置脉冲耦合神经网络模型的连接强度系数初始值β、连接系数的增加项δδ、连接强度系数最大值的初始值βmax、选择种子点的初始阈值u0、血管图像阈值w、βmax的增加项δβ、用于控制βmax过度增长的阈值t以及脉冲耦合神经网络模型的输出矩阵y,y初始值设为0;

赋值子模块,用于将预处理后的图像sy中大于初始阈值u0的所有像素的值赋为1,作为初始种子区域,即y(sy>u0)=1,其中,像素值为0则显示黑色,像素值为1则显示白色;

定义子模块,用于定义一个与输出矩阵y同阶的矩阵y0并赋值为1;

第一循环子模块,用于执行y0=y,并通过快速连接机制进行迭代,给y中的各个元素重新赋值0或1;

第二循环子模块,用于当β≤βmax时,如果y0与y中存在不相等的元素,则反复执行分割模块第二循环子模块,直至y0=y,将β重新赋值为β与增加项δδ的和,将y0再次赋值为1;

第一执行子模块,用于反复执行分割模块第二循环子模块,直至β>βmax,完成视网膜血管像素的第一轮赋值;

计算子模块,用于计算预处理后的图像sy中对应视网膜血管的像素值为1的区域的总像素值sum(y);

第三循环子模块,用于当sum(y)<w时,将βmax重新赋值为βmax与增加项δβ的和,执行分割模块第二循环子模块,开始视网膜血管像素的新一轮赋值,如果βmax>t,则结束;

第二执行子模块,用于反复执行分割模块第三循环子模块,直至sum(y)≥w,结束。

预处理模块2包括:

第一处理子模块,用于通过直方图均衡化方法对绿色通道图像进行对比度增强,得到第一图像;

第二处理子模块,用于通过二维高斯匹配滤波方法对第一图像进行对比度增强,得到第二图像;

第三处理子模块,用于对第一图像中的每个像素点与第二图像中的对应像素点进行相减,对相减后的图像进行取反,得到第三图像;

第四处理子模块,用于通过预设的掩膜图像对第三图像进行处理,得到预处理后的图像。

具体地,第一处理子模块具体用于:

将绿色通道图像分为多个大小相等的连续但不重叠的块,并计算每个块的直方图;

对每个块进行灰度直方图剪切和直方图均衡化;

通过线性插值法对每个块进行连接,得到第一图像。

第二处理子模块具体用于:

对第一图像中的视网膜血管进行多次旋转,得到多个匹配滤波器;

通过所有匹配滤波器对第一图像中的视网膜血管进行对比度增强,得到第二图像。

第四处理子模块具体用于:

提取第三图像的红色通道图像,并对提取到的红色通道图像进行二值化;

通过预设的掩膜图像对二值化后的图像依次进行开运算、闭运算和腐蚀操作;

将掩膜图像与腐蚀操作后的图像进行相乘,得到预处理后的图像。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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