视网膜血管分割系统设计与实现技术研究毕业论文设计.docx
- 文档编号:25964411
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:40
- 大小:447.18KB
视网膜血管分割系统设计与实现技术研究毕业论文设计.docx
《视网膜血管分割系统设计与实现技术研究毕业论文设计.docx》由会员分享,可在线阅读,更多相关《视网膜血管分割系统设计与实现技术研究毕业论文设计.docx(40页珍藏版)》请在冰豆网上搜索。
视网膜血管分割系统设计与实现技术研究毕业论文设计
视网膜血管分割系统设计与实现技术研究
摘要
视网膜血管检测作为图像处理的一个应用在临床医学中发挥着愈来愈重要的作用。
基于图像处理的血管检测方法主要包括分割技术、跟踪技术和拟合技术。
本文主要致力于研究基于采用Canny算子与数学形态学滤波相结合的方法进行自适应图像分割算法及其实现技术。
该研究的主要工作包括:
1)综述了公开报道的各种视网膜血管检测方法;2)研究了Canny算子与数学形态学滤波相结合的方法算法及其实现技术;3)通过VC++6.0编程实现了Canny算子与数学形态学滤波相结合的方法算法进行视网膜血管提取;4)通过实验验证了算法的有效性。
关键词:
视网膜图像,血管检测,图像分割,Canny,数学形态学
MINIMAL-PATHBASEDAPPROACHTO
DETECTIONOFRETINALVESSELS
ABSTRACT
Asanapplicationofimageprocessing,thedetectionofretinalvesselsplaysmoreandmoreimportantroleinclinicalmedicine.Themainmethodsofvesseldetectionincludesegmentationtechnique,trackingtechniquesandfittingtechniques.Thisthesisarmstostudytheminimal-pathbasedtrackingalgorithmandthecorrespondingimplementationtechniques.Themaincontributionsarethefollows:
1)presentedabriefreviewofvariouspublisheddetectionmethodsofretinalvessels;2)discussedtheminimal-pathalgorithmsandtheirimplementations;3)realizedtheextractionofretinalvesselsbasedonDijkstraalgorithm,programmingwithVC++6.0;4)evaluatedtheperformanceofminimal-pathalgorithmbyexperiments.
KeyWords:
retinalimage,vesseldetection,imagesegmentation,Canny,MathematicalMorphology
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
第1章绪论
1.1本课题研究的目的及意义
视网膜血管是人体唯一可以在活体使用非创伤性手段直接观察到的血管,许多全身性血管病以及代谢性疾病均可使眼底血管受到不同程度的侵犯,特别是心、脑、肾等与血管有关的器官发生病变,眼底血管的改变在一定程度上可反映病变的程度[1]。
临床上,视网膜血管网络对高血压、糖尿病、动脉硬化、肾炎等疾病的诊断、治疗、愈后评价都具有重要意义[2-3]。
另外,视网膜血管作为一种人体生物特征,其结构稳定,隐蔽性强,在身份鉴别等高层次安全保密方面有重要的应用前景。
由于硬件限制,视网膜图像较明显地表现出以下特点:
光照不均匀;血管与背景的对比度不强;图像噪声点多。
这导致采用常用的图像处理方法很难分割出满意的效果,寻找合适的视网膜血管提取方法是难点所在[4]。
目前视网膜血管的检测方法已有不少,但是基于Canny算子与数学形态学滤波相结合的方法算法尚未见发表。
本文就重点研究基于Canny算子与数学形态学滤波相结合的视网膜血管检测算法。
基于Canny边缘检测算子的血管分割算法。
Canny算子具有良好的多尺度特性,已广泛地用于图像边缘检测。
该方法既可有效地抑制图像中的噪声,有可保持边缘的连通性,是一种较理想的边缘检测算子。
无论采用何种边缘检测算法都难以完全消除噪声的影响。
为提高边缘检测的有效性,该研究将探讨基于数学形态学的后处理算法,已提取真实的血管网络。
1.2相关研究工作
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。
图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位。
图像边缘检测算法在过去已经被许多人提出过,并且这些人的算法都有着很多不一样的地方。
大致可以分为两类,
(1)基于梯度的边缘检测算法,
(2)基于零点交叉边缘检测算法。
主要具体的有Sobel,Reberts,Laplacian,LOG等这些算法。
1.2.1基于Laplacian算子的视网膜图像的分割方法
Laplacian算子是常用的边缘检测算子。
拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。
一个二维图像函数的拉普拉斯变换是各向同性的二阶导数。
另外,拉普拉斯算子还可以表示成模板的形式,如图1-1所示。
图1-1(a)表示离散拉普拉斯算子的模板,图1-1(b)表示其扩展模板,从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。
因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。
一般增强技术对于陡峭的边缘和缓慢变化的边缘很难确定其边缘线的位置。
但此算子却可用二次微分正峰和负峰之间的过零点来确定,对孤立点或端点更为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。
1-1(a)1-1(b)
1.2.2基于Sobel算子的视网膜图像的分割方法
Sobel算子在图像上求出二维的空间梯度,和梯度高的区域与边缘的区域相一致。
Sobel算子通常用于求输入的灰度级图像的每一个的近似的绝对梯度。
Sobel模板设计是用来在图像的垂直和水平方向最大的限度去反映边缘,这些方向性的边缘最后会汇合在一起的。
基于Sobel算子的模板是
1.2.3基于LOG算子的视网膜图像的分割方法
这个算子可以说是Laplacian的改进版,因为Laplacian其他的梯度算子一样,会增强图像中的噪声。
而LOG算子比Laplacian算子多做的就是它是先对图像进行了Gauss平滑。
通过Gauss平滑除去图像噪声,然后再进行边缘的检测,这样做的效果会比较好。
下面是LOG的5*5的模板。
第2章设计方案
图像边缘提取一般划分为视网膜图像采集、预处理、算法处理、保存处理图片几个过程。
图像采集主要完成视网膜原始图像的获取及保存任务,然后经过预处理阶段进行图像的去噪、平滑等操作,形成标准视网膜数据库,再对这些数据库中的图像进行算法处理,然后保存处理以后的图片以进行不同的算法之间的比较。
2.1图像信息的采集
我们采用Nommyd-7免散瞳眼底相机作为视网膜图像信息采集工具。
Nommyd-7免散瞳眼底相机、扫描图像类型真彩色图像、图像存储格式BMP格式、分辨率565×584。
随机选择10个学生,对他们的左眼和右眼分别各采集5对视网膜图像,建立视网膜图像数据库。
2.1.1采集的过程
以一个人采集为例:
第一步,将Nommyd-7免散瞳眼底相机跟计算机连接好。
第二步,将一只眼睛对准相机上。
第三步,开始拍摄,将拍摄以后的图像以bmp的格式保存下来。
2.1.2图像命名规则
采集到的图像需要采用统一的命名规则,经过一定的组织才能最终成为标准数据库。
具体命名方法如下:
每幅图像用二个字段表示,即表示为AB.bmp的形式。
A表示被采集者的姓名的第一个字母(如果出现重复的时候,再在后面加数字,表示第几个重复的)。
B区分采集人的左右,左眼用“L”表示,右眼用“R”表示;
例如,陈红用右眼拍摄,命名为:
chR.bmp。
如果有第二个陈红来拍摄右眼的视网膜,命名为:
ch1R.bmp。
这样命名,对于较小的环境而言,是有好处的,可以直接通过命名,得知这是谁的视网膜。
同时,也存在缺点,当被采集者的数量增大的时候,就会失去上面的优势。
2.2数字图像预处理
由于Canny算子这个算法本身就是根据灰度值的变化来确定某一点是否是边缘,但是我们从相机中得到的是真彩色图。
所以,在进行正常的边缘识别的过程中一定要进行灰度话处理。
这也是我们这个系统第一步要做的事情。
2.2.1灰度化处理
由彩色转化为灰度的过程叫做灰度化处理,它是使RGB模型中的R=G=B。
转换后的黑白图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,转换关系为:
Gray(i,j)=0.11R(i,j)+0.59G(i,j)+0.3B(i,j)
在实际中,可以取3个分量中的最大值作为灰度值。
灰度处理首先读入图像的拷贝文件到内存中,找到R,G,B中的最大值,使颜色的分量值都相等且等于最大值,这样就可以使图像变成灰度图像。
算法:
1)取得图像文件的拷贝文件;
2)取得图像的数据区指针,得到R,G,B三个分值;
3)对R,G,B三个分量做比较,gray=max(R,G,B);
4)将gray返回给R,G,B三个分量;
5)显示图像。
2.3对图像进行处理(Canny算子)
坎尼(Canny)算子是1986年JohnCanny在IEEE上发表的“AComputationalApproachtoEdgeDetection”这篇文章中提出的。
文章中还给出了边缘检测的三条准则,即Canny准备(Canny'sCriteria)。
并在此基础上提出了一个实用算法。
Canny的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
(1)优良的信噪比,即对边缘的错误检测率要尽可能的低。
也就是说将非边缘点判别为边缘点比将边缘点判别为非边缘点的概率要低。
(2)优良的定位性能,即检测出的边缘位置尽可能在实际边缘的中心。
(3)对同一边缘仅有唯一的响应,即单个边缘产生多个响应的概率要低,并且虚假边缘应受到极大的抑制。
Canny算子对图像的处理过程可以概括为一下几个步骤:
(1)过滤,边缘检测主要依赖于导数的计算,但很容易受噪声的影响。
但是滤波器在降低噪声的强度的同时也降低了边缘强度的强度。
(2)增强,增强算法将邻域中灰度有显著变化的点突出显示。
一般通过计算梯度幅值完成。
(3)检测,有一些梯度幅值很大并不一定是边缘点,所以必须进行进行的检测。
(4)对边缘精确的定位。
2.3.1过滤(Gauss滤波器)
高斯滤波器是一种线性线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。
通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。
以下是它的函数:
(x,y)分别是它离中心点的位置,而δ则是一个标准方差,通过这个未知数可以控制Gauss函数的模板及平滑的程度。
然后就是用Gauss函数对图像f(x,y)进行平滑就可以得
,这里的*符号表示的是卷积运算。
通过这个运算以后就可以得到进行平滑以后的图像F(x,y)了。
2.3.2计算梯度与梯度幅值
这一部分是以F(x,y)为基础的,要求出F(x,y)的梯度则必须要求出F(x,y)的x偏导和y偏导。
在数字图像里则是通过近似的计算也或者它们的偏导的。
传统的Canny算子是采用2*2邻域来计算F(x,y)的梯度的。
其中,x和y方向偏导数的2个阵列Px[i,j]和Py[i,j]分别为:
这个公式可以化作一个模板,上面这个公式就可以化成这样的一个模板。
X偏导与Y偏导分别为一下两个。
不过我设计的Canny算子在这里求梯度模板则是使用Sobel模板。
接下来则是要求出每个像素的梯度幅值与梯度方向。
可以使用上面求出的偏导了计算这两个变量。
M[i,j]是梯度幅值。
梯度方向是
2.3.3非极大值抑制
为了精确定位边缘,必须细化梯度幅值图像M[i,j]中的屋脊带,只保留幅值局部变化最大的点,这一过程就是非极大值抑制。
通俗的讲就是,保证Canny算法的单个边缘响应,不能单看像素点的梯度幅值的大小来判断这个点是否是边缘点,必须通过让像素点进行比较,看它是不是一定范围内的极大值才能确定。
Canny算法中使用的3*3的大小,包含8方向的邻域。
其实可以说是4个方向,因为这个邻域是对称。
这4个方向分别为0(0-22.5,157.5-180),45(22.5-67.5),90(67.5-112.5),135(112.5-157.5)。
括号内是每一个角度的范围。
当梯度的角度值符合其中的某一个范围内,则将这个像素点的方向定为括号前面的角度。
在每一个点上,邻域的中心像素m[i,j]与沿梯度方向的2个梯度幅值的插值结果进行比较。
如果邻域中心点的幅值m[i,j]不比梯度方向上的2个插值结果大,则将m[i,j]对应的边缘标志位赋值为0,这一过程把M[i,j]宽屋脊带细化为一个像素宽,并且保留了屋脊的梯度幅值。
可以通过下图(1-2)更加清楚的了解非极大值抑制的过程。
1-2
`比如我们梯度的方向为10度,这时候我们应该把这个像素点的梯度方向归入0度的范围内。
然后就是拿中间的那个值与8和4这两个位置的像素进行比较,如果不是最好的则将其设置为0,不然则这个像素就是边缘的极值点。
2.3.4用双阈值算法检测和连接边缘
双阈值算法是对经过非极大值抑制和梯度直方图分类的子图像N[i,j]分别使用高、低2个阈值S(h)和S(l)分割得到2个阈值边缘图像Th[i,j]和Tl[i,j]。
由于图像Th[i,j]是由高阈值得到,因此它应该不含有假边缘,但Th[i,j]可能在轮廓上有间断。
因此双阈值算法要在Th[i,j]中把边缘连接成轮廓,当达到轮廓端点时,该算法就在由低阈值得到的边缘图像Tl[i,j]的8邻域位置寻找可以连接到轮廓上的边缘,这样,利用递归跟踪的算法不断地在Tl[i,j]中搜集边缘,直到将Th[i,j]中所有的间隙都连接起来为止。
2.3.4Canny算法的缺点
(1)Canny算法在求梯度的时候,由于模板的不同会有很大的不同。
有可能造成对边缘的定位的确很精确,但是对噪声太过于敏感,从而导致出现假的边缘,并且丢失真的边缘。
(2)关于双阈值算法的高阈值与低阈值的取值问题也是一个很大的问题,不能根据图像本身的特点去估计这两个值,每一次都是认为的去设定这几个值。
2.4Canny算法与数学形态学的结合
灰度形态学处理的对象和结构元素是灰度函数,可充分考虑图像的灰度信息,更完整地描述图像的特征。
膨胀和腐蚀是数学形态学的2种最基本运算,由这2种基本运算可以组成多种复合运算,产生各种形态学实用算法。
膨胀:
是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。
可以用来填补物体中的空洞。
其离散形式的形态变换如下:
(f
b)(s,t)=max{f(s-x,t-y)+b(x,y)︱(s-x,t-y)∈D
;(x,y)∈D
}
其中,f(x,y)和b(x,y)表示定义在二维离散空间D
和D
上的两个离散函数,f(x,y)表示输入图像,b(x,y)表示结构元素;
腐蚀:
是膨胀的对偶运算,表示用结构元素b对图像f进行检测,寻找图像内部可以容纳该元素的区域,若原点在结构元素内部,则腐蚀具有收缩图像作用;若原点不在结构元素内部,则可用于填充图像内部的孔洞;同样,其离散形式的变换如下:
(fѲb)(s,t)=min{f(s+x,t+y)-b(x,y)︱(s+x,t+y)∈D
;(x,y)∈D
}
开运算即先腐蚀后膨胀的过程,用来消除小物体、在细小点处分离物体、平滑较大物体的边界的同时并不明显改变其面积;闭运算即先膨胀后腐蚀的过程,用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积;变换形式如下:
开运算:
f○b=(fѲb)
b
闭运算:
f·b=(f
b)Ѳb
在上述的Canny算法已经是边缘检测算法中效果比较好的一种了,但是有时候它的效果还是不那么让人满意。
所以我们提出了将数学形态学这个新型学科也加到我们的项目中来。
这个数学形态学主要做的是前期的工作,而Canny算法本身应该说是不变的。
本文针对的是灰度图像进行处理的。
从上述可以知道形态学的基本运算就两种,一种是膨胀,用来填充一些小孔,有对图像外部滤波的作用。
另一种是腐蚀,以消除图像中小的成分,有对图像内部滤波的作用。
本文中数学形态学主要用于前期的图像去噪。
这是一部很重要的一步,因为前期的图像会对后期的检测产生很大的影响。
滤波器可能在一定程度上到达去噪,但是在去噪的同时也是会消减图像本身的边缘的信息,可能导致最后的边缘不完整。
如果用数学形态学去噪则不会对图像的信息进行消减,它能很好的保存图像的信息。
因为数学形态学是基于信息的几何特征,预先定义了结构元素,所以能达到既能消除噪声又能很好的保留图像的信息。
从一些资料[1]得知,数学形态学的开运算能很好的图像的白噪声,而且图像没有模糊,但是对黑噪声却没有太多的改变。
对图像使用数学形态学的闭运算,仔细的观察会发现黑噪声也全部消失了,但是会有点图像有点轻微的模糊,不过应该影响不大。
在这个基础上,再对图像使用Canny算法就会有更加好的效果。
第3章实验结果
3.1实验结果
实验的结果是通过5个人的视网膜进行边缘识别。
而且对不同的算法进行了比较。
而且也很着重的比较了使用了数学形态学以后Canny算法与没有使用以前的差别。
下面是检测的结果
原图
只有Canny算子处理
数学形态学加Canny
我们可以看出只有Canny算法处理过的图片最外面一圈假的边缘点,而且如果仔细观察会发现有数学形态学的图片的血管比只有Canny的要清晰不少。
虽然从这张照片中看不去数学形态学的很大的优势,但是如果当照片原图没有那么好的情况下,则优势就很明显了。
3.2研究成果
经过项目的研究和系统的开发,形成了以下研究成果:
1)建立了可用于视网膜的数据库;
2)设计了一套用于视网膜血管检测的系统原型程序;
3)发表了研究论文1篇;
第4章结论
4.1总结
本课题的主要工作是研究视网膜血管分割算法,并且仔细的研究了Canny算子和数学形态学。
通过不同的算法对5个同学的左右眼睛的视网膜进行了检测,并且对处理以后的进行仔细的对比,然后保存。
本身Canny算法在边缘检测算法中已经算是比较好的一种算法,与数学形态学的结合让它变得更加的完美。
本文主要的研究工作和成果体现在如下几个方面:
1).对Sobel,Reberts,Laplacian,LOG,Canny几种常见算法进行了比较,然后通过对不同质量照片的出来,来发现它们的优点和缺点。
也发现了这几种算发中LOG与Canny的检测能力比其他的要好一点。
2).让Canny算法与数学形态学进行了结合,数学形态学很好的弥补了Canny算法的部分的确定。
在Canny算法的基础上使图像变得更加的清晰。
并对数学形态学也有了一定的掌握的,数学形态学是一门新兴的、以形态为基础对图像进行分析的学科,它用具有一定形态的结构元素去度量和提取图像中的对应形状以实现对图像的分析和识别、边缘检测等图像预处理问题中有着明显的优势。
数学形态学的基础对于膨胀与腐蚀的掌握。
也发现了正确的使用数学形态学可以能很好的处理图像边缘的问题。
4.2工作展望
虽然本课题的研究取得了一定的进展,但视网膜技术及系统的最终完善还有待进一步的研究。
尤其是在一些核心算法的研究上,如何针对视网膜图像的特点,提出更高效的边缘提取算法,是后续研究工作的重点。
另外,虽然我们从实验方面验证了视网膜图像边缘识别系统的性能和可靠性,但还需要在理论上对视网膜的检测唯一性与不变性方面作进一步的探讨。
随着现代化技术的不断出现,传统身份识别方法已经不能满足现代社会对个人身份识别的要求。
生物特征身份识别具有传统方法所无法比拟的高准确性、高安全性、高可靠性等优点,能够克服传统方法的弊端。
作为新兴的生物特征身份识别技术,视网膜识别凭借其高度的准确性,已经得到学术界和企业界越来越广泛的关注。
参考文献
[1]张惠蓉.眼微循环及其相关疾病[M].北京:
北京医科大学中国协和医科大学联合出版社,1993.
[2]吴振中.现代临床眼科学[M].长沙:
湖南科学技术出版社,1996.
[3]汤敏,王惠男.彩色视网膜血管图像的自动分割算法[J].仪器仪表学报,2007,28(7):
1281-1285.
[4]姚畅,陈后金,李居朋.基于过渡区提取的视网膜血管分割方法[J].电子学报,2008,36(5):
974-978.
[5]潘立丰,王利生.一种视网膜血管自适应提取方法[J].中国图象图形学报,2006,11(3):
310-316.
[6]GonzalezCRafael,WoodsERichard.数字图像处理(第二版)[M],北京:
电子工业出版社,2003:
463~474
[7]CannyJ.Acomputationalapproachtoedgedetection[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1986,8
[8]DemignyD,KamleT.AdiscreteexpressionofCanny’scriteriaforstepedgedetectorperformancesevaluation[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1997,19(6):
1199~1211.
附录1视网膜血管分割系统
处理图像的程序(Canny,Sobel等):
//专
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 视网膜 血管 分割 系统 设计 实现 技术研究 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)