本发明涉及图像处理技术领域,尤其涉及一种视网膜图像的出血区域分割方法。
背景技术:
糖尿病视网膜病变(简称糖网)是一种广泛存在于糖尿病人中的眼科疾病,它会对患者的视力产生影响,严重的甚至会导致患者失明。定期筛查、尽早发现视网膜病变可以最大程度地减小患者视力损伤。视网膜出血病变是由视网膜内的微动脉瘤破裂而导致的视网膜内出血,其是糖网早期可见的标志之一。因此,对视网膜图像中的出血点进行准确检测,对于实现糖网的自动筛查、有效评估和抑制病情的发展具有重要意义。
但是,由于视网膜出血点的病灶边缘不清晰,与背景对比度差,与血管的灰度过于相近,形状不规则且大小不一,以及视网膜图像成像质量的不确定性,导致对视网膜出血区域自动检测的难度非常大,存在误检率高、漏检率高、运算复杂、处理效率低等问题。
因此,需要一种新的又精确又快速的视网膜图像出血区域分割方法。
技术实现要素:
为此,本发明提供一种视网膜图像出血区域分割方法、装置和计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种视网膜图像出血区域分割方法,在计算设备中执行,该方法包括:获取待分割的视网膜图像,并对该图像进行对比度增强,得到所述视网膜图像的增强图像;对增强图像进行滤波处理,以提取出所述视网膜图像的背景图像;将增强图像中各像素的rgb颜色值与背景图像中对应像素的rgb颜色值取差值,得到差值图像;根据差值图像中各像素的rgb颜色值得到暗区域图像,该暗区域图像中标记了视网膜图像中的暗区域,所述暗区域包括血管区域、出血区域和暗噪声区域;从增强图像中确定血管区域,并将该区域从暗区域图像中去除,得到去血管图像;以及从增强图像中确定暗噪声区域,并将该区域从去血管图像中去除,得到视网膜图像的出血区域。
可选地,在根据本发明的视网膜图像出血区域分割方法中,对视网膜图像进行对比度增强的步骤包括:将视网膜图像中各像素的rgb三通道的颜色值归一化为0~1之间的数;对于rgb中每一个颜色通道,按照以下公式确定增强图像中各像素的颜色值:i1(x,y)=α·i0(x,y)-β·i(x,y;δ)+γ;其中,i1(x,y)表示增强图像中坐标为(x,y)的像素的颜色值,i0(x,y)表示在视网膜图像中坐标为(x,y)的像素的颜色值,i(x,y;δ)表示在视网膜图像中坐标为(x,y)的像素的局部均值,其中,局部均值为经窗口大小和方差均为δ的高斯滤波所得出。
可选地,在根据本发明的视网膜图像出血区域分割方法中,对增强图像进行滤波处理,以提取出视网膜图像的背景图像的步骤包括:生成多个具有不同窗口大小的滤波器;对增强图像中各像素的rgb三个颜色通道,分别采用多个滤波器对各通道进行滤波处理,得到各通道的多个滤波结果;以及将各通道的多个滤波结果取平均作为该通道的颜色值,从而得到背景图像。
可选地,在根据本发明的视网膜图像出血区域分割方法中,滤波为维纳滤波,其计算公式为:
其中,
可选地,在根据本发明的视网膜图像出血区域分割方法中,根据差值图像中各像素的rgb颜色值得到暗区域图像的步骤包括:获取差值图像中各像素的rgb三通道的颜色值,并根据获取到的各通道颜色值来确定各通道的颜色阈值;以及通过对比差值图像中每个像素的rgb各通道颜色值与对应通道的颜色阈值,将该像素的各通道颜色值均标记为0或均标记为1,从而将差值图像转化为暗区域图像,所述暗区域图像为二值图像。
可选地,在根据本发明的视网膜图像出血区域分割方法中,从增强图像中确定血管区域,并将该区域从所述暗区域图像中去除的步骤包括:采用不同方差下的多个窗口大小对所述增强图像进行多次滤波,分别得到各方差下的多个滤波结果,并将这多个滤波结果取平均,得到该方差下的滤波均值;将各方差下的滤波均值进行合并,并对合并后的图像进行阈值分割,得到中间图像,所述中间图像包括伪血管区域和血管区域,其为二值图像;通过对中间图像进行连通域分析来确定该图像中的伪血管区域;将伪血管区域从中间图像中去除,得到血管区域的分布图,记为血管分布图;以及将暗区域图像各像素的rgb颜色值与血管分布图中对应像素的rgb颜色值取差值,从而将血管区域从暗区域图像中去除。
可选地,在根据本发明的视网膜图像出血区域分割方法中,通过对所述中间图像进行连通域分析来确定该图像中的伪血管区域的步骤包括:确定中间图像中的各连通域;计算各连通域的属性值,其中属性值包括该连通域的面积、周长、包含该连通域的最小矩形框,以及与区域具有相同标准二阶中心矩的椭圆的离心率、长轴长度和短轴长度中的至少一种;以及判断各连通域的属性值之间是否满足第一预定条件,若是,则将该连通域标记为伪血管区域。
可选地,在根据本发明的视网膜图像出血区域分割方法中,第一预定条件包括以下任意一种情况:连通域的面积满足第一阈值范围,最小矩形框与连通域的面积之比大于第二阈值,且连通域的长轴长度与短轴长度之比小于第三阈值;或者,连通域的面积满足第一阈值范围,最小矩形框与所述连通域的面积之比小于第四阈值、周长之比大于第五阈值;或者连通域的面积小于第六阈值、离心率小于第七阈值、且长轴长度与短轴长度之比小于第八阈值。
可选地,在根据本发明的视网膜图像出血区域分割方法中,从增强图像中确定暗噪声区域的步骤包括:将增强图像由rgb色彩空间转到hsv色彩空间;判断增强图像中各像素的hsv值是否满足第二预定条件;若是,则将该像素标记为暗噪声。
可选地,在根据本发明的视网膜图像出血区域分割方法中,从增强图像中确定暗噪声区域的步骤还包括:计算增强图像中各像素在g通道的梯度幅值,以及各连通域内梯度幅值的均值,其中连通域适于从暗区域图像中确定;以及若某个连通域内梯度幅值的均值小于预定阈值,则将该连通域标记为暗噪声区域。
可选地,在根据本发明的视网膜图像出血区域分割方法中,α=β=4,γ=0.5,δ为10~20之间的任意整数;第一阈值范围为[200,5000],第二阈值为0.35,第三阈值为2.5,第四阈值为0.25,第五阈值为0.95,第六阈值为600,第七阈值为0.97,第八阈值为2。
根据本发明的一个方面,提供一种视网膜图像出血区域分割装置,驻留于计算设备中,该装置包括:图像预处理单元,适于获取待分割的视网膜图像,并对该图像进行对比度增强,得到所述视网膜图像的增强图像,以及对增强图像进行滤波处理,以提取出视网膜图像的背景图像;差值图像生成单元,适于将增强图像中各像素的rgb颜色值与背景图像中对应像素的rgb颜色值取差值,得到差值图像;暗区域确定单元,适于根据差值图像中各像素的rgb颜色值得到暗区域图像,所述暗区域图像中标记了视网膜图像中的暗区域,暗区域包括血管区域、出血区域和暗噪声区域;血管去除单元,适于从增强图像中确定血管区域,并将该区域从暗区域图像中去除,得到去血管图像;以及暗噪声去除单元,适于从增强图像中确定暗噪声区域,并将该区域从去血管图像中去除,得到视网膜图像的出血区域。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,所述程序指令包括如上所述的视网膜图像出血区域分割装置;其中,处理器被配置为适于根据所述存储器中存储的视网膜图像出血区域分割装置执行如上所述的视网膜图像出血区域分割方法。
根据本发明的一个方面,提供一种存储有程序指令的计算机可读存储介质,所述程序指令包括如上所述的视网膜图像出血区域分割装置;当该计算机可读存储介质中存储的视网膜图像出血区域分割装置被计算设备读取时,所述计算设备可以执行如上所述的视网膜图像出血区域分割方法。
根据本发明的技术方案,首先对原始视网膜图像进行对比度增强,消除原始视网膜图像存在的光照不均等问题,增强出血区域与背景图像之间的对比度,使后续出血区域的分割更准确。之后,通过对增强图像进行维纳滤波,提取出了原始视网膜图像的背景图像,并通过将增强图像与背景图像取差值得到差值图像。之后,获取该差值图像的暗区域阈值,进而根据该阈值将差值图像转化为包含视网膜图像中暗区域的暗区域图像,该暗区域包括血管区域、出血区域和暗噪声区域。
随后,通过依次对增强图像进行高斯滤波、阈值分割和连通域分析来确定伪血管区域,并将该伪血管区域去除后得到血管区域的分布图,即血管分布图,进而将暗区域图像与血管分布图取差值即可去掉血管区域,得到去血管图像。最后,分别采用颜色和梯度方法来确定暗噪声区域,并将该暗噪声区域从去血管图像中去除,得到最终的出血区域。该方法通过对相关干扰区域的多次逐层处理,使得出血区域的分割更加准确,避免出血区域的误判,而且本发明也很大程度上降低了后期图像处理的复杂度,加快了计算速度。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1a示出了根据本发明一个实施例的出血区域分割系统100a的示意图;
图1b示出了根据本发明一个实施例的出血区域分割系统100b的示意图;
图2示出了根据本发明一个实施例的计算设备200的结构图;
图3示出了根据本发明一个实施例的视网膜图像出血区域分割装置300的结构图;
图4示出了根据本发明一个实施例的视网膜图像出血区域分割方法400的流程图;
图5a~图5h示出了根据本发明的一个视网膜图像出血区域分割的实施例的效果图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1a示出了根据本发明一个实施例的出血区域分割系统100a的示意图。图1a所示的系统100a包括视网膜图像采集设备110和计算设备200。应当指出,图1a中的系统100a仅是示例性的,在具体的实践情况中,系统100a中可以包括任意数量的视网膜图像采集设备110和计算设备200,本发明对系统100a中所包括的视网膜图像采集设备110和计算设备200的数目不做限制。
视网膜图像采集设备110例如可以是任意型号的眼底照相机,其适于采集视网膜图像;计算设备200可以是诸如pc、笔记本电脑、手机、平板电脑等设备,其适于执行图像处理任务。在系统100a中,视网膜图像采集设备110与计算设备200在空间上的距离比较近,二者可以以有线或无线的方式完成近距离通信,例如,视网膜图像采集设备110可以通过usb接口、rj-45接口、bnc接口等与计算设备200建立有线连接,或通过蓝牙、wifi、zigbee、ieee802.11x等协议与计算设备200建立无线连接,本发明对视网膜图像采集设备110与计算设备200之间的连接方式不做限制。计算设备200中驻留有视网膜图像出血区域分割装置300,装置300可以作为一个独立的软件安装于计算设备200中,或者作为一个网页应用驻留于计算设备200的浏览器中,或者仅仅是位于计算设备200的存储器中的一段代码,本发明对装置300在计算设备200中的存在形式不做限制。当视网膜图像采集设备110采集到视网膜图像后,将视网膜图像发送至计算设备200。计算设备200接收该视网膜图像,并由装置300对接收到的视网膜图像进行处理,分割出视网膜图像中的出血区域。
图1b示出了根据本发明一个实施例的出血区域分割系统100b的示意图。图1b所示的系统100b包括视网膜图像采集设备110、本地客户端120和计算设备200。应当指出,图1b中的系统100b仅是示例性的,在具体的实践情况中,系统100b中可以包括任意数量的视网膜图像采集设备110、本地客户端120和计算设备200,本发明对系统100b中所包括的视网膜图像采集设备110、本地客户端120和计算设备200的数目不做限制。
视网膜图像采集设备110例如可以是任意型号的眼底照相机,其适于采集视网膜图像;本地客户端120可以是诸如pc、笔记本电脑、手机、平板电脑等设备,其适于接收视网膜图像采集设备110所采集到的视网膜图像,并经由互联网将其发送至计算设备200;计算设备200可以实现为服务器,例如可以是web服务器、应用程序服务器等,其适于提供视网膜图像出血区域分割服务。在系统100b中,视网膜图像采集设备110与本地客户端120在空间上的距离比较近,二者可以以有线或无线的方式完成近距离通信;本地客户端120与计算设备200的距离比较远,二者可以以有线或无线的方式经由互联网完成远距离通信。当视网膜图像采集设备110采集到视网膜图像后,将视网膜图像发送至本地客户端120。随后,本地客户端120将接收到的视网膜图像发送至计算设备200,计算设备200接收该视网膜图像,并由装置300对接收到的视网膜图像进行处理,分割出视网膜图像中的出血区域,并将分割结果返回至本地客户端120。应当指出,虽然系统100b中将视网膜图像采集设备110和本地客户端120作为两个设备分别示出,但是,本领域技术人员可以意识到,在其他的实施例中,视网膜图像采集设备110和本地客户端120可以集成为一个设备,其同时具备以上所描述的设备110和本地客户端120所具备的所有功能。
图2示出了根据本发明一个实施例的计算设备200的结构图。在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个中央处理器204。存储器总线208可以用于在中央处理器204和系统存储器206之间的通信。中央处理器204是计算设备200的运算核心和控制核心,其主要功能是解释计算机指令以及处理各种软件中的数据。
取决于期望的配置,中央处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。中央处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与中央处理器204一起使用,或者在一些实现中,存储器控制器218可以是中央处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。应用222在系统存储器中体现为多段程序指令,例如,应用222可以是可执行程序(.exe文件)或网页中的一段js代码。中央处理器204可以执行这些程序指令从而实现应用222所指示的功能。在本发明中,应用222中包括视网膜图像出血区域分割装置300。视网膜图像出血区域分割装置300是一个由多行代码组成的指令集合,其能够指示中央处理器204执行图像处理的相关操作,从而实现视网膜图像的出血区域分割。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置102经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读存储介质可以包括存储介质和通信介质二者。根据一种实施例,计算机可读存储介质中存储有程序指令,程序指令中包括视网膜图像出血区域分割装置300。当计算机可读存储介质中存储的装置300被计算设备200读取时,计算设备200的中央处理器204可以执行相应的视网膜图像出血区域分割方法,以实现视网膜图像中出血区域的分割。
图3示出了根据本发明一个实施例的视网膜图像出血区域分割装置300的结构图。如图3所示,装置300包括图像预处理单元320、差值图像生成单元340、暗区域确定单元360、血管去除单元380和暗噪声去除单元390。
图像预处理单元320适于获取待分割的视网膜图像,并对该图像进行对比度增强,得到所述视网膜图像的增强图像,以及对该增强图像进行滤波处理后得到所述视网膜图像的背景图像。
其中,待分割的视网膜图像即视网膜图像采集设备110所采集到的原始视网膜图像,如图5a所示,其中左侧是具有圆形视场角的视网膜图像,该视网膜图像为完整的圆形;右侧是有不规则视场角的视网膜图像,该视网膜图像在上下半圆各缺失一部分。当然为了方便后续对图像像素的对应处理,图像预处理单元320可以先对该视网膜图像进行裁剪,并采用图像内插方法或其他现有方法将裁剪后的图像尺寸调整为预定尺寸。图5b是对图5a中的左右两张图进行裁剪及尺寸调整后的图,后续在5c-5h中出现的左右两张图像分别是基于图5b中的这两张图为基础进行处理后得到的效果图,如图5c是对图5b进行对比度增强后的增强图像,图5d是对图5c进行滤波后得到的背景图像。应当理解,实际上也可以没有裁剪与尺寸调整操作(即省略图5b),而直接在图5a基础上进行各项处理(如对比度增强),其并不会影响最终出血区域的判断结果。
根据一种实施例,图像预处理单元320可以根据以下方法对原始视网膜图像进行对比度增强:将视网膜图像中各像素的rgb三通道的颜色值归一化为0~1之间的数;对于rgb中每一个颜色通道,按照以下公式确定增强图像中各像素的颜色值:
i1(x,y)=α·i0(x,y)-β·i(x,y;δ)+γ
其中,i1(x,y)表示增强图像中坐标为(x,y)的像素的颜色值,i0(x,y)表示在视网膜图像中坐标为(x,y)的像素的颜色值,i(x,y;δ)表示在视网膜图像中坐标为(x,y)的像素的局部均值,其中,局部均值为经窗口大小和方差均为δ的高斯滤波所得出。根据一个实施例,α=β=4,γ=0.5,δ为10~20之间的任意整数,当然这些数值只是示例性说明,实际操作中可以根据需要设置为其他数值,本发明对此不作限制。另外,应当理解,增强图像中坐标为(x,y)的像素颜色值i1(x,y)可能出现小于0或大于1的情况,为了方便处理,可以将小于0的值都置为0,将大于1的值都置为1。
根据另一种实施例,图像预处理单元320可以根据以下方法对增强图像进行滤波处理:生成多个具有不同窗口大小的滤波器(如维纳滤波的滤波器);对增强图像中各像素的rgb三个颜色通道,分别采用这多个滤波器对各通道进行滤波处理,得到各通道的多个滤波结果;以及将各通道的多个滤波结果取平均作为该通道的颜色值,从而得到每个像素点的颜色值,这些像素点即构成所述背景图像。
提取图像背景的方法有多种,例如维纳滤波、中值滤波等,但考虑到维纳滤波的计算速度不受滤波器窗口大小的影响,而中值滤波的滤波器窗口越大,计算速度越慢,效率越低。因此,本发明中的滤波方法选择维纳滤波,其计算公式如下:
其中,
这里,可以选择50*50,100*100和500*500这三个滤波器窗口大小,并用这三种滤波器窗口分别对增强图像中各像素的rgb每一个通道进行滤波。这里,对于rgb三通道中的每个通道,都要用三种滤波器分别进行滤波,即均要用上述维纳滤波公式进行计算,然后将三个滤波器的滤波结果的平均值作为该通道的颜色值。依此方法得到每个像素点的各通道的值,即可得到最终的背景图像。
增强图像和背景图像生成后,差值图像生成单元340将增强图像中各像素的rgb颜色值与背景图像中对应像素的rgb颜色值取差值,得到差值图像。具体地,可以将增强图像中各像素的rgb颜色值减去背景图像中对应像素的rgb颜色值。
随后,暗区域确定单元360根据差值图像中各像素的rgb颜色值得到暗区域图像,这个暗区域图像中标记出了原始视网膜图像中的暗区域,该暗区域包括血管区域、出血区域和暗噪声区域。
具体地,暗区域确定单元360适于获取差值图像中各像素的rgb三通道的颜色值,并根据获取到的各通道颜色值来确定该通道的颜色阈值;以及通过对比差值图像中每个像素的各通道颜色值与对应通道的颜色阈值,将该像素的各通道颜色值均标记为0或均标记为1,从而将差值图像转化为暗区域图像,该暗区域图像为二值图像。
进一步地,可以将所有像素的各通道的颜色平均值作为对应通道的颜色阈值(可以认为是亮区阈值),若某个像素点的rgb三个通道的值均大于对应通道的颜色阈值,则将该像素点的rgb值均置为1;否则,将其均置为0,从而得到一副二值图(即黑白图),这时的暗区域即为该二值图像中rgb值均置为1的像素的集合。当然,也可以采取另一种赋值方式:将前者的rgb值均置为0,将后者的rgb值均置为1,这时的暗区域即为二值图像中rgb值均为0的像素的集合。图5e示出了根据第一种赋值方式得到的亮区域图像,即二值图像,其中的白色区域即为暗区域(rgb值均为1),其对应于原视网膜图像中较暗的区域。
随后,血管去除单元380从增强图像中确定血管区域,并将该区域从暗区域图像中去除,得到去血管图像。
具体地,血管去除单元380可以根据以下方法从增强图像中确定血管区域:采用不同方差下的多个窗口大小对增强图像进行多次滤波,分别得到各方差下的多个滤波结果,并将这多个滤波结果取平均,得到该方差下的滤波均值。之后,将各方差下的滤波均值进行合并,并对合并后的图像进行阈值分割,得到一张中间图像,该中间图像为二值图像,包括伪血管区域和血管区域。最后,通过对该中间图像进行连通域分析来确定该图像中的伪血管区域,并将该伪血管区域从中间图像中去除,得到血管区域的分布图,记为血管分布图。
具体地,血管去除单元380在采用不同方差下的多个窗口大小对增强图像进行多次滤波的过程中,可以采用采用多个窗口大小的高斯滤波,这主要是考虑到在视网膜图像中血管的局部方向、曲率变化较小,横截面的灰度变化近似为高斯曲线。根据一种实施例,此处可采用选取两个方差δ,每个方差下选取19种窗口大小,如:
1)δ1=5,并分别选取2*2~20*20这19种窗口大小对增强图像进行高斯滤波,得到19个滤波结果;
2)δ2=1.8,并分别选取2*2~20*20这19种窗口大小对增强图像进行高斯滤波,得到19个滤波结果。
之后,分别求得这两个方差下的19种滤波结果的平均值,并将求得的两个滤波均值进行合并,即可得到合并结果所对应后的图。对合并后的图像进行阈值分割的算法有多种,例如otsu大津算法、最大熵法、迭代法等等,也可以参考暗区域图像的生成方法,即先求得该合并后的图像中各通道的颜色值及每个通道的颜色阈值,并通过对比每个通道的颜色值与该通道的颜色阈值来将该合并后的图像转换为中间图像,中间图像为标记了血管区域和伪血管区域的二值图像。
进一步地,血管去除单元380可以根据以下方法来确定中间图像中的伪血管区域:先采用现有的任意连通域确定算法来确定该中间图像中的各连通域,然后计算各连通域的属性值,其中属性值包括该连通域的面积、周长、包含该连通域的最小矩形框,以及与区域具有相同标准二阶中心矩的椭圆的离心率、长轴长度和短轴长度中的至少一种。最后,判断各连通域的属性值之间是否满足第一预定条件,若是,则将该连通域标记为伪血管区域。其中,第一预定条件可以为以下任意一种条件:
1)连通域的面积满足第一阈值范围,最小矩形框与连通域的面积之比大于第二阈值,且连通域的长轴长度与短轴长度之比小于第三阈值;
2)连通域的面积满足第一阈值范围,最小矩形框与连通域的面积之比小于第四阈值、周长之比大于第五阈值;或者
3)连通域的面积小于第六阈值、离心率小于第七阈值、且长轴长度与短轴长度之比小于第八阈值。
这里,第一阈值范围可以为[200,5000],第二阈值可以为0.35,第三阈值可以为2.5,第四阈值可以为0.25,第五阈值可以为0.95,第六阈值可以为600,第七阈值可以为0.97,第八阈值可以为2。当然,可以根据需要将其设置为其他数值,本发明对这些具体数值不作限定。
确定伪血管区域后,血管去除单元380将该区域从中间图像中去除,以得到血管区域的分布图,记为血管分布图。考虑中间图像是一幅黑白的二值图像,且前文在暗区域图像的生成过程中将暗区域的像素的rgb值均置为1,因此这里可以采用将中间图像中伪血管区域内的像素的rgb值均置为0的方法来去除伪血管区域,得到的血管分布图如图5f所示,其中的白色区域即为血管区域。此外,也可以记录下伪血管区域内各像素的坐标值,并在中间图像中将对应坐标处的像素的rgb值均设置为0。当然,应当理解,如果在前文中的暗区域图像生成过程中将暗区域的像素颜色值均置为0,那么这里就可以将伪血管区域的像素颜色值均置为1。
确定血管区域后,血管去除单元380可以将暗区域图像各像素的rgb颜色值与血管分布图中对应像素的rgb颜色值取差值,从而将血管区域从暗区域图像中去除,得到的去血管图像如图5g所示。这里,取差值算法可以为将暗区域图像各像素的rgb颜色值减去血管分布图中对应像素的rgb颜色值,当然也可以进行一些权重计算后再取差值,本发明对取差值过程的具体算法不作限定。
去血管图像中的白色区域对应于原视网膜图像中的出血区域和暗噪声区域,去除暗噪声区域即可得到出血区域。因此,暗噪声去除单元390从增强图像中确定暗噪声区域,并将该区域从去血管图像中去除,从而得到视网膜图像的出血区域。
根据一个实施例,暗噪声去除单元390可以根据颜色的方法来确定暗噪声区域。具体地,将增强图像由rgb色彩空间转到hsv色彩空间,并判断各像素的hsv值是否满足第二预定条件,若是,则将该像素标记为暗噪声。其中,第二预定条件可以为以下任意一种情况:h值在第一区间范围外,或s值在第二区间范围外,或者v值在第三区间范围外。其中,第一区间范围为[0.45,1],第二区间范围为[0.15,0.75],第三区间范围为[0.45,0.75]。这里,当hsv的值都在对应区间范围内时,可以认为该像素为出血点。应当指出,此处在判断hsv值是否满足第二预定条件时,所采用的hsv值是归一化后的hsv值,即,首先将hsv值归一化为0~1之间的数,再判断归一化后的hsv值是否满足第二预定条件。另外,应当理解,这些数值只是示例性说明,实际操作中可以根据需要设置为其他数值,本发明对此不作限制。
根据颜色方法确定出暗噪声后,就可以在去血管图像中将该暗噪声去除。这里可以参考伪血管区域的去除方法,同样采用将暗噪声的像素颜色值置为0或1的方法来去除该暗噪声。此外,也可以记录下被标记为暗噪声的像素的坐标值,然后在去血管图像中对该坐标处的像素的rgb值进行设置,此处不再赘述。
根据另一个实施例,暗噪声去除单元390还可以根据梯度的方法来确定暗噪声区域。具体地,可以利用g通道中出血点与背景区域的颜色对比度较高的特点,计算增强图像中各像素在g通道的梯度幅值,以及各连通域内梯度幅值的均值,其中连通域可以从暗区域图像中确定。若某个连通域内梯度幅值的均值小于预定阈值,则将该连通域标记为暗噪声区域;反之则可认为该连通域为出血区域。其中,预定阈值为将该增强图像中的所有连通域排除后的所有其他像素的梯度幅值的均值。根据梯度方法确定暗噪声区域后,同样可以参考伪血管区域的去除方法将标记出的暗噪声区域从去血管图像中去除,此处不再赘述。
在实际操作中,可以选择任意选择颜色或梯度的方法来确定暗噪声区域。但为了实现更好的暗噪声去除效果,也可以对这两种方式确定出的暗噪声区域取合集。当采用组合的方法时,以上两种方法可以以任意顺序实施,本发明对各方法的先后顺序不做限制。之后,将这两种方法标记出的暗噪声区域从去血管图像中去除,从而得到最终的出血区域。在此处所采用的两种方法的组合方法中,确定暗噪声的步骤包括两步,每一步均在前一步的基础上确定暗噪声,前一步中已经判定为暗噪声的区域在后一步中不再进行重复判断,这样,既能够准确地确定暗噪声区域、避免遗漏,同时,也减少了不必要的计算,从而加快了计算速度。通过这两种方式的组合处理得到的出血区域如图5h中的黑色斑点状区域所示。
图4示出了根据本发明一个实施例的视网膜图像出血区域分割方法400的流程图。方法400适于在前述图3所示的视网膜图像出血区域分割装置300中执行。如图4所示,方法400始于步骤s420。
在步骤s420中,获取待分割的视网膜图像,并对该图像进行对比度增强,得到视网膜图像的增强图像;并在步骤s440中,对增强图像进行滤波处理,以提取出视网膜图像的背景图像。该两个步骤的具体过程可以参考前述对图像预处理单元320的描述,此处不再赘述。
随后,在步骤s460中,将增强图像中各像素的rgb颜色值与背景图像中对应像素的rgb颜色值取差值,得到差值图像。该步骤的具体过程可以参考前述对差值图像生成单元340的描述,此处不再赘述。
在步骤s470中,根据差值图像中各像素的rgb颜色值得到暗区域图像,该暗区域图像中标记出了视网膜图像中的暗区域,其中暗区域包含血管区域、出血区域和暗噪声区域。该步骤的具体过程可以参考前述对暗区域确定单元360的描述,此处不再赘述。
随后,在步骤s480中,从增强图像中确定血管区域,并将该区域从暗区域图像中去除,得到去血管图像。该步骤的具体过程可以参考前述对血管去除单元380的描述,此处不再赘述。
随后,在步骤s490中,从增强图像中确定暗噪声区域,并将该区域从去血管图像中去除得到视网膜图像的出血区域。该步骤的具体过程可以参考前述对暗噪声去除单元390的描述,此处不再赘述。
以下是本发明的一个视网膜图像出血区域分割的实施例:
1)获取原始视网膜图像,如图5a所示;
2)对原始视网膜图像进行裁剪及尺寸调整,得到图5b;
3)对图5b进行对比度增强,得到增强图像-图5c;
4)对图5c进行维纳滤波,提取出背景图像-图5d;
5)将增强图像(图5c)的rgb像素值减去背景图像(图5d)的对应像素的rgb值,得到暗区域图像,如图5e所示;
6)对图5c进行多次高斯滤波,对多次滤波结果进行合并,并将合并后的图转换为由二值表示的中间图像,对二值图像进行连通域分析,确定伪血管区域,进而将该伪血管区域从中间图像中去除,得到血管分布图-图5f;
7)将暗区域图像(图5e)减去血管分布图(图5f),得到去血管图像,如图5g所示;
8)分别根据图5c的颜色和梯度确定其中的暗噪声区域,并将该暗噪声区域从图5g中去除,得到最终的出血区域如图5h所示。
根据本发明的技术方案,通过对视网膜图像进行对比度增强得到了增强图像,对增强图像进行滤波处理得到了背景图像;基于增强图像和背景图像得到了差值图像;从差值图像中分离出了包含血管区域、出血区域和暗噪声区域的暗区域。之后,从增强图像中定位了血管区域和暗噪声区域;最后将血管区域和暗噪声区域从暗区域图像中去除,得到最终的出血区域。这种方法能够快速、全面的定位病变候选区域和干扰区域,并在病变候选区域除去干扰区域,从而非常精确地对出血区域进行定位,防止了对结果的误判。而且,本发明还提高了传统的眼底图像的分析检测速度,大大降低了数据处理时的人力物力,能够广泛适用于大规模眼底图像的自动化应用。
另外,本发明通过对眼底图像的标准化裁剪可以减少不同眼底图像之间的差异,而眼底图像的增强处理可以减少同一张眼底图像由于光照不均引入的差异,这些都从各项细节上提高了眼底图像的处理精度,从而进一步提高了出血区域判断结果的准确性。
a8、如a7所述的方法,其中,所述第一预定条件包括以下任意一种情况:所述连通域的面积满足第一阈值范围,所述最小矩形框与所述连通域的面积之比大于第二阈值,且所述连通域的长轴长度与短轴长度之比小于第三阈值;所述连通域的面积满足第一阈值范围,所述最小矩形框与所述连通域的面积之比小于第四阈值、周长之比大于第五阈值;或者所述连通域的面积小于第六阈值、离心率小于第七阈值、且长轴长度与短轴长度之比小于第八阈值。
a9、如a1所述的方法,其中,从所述增强图像中确定所述暗噪声区域的步骤包括:将所述增强图像由rgb色彩空间转到hsv色彩空间;以及判断各像素的hsv值是否满足第二预定条件,若是,则将该像素标记为暗噪声。
a10、如a1或a9所述的方法,其中,从所述增强图像中确定所述暗噪声区域的步骤还包括:计算所述增强图像中各像素在g通道的梯度幅值,以及各连通域内梯度幅值的均值,所述连通域适于从所述暗区域图像中确定;若某个连通域内梯度幅值的均值小于预定阈值,则将该连通域标记为暗噪声区域。
a11、如a1-a10中任一项所述的方法,其中,α=β=4,γ=0.5,δ为10~20之间的任意整数;所述第一阈值范围为[200,5000],所述第二阈值为0.35,所述第三阈值为2.5,所述第四阈值为0.25,所述第五阈值为0.95,所述第六阈值为600,所述第七阈值为0.97,所述第八阈值为2。
b13、如b12所述的装置,其中,所述图像预处理单元适于根据以下方法对所述视网膜图像进行对比度增强:将所述视网膜图像中各像素的rgb三通道的颜色值归一化为0~1之间的数;对于rgb中每一个颜色通道,按照以下公式确定增强图像中各像素的颜色值:i1(x,y)=α·i0(x,y)-β·i(x,y;δ)+γ其中,i1(x,y)表示所述增强图像坐标为(x,y)的像素的颜色值,i0(x,y)表示在所述视网膜图像中坐标为(x,y)的像素的颜色值,i(x,y;δ)表示在所述视网膜图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经窗口大小和方差均为δ的高斯滤波所得出。
b14、如b12所述的装置,其中,所述图像预处理单元适于根据以下方法对所述增强图像进行滤波处理:生成多个具有不同窗口大小的滤波器;对所述增强图像中各像素的rgb三个颜色通道,分别采用所述多个滤波器对各通道进行滤波处理,得到各通道的多个滤波结果;以及将各通道的多个滤波结果取平均作为该通道的颜色值,从而得到所述背景图像。
b15、如b12或b14所述的装置,其中所述滤波为维纳滤波,其公式为:
其中,
b16、如b12所述的装置,其中,所述暗区域确定单元适于根据以下方法得到暗区域图像:获取所述差值图像中各像素的rgb三通道的颜色值,并根据获取到的各通道颜色值来确定该通道的颜色阈值;以及通过对比所述差值图像中每个像素的各通道颜色值与对应通道的颜色阈值,将该像素的各通道颜色值均标记为0或均标记为1,从而所述差值图像转化为暗区域图像,所述暗区域图像为二值图像。
b17、如b12所述的装置,其中,所述血管去除单元适于根据以下方法从所述增强图像中确定所述血管区域,并将该区域从所述暗区域图像中去除:采用不同方差下的多个窗口大小对所述增强图像进行多次滤波,分别得到各方差下的多个滤波结果,并将所述多个滤波结果取平均,得到该方差下的滤波均值;将各方差下的滤波均值进行合并,并对合并后的图像进行阈值分割,得到中间图像,所述中间图像包括伪血管区域和血管区域,其为二值图像;通过对所述中间图像进行连通域分析来确定该图像中的伪血管区域;将所述伪血管区域从所述中间图像中去除,得到所述血管区域的分布图,记为血管分布图;以及通过将所述暗区域图像各像素的rgb颜色值与所述血管分布图中对应像素的rgb颜色值取差值,来将所述血管区域从所述暗区域图像中去除。
b18、如b17所述的装置,其中,所述血管去除单元进一步适于根据以下方法确定伪血管区域:确定所述中间图像中的各连通域;计算各连通域的属性值,所述属性值包括该连通域的面积、周长、包含该连通域的最小矩形框,以及与区域具有相同标准二阶中心矩的椭圆的离心率、长轴长度和短轴长度中的至少一种;以及判断各连通域的属性值之间是否满足第一预定条件,若是,则将该连通域标记为伪血管区域。
b19、如b18所述的装置,其中,所述第一预定条件包括以下任意一种情况:所述连通域的面积满足第一阈值范围,所述最小矩形框与所述连通域的面积之比大于第二阈值,且所述连通域的长轴长度与短轴长度之比小于第三阈值;所述连通域的面积满足第一阈值范围,所述最小矩形框与所述连通域的面积之比小于第四阈值、周长之比大于第五阈值;或者所述连通域的面积小于第六阈值、离心率小于第七阈值、且长轴长度与短轴长度之比小于第八阈值。
b20、如b12所述的装置,其中,所述暗噪声去除单元适于根据以下方法从所述增强图像中确定所述暗噪声区域:将所述增强图像由rgb色彩空间转到hsv色彩空间;以及判断各像素的hsv值是否满足第二预定条件,若是,则将该像素标记为暗噪声。
b21、如b12或b20所述的装置,其中,所述暗噪声去除单元进一步适于根据以下方法从所述增强图像中确定所述暗噪声区域:计算所述增强图像中各像素在g通道的梯度幅值,以及各连通域内梯度幅值的均值,所述连通域适于从所述暗区域图像中确定;若某个连通域内梯度幅值的均值小于预定阈值,则将该连通域标记为暗噪声区域。
b22、如b12-b21中任一项所述的装置,其中,α=β=4,γ=0.5,δ为10~20之间的任意整数;所述第一阈值范围为[200,5000],所述第二阈值为0.35,所述第三阈值为2.5,所述第四阈值为0.25,所述第五阈值为0.95,所述第六阈值为600,所述第七阈值为0.97,所述第八阈值为2。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的视网膜图像出血区域分割方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。