



免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业论文(科研训练、毕业设计)题 目:基于Hough变换的虹膜定位算法姓 名:学 院:软件学院系:专 业:软件工程年 级:学 号:指导教师(校内): 职称: 年 月基于Hough变换的虹膜定位算法摘要 基于Hough变换的虹膜定位算法是在边缘检测后进行虹膜定位的一类常用算法,该算法通过图像坐标系与圆坐标参数的映射来得到合适的边缘,但是该算法存在着由于算法循环层数过高,导致复杂度过高,算法效率过低的问题。本人针对利用Hough 变换实现虹膜定位时遇到的一些问题提出了相应的解决方案。为减少Hough 变换的计算量, 本算法采用了“先采样后变换”、“由粗到精”的二步法; 为提高可靠性、减小噪声影响, 算法利用了虹膜内外边界之间的耦合关系以缩小在边界参数空间内的搜索范围。在java 1.5环境下,该算法得出了较好的结果。同时,文中也对虹膜定位的相关问题,如阈值二值化、边缘检测等问题进行了具体的讨论。关键词 虹膜识别 虹膜定位 边缘检测 Laplacian滤波 中值滤波 Hough 变换;The Algorithm of Iris Location Using Hough TransformationAbstract The iris location algorithm based on Hough transform is a usual algorithm in all the algorithms. This algorithm find the proper edge according to the reflection of the graphics coordinate system and circle arguments. But because the layer of the loops in algorithm is too large, the algorithm is complex and slow. The basic iris location algorithm based on Hough transform is reviewed, and several problems involved in implementing the algorithm are discussed. A two-step coarse-to-fine approach is used to reduce the time and space complexity. The relation between inner and outer edge of iris is exploited to reduce the influence of noise. Experiments under Java 1.5 prove the effectiveness and efficiency of the algorithm.Key Word iris recognition; iris location; edge detection; Laplacian filter; median filter; Hough transform目 录引 言5第一章 阈值二值化71.1 图像分割71.2 虹膜定位的阈值选取8第二章 降噪策略112.1高斯低通滤波112.2中值滤波13第三章 边缘检测153.1 Laplacian算子153.2 Sobel算子173.3 Prewitt算子193.4 Canny算子20第四章 Hough变换234.1 Hough变换理论234.2随机 Hough变换(RHT)244.3 虹膜定位中Hough变换实现26第五章 其他定位方法295.1 Daugman 定位法295.2几何特征定位法295.3主动轮廓线定位法30结束语34致 谢36参考文献37IndexIntroduction5Chapter 1 two-value conversion71.1 image segmentation71.2 two-value edge selection8Chapter 2 noice reduce112.1 Guass lowpass filter112.2 median filter13Chapter 3 edge detection153.1 Laplacian153.2 Sobel173.3 Prewitt193.4 Canny20Chapter 4 Hough tranformation234.1 Hough transformation theory234.2 random hough transformation244.3 the implementation of hough transformation26Chapter 5 other iris location295.1 Daugman295.2 geometry character295.3 positive figure30Tag34Acknowledgement36References37引 言虹膜识别技术是20世纪90 年代发展起来的一项基于生物特征的身份鉴别技术。该技术以人眼虹膜的纹理作为区分不同人的独一无二的特征, 通过图像采集、特征提取、模式匹配等技术手段, 判别两幅虹膜图像样本是否出自同一虹膜, 从而实现身份鉴别。虹膜识别技术由图像采集、虹膜定位、特征提取、虹膜编码、匹配与判决等几个环节组成。由图像采集阶段获得的图像通常包含整个人眼区域, 虹膜定位的作用就是从图像中确定虹膜所在的区域。通过观察, 人们发现虹膜内外边界均可近似为圆形, 因此, 虹膜定位问题可以转化为在图像中确定圆形边界位置的问题。对此, 不同的研究者采取了不同的方法。笔者采用边缘检测加Hough 变换的方法。首先通过边缘检测技术将虹膜灰度图像转化为二值的边界图, 然后, 在图像直角坐标系中定义一个圆心和半径均可变化的圆。将参数适当离散化后, 枚举出图像中所有可能的圆, 统计每个圆经过的边界点的数目, 并认为经过边界点数目最多的圆就是与边界最吻合的圆。此方法虽然简单, 但在实现时仍有一些实际问题需要考虑:(1) 如何确定在图像二值化的时候的阈值?在外边界与内边界的提取时,与之分别怎么确定。(2) 如何削弱其他非虹膜边界的影响? 在虹膜图像中, 近似为圆弧的边界有很多, 除虹膜边界外主要的还有上下眼皮边界, 必须保证不将这些边界误认为虹膜边界。采用何种降噪策略才能够很好的进行二值化后降噪,优化边缘提取时的效果?(3) 图像中同时存在两个圆形边界时如何将其都检测出来?图像中只有一个圆形边界时, 可以认为经过Hough 变换得到的几何模型参数域中的最大值点对应着此边界, 而虹膜定位要求同时确定虹膜的内、外边界的位置。由于边缘检测得到的边界往往具有一定的厚度, 因此, 不能简单的以最大值点和次大值点作为虹膜内外边界的几何参数, 因为这两点很可能对应同一个边界。(4) 当参数空间很大时, 如何提高算法效率? 当几何模型的参数数目或者参数的取值范围较大时,枚举出所有的(离散化的) 参数值在计算上会导致难以接受的时间和空间开销。针对上述问题, 本文提出了相应的解决办法。首先, 提出了相应的二值化策略,将图像转换为二值图像,然后采用相应的降噪手段,去除图像中的噪声干扰点,最后通过Laplacian滤波获取图像边缘,在此通过加大特点方向权重,来获取较好的边界图像。最后通过Hough变换来得到最优的圆。文章中各章节将对各个环节的策略进行详细的讨论。对于其他的定位方法,本文中也做出了简要介绍,用于与笔者所做的算法做对比。第一章 阈值二值化1.1 图像分割要对虹膜进行定位,首先要对取到的图像进行处理。第一步就是进行图像分割。所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内,表现出 一致性或相似性,而在不同区域间表现出明显的不同。简单的讲,就是在一幅图像中,把目标从背景中分离出来,以便于进一步处理。阈值法是一种传统的图像分割方法,阈值的选取是图像阈值分割方法中的关键技术。图像阈值化分割是一种最常用,同时也是最简单的图像分割方法,它特别适用于目标和背景占据不同灰度级范围的图像 。它可以大大简化分析和处理步骤,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。简单说来,对灰度图像的取阈值分割就是先确定一个处于图像灰度取值范围之中的灰度阈值,然后将图像中各个像素的灰度值都与这个阈值相比较,并根据比较结果将对应的像素(分割)划为两类:像素的灰度值大于阈值的为一类,像素的灰度值小于阈值的为另一类(灰度值等于阈值的像素可归于这两类之一)。这两类像素一般分属图像中的两类区域,所以对像素跟去阈值分类达到了区域分割的目的。在实际的操作中,通常采用将大于阈值的灰度值设为255,小于阈值的设为0,即用黑白两种颜色体现阈值分割的结果。由此可见,阈值化分割算法主要有两个步骤:(1)确定需要的分割阈值;(2)将分割阈值与像素值比较以划分像素。其中确定阈值是分割的关键,如果能确定一个合适的阈值就可方便地将图像分割开来。而在阈值确定后,将阈值与像素值比较和划分像素可对各像素并行地进行,分割的结果直接给出图像区域。在利用取阈值方法来分割灰度图像时一般都对图像有一定的假设。换句话说,是基于一定的图像模型的假设。最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标或背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素在灰度值上有很大的差别。如果一副图像满足这些条件,它的灰度直方图基本上可看作是由分别对应目标和背景的两个单峰直方图混合构成的。进一步如果这两个分布大小(数量)接近且均值相距足够远,而且两部分的均方差也足够小,则直方图应为较明显的双峰。类似地,如果图像中有多个单峰灰度分布的目标,则直方图有可能表现为较明显的多峰。对这类图像常可用取阈值方法来较好的分割。如果只用一个阈值分割称为单阈值分割方法,如果用多个阈值分割称为多阈值分割方法。单阈值分割可看作是多阈值分割的特例,许多单阈值分割方法可推广以进行多阈值分割。反之,有时也可将多阈值分割问题转化为一系列单阈值分割来解决。不管用何种方法选取阈值,一幅原始图像f(x,y)取单阈值T分割后的图像可定义为:图像阈值化的目的是要按照灰度级,对像素集合进行一个划分,得到的每个子集形成一个与现实景物相对应的区域,各个区域内部具有一致的属性,而相邻区域 布局有这种一致属性。这样的划分可以通过从灰度级出发选取一个或多个阈值来实现。1.2 虹膜定位的阈值选取虹膜定位中,图像的二值化,是极其重要的,关系到边缘检测中的得出的边缘的准确度,而在我们实践中的策略选择上,也对外边缘和内边缘分别用了不同的策略进行操作,下面我们叙述关于阈值选取的实践策略:(1)外边界阈值选择在外边界的阈值选择上,我们综合了一般虹膜图片的特点,判断了统计了像素点的分布情况,如下图中一副虹膜图片:图 1.2.1 原始眼部图片图片中,眼皮、巩膜区域的的灰度值较大,大概分布在200255之间,而虹膜和瞳孔的灰度值较小,分布在约50100左右,相应的瞳孔的灰度值又小于虹膜的灰度值,因为在外边界定位的阈值选取是要凸现外边界内和外边界外两个区域,而从瞳孔到外围的灰度是顺次增大的,所以选取的灰度值应该高于虹膜灰度,而低于巩膜的灰度。经过统计得出,只要我们取所有点的灰度平均值作为阈值,就可以得到很好的效果。利用此阈值进行二值化,得到的图像与下图所示,可以看到,该图像清晰的刻画了虹膜的外边界轮廓,可以用于进行边缘提取。图1.2.2 均值二值化结果上面介绍的是用于外边界的阈值二值化的阈值选取策略,但是仅仅这个阈值,只能对于外边界的提取有效果,而对于内边界的提取却没有任何效果,所以对于内边界的判定,我们需要再进行一次阈值二值化,选取另外的阈值进行二值化。在进行内边界定位的时候,我们可以考虑,因为在内边界定位时候,外边界是已经确定完毕的,所以,可以把外边界作为已知条件的,考虑,瞳孔和虹膜的灰度变化也是有一定的规律的,其中,瞳孔的灰度值比较低,虹膜的灰度值比较高,所以,初步考虑是,采用虹膜与瞳孔的灰度的平均值作为阈值进行二值化。但是在操作的过程中,我们发现,采用这个值得到的效果并不好,分析其中的原因,主要是因为由于图片的采集过程中,瞳孔反光引起的,导致在瞳孔区域中,往往有部分高亮区域,造成整体灰度的平均值偏高。所以在实践过程中,我们采用取外边界内部全部灰度平均值-20的值,得出阈值,进行图像的二值化:经过上述阈值进行二值化后,得到图像如下图所示:图1.2.3 采用圆内均值-20的阈值二值化可以看到,该图能够很好的刻画瞳孔的外围,即虹膜定位中的虹膜内边界,可以很好的用于边界提取,能够符合实际使用的要求。二值化阈值的选取遵循的原则是确定两类边界灰度特征,然后取值处于两种边界灰度的内部,这样二值化后才能够得到较好的边界,对于虹膜定位中,由于各区域的层次比较分明,灰度域比较集中,二值化的阈值选取还是比较简单的。第二章 降噪策略2.1高斯低通滤波为削弱图像噪声的干扰, 在进行边缘检测之前,使用高斯函数对图像进行平滑处理。其实现手法为:让加权矩阵G与图像f(x, y)中的一个3*3区域进行卷积操作,即相应区域的各个值进行相乘,然后累加。P1P2P3P4P5P6P7P8P9卷积运算的结果设定为中央灰度点的灰度值,实验证实高斯滤波能有效地消除图像的尖锐噪声,起到一定的平滑处理效果。那么确定模板就是一个关键问题,在我们的实现方法中,为了避免工作量增大,我们从Matlab中提取除了程序中关于高斯低通滤波器的参数模板,其模板值如下所示。0.01130.08380.01130.08380.61930.08380.01130.08380.0113处理结果如下图: 图2.1.1 高斯滤波前 2.1.2 高斯滤波后可以看到,图像经过处理后,达到了预期的平滑处理效果,消除了尖锐噪声的干扰,起到了一定的降噪效果。在我们的程序实现中,卷积的操作也是比较简单的,具体的实现请参看下述代码:/采用参数给定的模板数据进行滤波public MemoryPaletted8Image filter(MemoryPaletted8Image mp8Img,double maskData) /设置模板数据FilterMask fm = new FilterMask(maskData);MemoryPaletted8Image outImg = (MemoryPaletted8Image) mp8Img.createCopy();/对整张图片进行滤波for (int i = 1; i outImg.getWidth() - 1; i+) for (int j = 1; j outImg.getHeight() - 1; j+)outImg.putByteSample(i, j, (byte) (puteByFilterMask(mp8Img, i, j, false);return outImg;/计算(x,y)周边3*3区域灰度值与模板的卷积public byte computeByFilterMask(MemoryPaletted8Image img, int x, int y) int maskPixel = getMaskPixel( img, x, y);double outPixel = 0;for (int i = 0; i 3; i+)for (int j = 0; j 3; j+)outPixel += maskij * maskPixelij;outPixel = Math.abs( outPixel );return (byte) outPixel;2.2中值滤波中值滤波的原理就是用一个含有奇数点的滑动窗口,将窗口正中那点值用窗口内各点的中值代替。 设有一个一维序列 f 1f 2f 3。去窗口长度为m(m为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m个数,f i-vf i-1f if i+1f i+v,其中f i为窗口的中心值,V=(m-1)/2,再将这m个点值按其数值大小排列,取其序号为正中间的那个数作为滤波输出。用数学公式表示为 Y i=Medf i-vf if i+v iZ, V= (m-1)/2中值滤波的目的是保护图象连续区域的同时去除噪声。中值滤波就是输出图像的某点象素等于该象素邻域中各象素灰度的中间值。所谓中值滤波,是指把以某点(x,y)为中心的小窗口内的所有象素的灰度按从大到小的顺序排列,将中间值作为(x,y)处的灰度值(若窗口中有偶数个象素,则取两个中间值的平均)。中值滤波是一种速度快又效果好的降噪方法,其主要能够针对小型的椒盐噪声点,在虹膜定位中,尤其是在内边界的确定时,因为虹膜与巩膜的灰度值的接近,导致在二值化的过程当中,会产生小规模的椒盐噪声点。所以在此种情况下,我们选用中值滤波对图像进行处理降噪。处理的结果如下图所示: 图2.2.1 中值滤波前 图2.2.2中值滤波后从图中可以看出,处理前图片中的椒盐噪声点经过中值滤波都得到了很好的取出,使整个图片基本上只剩下瞳孔区域,给下面的瞳孔边缘检测提供了很好的条件。中值滤波的实现需要经过一次排序,这里采用了冒泡排序的方法,然后取中间的值,作为中心像素点的灰度值。/对图像进行中值滤波public MemoryPaletted8Image medianFilter(MemoryPaletted8Image mp8Img)MemoryPaletted8Image outImg = (MemoryPaletted8Image) mp8Img.createCopy();for (int i = 1; i outImg.getWidth() - 1; i+) for (int j = 1; j outImg.getHeight() - 1; j+)int maskPixel = FilterMask.getArrayPixel(mp8Img, i, j);outImg.putByteSample(i, j, (byte) this.getMedianFromArray(maskPixel);return outImg;/取得一个序列的中间值private int getMedianFromArray( int maskPixel )for( int i = 0; i maskPixel.length; i+ )for( int j = 0; j maskPixel.length-i; j+ )if( maskPixeli maskPixelj )int temp = maskPixeli;maskPixeli = maskPixelj;maskPixelj = temp;return maskPixelmaskPixel.length/2;第三章 边缘检测图像最基本的特征是边缘。所谓边缘是指周围象素有阶跃变化或屋顶状变化的那些象素的集合,他存在于目标与背景、目标与目标、区域与区域、基元与基元之间。因此他是图像分割所依赖的最重要的特征。粗略的区分边缘种类可以有两种:其一是阶跃状边缘,他两边象素的灰度值有显著的不同;其二是屋顶状边缘,他位于灰度值从增加到减少的变化转折点。 虽然图像边缘点产生的原因不同,但是它们都是图像上灰度的不连续点,或者灰度变化剧烈的地方,因此,图像的边缘通常与图像亮度的一阶导数的不连续性有关。微分运算正是基于边缘的这种不连续性,检测一阶导数局部最大值或者二阶导数过零点是边缘检测的基本微分算法。在边缘检测中的抗噪声方面采取的平滑滤波和增强边缘的梯度算子是相互抵触的目标,为了同时达到平滑和边缘增强的目的,在局部预处理领域提出了很多算法,基本是优化抗噪声和边缘增强的折衷,在这方面Canny提出了最优的边缘检测滤波器近似为高斯函数的一阶导数,即这一滤波微分算子在图像处理中取得了良好的效果。 3.1 Laplacian算子Laplacian(拉普拉斯算子)是一种二阶导数算子,对一个连续函数f(x, y),它在图像中位置(x, y)的拉普拉斯定义如下:因为图像边缘有大的灰度变化,所以图像的一阶偏导数在边缘处有局部最大值或最小值,这样二阶偏导数在边缘处会通过零点-用拉普拉斯算子检测边缘就是估算拉普拉斯算子的输出,找出它的零点位置。在数字图像f(i,j)中,经典Laplacian算子可以定义成如下的算式:拉普拉斯算子是无方向性的算子,它比多个方向导数算子的计算量要小,因为只需要用一个模板,且不必综合各模板的值。计算数字图像函数的拉普拉斯值也是借助各种模板卷积实现的。如果把它用加权矩阵来表示则可表示成图&7所示的模板-由于数字图像中离散信号的特点,在连续情况下能获得的精确零点这时可能无法全部检测出来,故拉普拉斯算子输出为零的点并不能表示出完整的目标边缘-为此,在设计中我们定义边缘为满足以下两个条件的象素点的集合:(1)拉普拉斯算子的输出为正。(2)在其八邻点存在拉普拉斯算子的输出为负的点。0101-41010在实现中,处于眼睛部分的图像特征,因为图像的主要干扰是由于睫毛引起的,睫毛的方向大致上是纵向的,所以为了加强横向选择,减小纵向选择,我们将运算的模板修改如下: 0-10-26-20-10文中用Laplacian算子检测阶梯状边缘的过程如下: 图3.1.1 Laplacian滤波前 图3.1.2 Laplacian滤波后如图所示,白色代表了检测出的边缘,可以看到,较为精确的刻画了图片的边缘部分,而在最后的选用中,我们也选择了此算子用于边缘检测,主要原因是因为对于二值化处理的时候边缘已经较为清晰,且为二值图,所以边缘比较容易检测,采用什么算子得到的效果都不错。3.2 Sobel算子在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直平边缘的。Sobel算子对于象素的位置的影响做了加权,因此效果更好。Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边缘的 ,另一个是检测垂直平边缘的 。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边缘时梯度的幅度一致。由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。下面所示的两个卷积核形成了Sobel边缘算子。图像中每个点用这两个核做卷积。一个核对通常的垂直边缘响应最大,而另一个对水平边缘响应最大。两个卷积的最大值作为该点的输出值。运算结果是一副边缘幅度图像。121000-1-2-1横向边缘影响大的Sobel算子10-120-210-1纵向边缘影响大的Sobel算子经过Sobel算子进行边缘检测的效果如下图所示: 图3.2.1 横向Sobel算子滤波前 图3.2.2横向Sobel算子滤波后可以看出,边缘得到的也比较清晰。3.3 Prewitt算子Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差, 在边缘处达到极值检测边缘, 去掉部分伪边缘, 对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的, 这两个方向模板一个检测水平边缘, 一个检测垂直边缘。111000-1-1-1水平边缘Prewitt算子10-110-110-1垂直边缘Prewitt算子对数字图像f (x , y ) , Prewitt 算子的定义如下:Gi = f ( i-1, j-1) + f ( i-1, j ) +f ( i-1, j+1) - f ( i+1, j-1) +f ( i+1, j ) + f ( i+1, j+1) Gj = f ( i-1, j+1) + f ( i, j+1) +f ( i+1, j+1) - f ( i-1, j-1) +f ( i, j-1) + f ( i+1, j+1) P ( i, j ) = max (Gi, Gj ) P ( i, j ) = Gi + Gj 经典Prewitt 算子认为: 凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值THZ , 若P ( i, j ) TH Z , 则( i, j ) 为边缘点, P ( i, j )为边缘图像。这种判定是欠合理的, 会造成边缘点的误判, 因为许多噪声点的灰度值也很大, 而且对于幅值较小的边缘点, 其边缘反而丢失了。经过Prewitt算子进行图像滤波得到的效果如下图所示: 图3.4.1Prewitt算子滤波后 图3.4.2Prewitt算子滤波后可以看出,得到的边缘也比较清晰,起到了预期的效果。3.4 Canny算子Canny 边缘检测算子是近年来在数字图像处理中广泛应用的边缘算子, 检测效果较优, 能够检测出图像较细的边缘部分。这主要是因为它是John Canny 从边缘检测算子应满足三个判断准则出发, 推导出的最佳边缘检测算子。(1) 好的信噪比准则: 即丢失真实边缘检测的概率要低, 同时将非边缘点误判为边缘点的概率也要低。(2) 定位精度准则: 好的定位性能是指检测出的边缘点要尽可能在实际边缘的中心。(3) 单边缘响应准则: 即单个边缘产生的多个响应的概率要低, 并且虚假的边缘响应应得到最大抑制。为了更好地分析实验数据和描述置乱度定义, 下面给出图像的纹理度定义。定义1 图像A=a ( x, y) mn 的Canny 边缘算子图像为Bb( i, j) mn, 其纹理度e 定义为:由定义知e 的取值范围为( 0, 1) , 图像结构越复杂, 细节越多, e的值就越接近于1。单一尺度的边缘检测算子不可能正确地检测出所有边缘,小尺度的边缘检测算子对于噪声较为敏感,但能够检测出灰度发生变化的细节;大尺度的边缘检测算子对噪声有抑制作用,能够检测出灰度发生的粗糙变化。因此将各个不同尺度下的边缘图像结合起来可提取出较理想的边缘图像。本文在Canny 边缘检测的基础上采用多个尺度做边缘检测,然后把各个尺度上的结果组合起来获得理想的边缘。具体步骤如下:(1) 确定图像所在的尺度集合定义一个有K 个元素的尺度集合k k = 0 ,1 , , K- 1 ,要满足以下几个条件:(a) k 是单调递增(或递减) 的;(b) |k -k - 1 | ;(c) k 要覆盖图像中各个边缘像元的尺度。由于每幅图像边缘的尺度都分布在一个范围内:0 max 。max 是这样确定的6 :通过采用连续平滑采样处理,直至图像灰度变化很小时找出max 。设经过n 次,用尺度为的高斯函数平滑采样图像后,图像的灰度变化小于允许值,则令max =2n - 1。尺度间隔满足0 0. 5 。在确定尺度集合k k = 0 ,1 , , K- 1时,对尺度进行等间距采样。(2) 用不同尺度的Canny 边缘检测算子分别检测出各个尺度上原始图像的边缘信息只是用到了Canny 算法的前两步,先对图像做高斯平滑,然后再用高斯方向导数作用图像,得到模图像。设尺度k 上的模图像为f k( r , c) , k = 0 ,1 ,., K - 1 ,即为原图像在各个尺度上的边缘信息。(3) 用多尺度合成算法得到新的边缘图像用最简单的求和方式把不同尺度的边缘信息结合起来:其中wk 为各尺度下的加权因子. 在无噪声或者噪声比较小的情况下,采用均值加权,即wk = 1PK ,此时在各个尺度检测的边缘对最终边缘的贡献一样大。对于含噪图像,采用非均值加权,为了提高抗噪声能力,可将大尺度的加权因子取得大一些,小尺度取得小一些。由此即可得到抗噪性能和细节保持兼顾的良好边缘。通过Canny算子进行图像边缘检测的效果如下图所示: 图3.4.1Canny算子滤波前 图3.4.2Canny算子滤波后可以看到,利用Canny算子进行滤波更好的刻画了图像的边缘,得到了基本上最优的边缘图像,并且边缘比较细化,更加贴切实际边缘信息。第四章 Hough变换4.1 Hough变换理论Hough 变换(Hough Transformation ,HT) 是利用图像的全局特性将边缘像素连接起来组成区域封闭边界的一种方法. 在预知区域形状的条件下,利用Hough变换可以很方便地得到边界曲线而将不连续的边缘象素连接起来。因此Hough变换快速直接地检测某些已知形状的目标。此外,Hough变换具有受噪声和曲线间断的影响小、大大降低计算量的优点。它是由Paul Hough 于1962 年以专利形式提出的,其实现的是一种从图像空间到参数空间的映射关系. Hough 变换不仅可以用来检测直线,也可以用来检测满足解析式f ( x , c) = 0 形式的各类曲线并把曲线上的点连接起来.Hough变换的原理是利用图像空间与参数空间的对应关系,将图像空间的检测问题转化到参数空间,通过在参数空间进行简单的累加统计来完成检测任务。Hough变换可以检测满足解析式f(x,c)= 0形成的曲线。这里x是一个坐标矢量c是一个系数矢量。从理论上讲,Hough变换的计算量和类加器尺寸随参数的个数呈指数增加,所以实际中Hough变换最适合检测较简单(即解析表达式只含有较少参数)的曲线上的点。圆的方程可以表示如下: (x a) 2 + (yb) 2R 2式中有三个参数 a,b,r,所以0需要在参数空间建立一个三维的累加数组A(a,b,r),根据具体图像计算出的每一个三元组(a,b,r),对A累加: A(a,b,r) = A(a,b,r)+1 如何计算三元组(A,b,R)是实现该算法的关键所在。已知,Hough变换的实质是把图像空间中的检测问题转化到参数空间。如果固定R,则参数空间与图像空间的对应可以用图4.1来说明。图4.1.1 Hough变换的参数空间图4.1所示的是圆的参数空间,图中的黑色小方块对应图像空间中的圆周上的点;而圆周则为可能的圆心位置。由此可见,在图像空间中共圆的点在参数空间中对应同一个点。从另一方面来说,图像空间中的点对应参数空间中的圆;参数空间中的点对应图像空间中的圆。也可称之为点圆对偶性。 Hough变换原本是用来检测平面内的直线和某些二次曲线的,但是在实际应用中,绝大部分物体的轮廓不能用直线来描述。因此,需要将Hough变换作进一步的推广。广义Hough变换,因其本身的数学特性所决定,可描述解析或非解析形状的曲线,故能有效地用于物体的识别、定位及边界方向的检测。 4.2随机 Hough变换(RHT) 由于经典Hough(CHT)变换存在很多缺点,因此再提出一种新的算法 (RHT),其算法思想已经脱离了Hough变换的基本定义。现在就以圆的检测为例阐述RHT的基本思想。 前面介绍基本原理中提到的几何法。我们可以任一选择三点目标象素点(x 1,y 1),(x 2,y 2),(x 3,y 3)联立方程: r 2=(a x 1) 2 + (b y 1) 2r 2=(a x 2) 2 + (b y 2) 2r 2=(a x 3) 2 + (b y 3) 2解出参数( a,b,r)用该参数所表示的圆 (x-a) 2 + (y b) 2 = r 2再图像空间中正好经过这三个特征点。 RHT的基本思想由此而来。首先,将所有的图像特征点存进一个几何D中,然后实现一个迭代过程,其变换过程包括以下三部分: (1) 每一步,等概率的从 D中取出一个特征点d 1=(x 1,y 1)然后从D-d 1中以 等概率方式取出另一个特征点d 2=(x 2,y 2),满足d 1不等于d 2。用同样的方法取出第三个特征值d 3=(x 3,y 3)满足d 1不等于d 2不等于d 3,利用联立方程解出参数 pi=(a,b,r),pi代表着经过特征点d 1,d 2,d 3的圆的参数。 (2) 使用一个参数数组 p来保存得到的参数pi,如果发现已经有一个相同的pi在p中;就将已有pi的计数值加1,否则增加一个新的元素保存pi,并将初始计数值赋值为1。 (3) 经过一定的步数,由于在 P中代表真实圆的参数pi会出现的概率比那些代表假圆的参数高,其相应的计数值也就比较高。找出P中那些出现次数大于一定阈值的参数来,认为这些参数代表着图像空间真实存在的圆的参数。 在实际运用中, RHT还有很多改进之处: (1) 集合 P中的元素可以按 照(a,b,r)的值进行排序,这将减少P中搜索相同元素所花的时间。 (2) 给定一个阈值,如果两个参数 Pi之间的欧氏距离小于,则认为这两个参数代表这同一个圆。通过求两参数的平均值得到一个新的参数Pi,用这个参数代替原来的参数,并将该参数的计数值加1。 (3) 如果一旦发现了一个 Pi,其累加值大于阈值,即表示找到了一个真圆,就可以立刻从图像空间特征点集合D中清除由属于Pi的特征点,然后清除参数集合P,重新进行检测过程。由于删除了大量的特征点,随后的检测过程运算量将大大降低,总体上既提高了变换速度,又提高变换质量。 不难看到,实现椭圆等的RHT过程与圆的方法类似,只是联立方程不同而已;对直线而言更是简单。 与CHT相比较,RHT有如下优点: (1)无限的参数分辨率。因为RHT不需要预先定义参数空间,也不需要对参数空间进行离散化,它保存的是参数数值,因为参数精度只受所使用数据类型的限制。 (2)高的参数分辨率。CHT的分辨率是有预先定义的角度和距离的离散值、r决定的,而RHT理论上分辨率可以无限的。实际运用时RHT只受阈值的影响,改变的大小就可 以动态改变分辨率。 (3)要的存储空间小。不需要预先分配存放参数的空间,RHT总的存储空间很小。 (4)速度快。通过建立合理的随机取样机制,可以大大降低运算量。 4.3 虹膜定位中Hough变换实现对于在虹膜定位问题中,由于是对于小范围图像进行搜索,同时,我们可以通过一些选择,来减小解空间的范围,首先可以判断,基本上虹膜的中心是在图片约中心的未知,再者,虹膜的半径是不能超过图片的长宽小者的一般的。所以在解空间的遍历上,我们可以选择图片中心的一个正方形区域进行遍历。算法的实现如下:/采用hough变换进行细定位public Round houghTransform(MemoryPaletted8Image mp8Img, Round round) / 所有边缘点集合List pointList = this.getPixelListFromImg(mp8Img, 2);int max = 0;/因为是细定位,所以循环量级全部都设为较小采样值2int increX = 2;int increY = 2;int increR = 2;Round maxRound = new Round();for (int centerX = round.getCenter().x-20; centerX round.getCenter().x+20; centerX += increX) for (int centerY = round.getCenter().y-20; centerY round.getCenter().y+20; centerY += increY) for (int r = 50; r mp8Img.getHeight()/2; r += increR) int currentMax = 0;for (int i = 0; i max) maxRound.setCenter(new Point(centerX, centerY);maxRound.setR(r);max = currentMax;return maxRound;/加入参数rate用于采样计算,这样可以有效降低时间复杂度private List getPixelListFromImg(MemoryPaletted8Image mp8Img, int rate) List pointList = new ArrayList();for (int i = 0; i mp8Img.getWidth(); i+=rate) for (int j = 0; j mp8Img.getHeight(); j+=rate) if (this.getPixelFromImg(mp8Img, i, j) = 255) pointList.add(new Point(i, j);return pointList;在算法的实现中,我们可以看到在提取特征点的时候,加入了rate参数,还有在hough变换的函数当中,加入了increX、increY、increR三个参数,这几个参数主要是用于进行采样率设定的,因为在算法的实现过程中,为了提高算法的效率,我们通过二步法进行处理,首先采用粗定位,定位出大概的一个(x、y、r)三元组。然后在这个三元组附近进行小范围浮动,再找出最优值,达到细定位的要求。采用hough算法进行虹膜内外边界检测的效果如下图所示: 图4.3.1 外边界hough变换前 图4.3.2外边界hough变换后 图4.3.3内边界hough变换前 图4.3.4内边界hough变换后从图中可以看出定位的效果是很为何边缘检测出的边缘的。第五章 其他定位方法5.1 Daugman 定位法该方法由英国剑桥大学的Daugman 教授提出。在拍摄获取的虹膜图像中, 灰度分布存在着一定的差异, 一般而言虹膜比瞳孔亮, 巩膜又比虹膜亮。再根据虹膜的形状类似圆环形的状况,Daugman 利用圆形检测匹配器的方法分割虹膜, 其数学模型为: (1)其中: I (x , y ) 为图像的象素; r 为圆周的半径; G 为对原图像进行平滑的高斯模板。式(1) 的数学本质是, 查找随着半径r 变化相应圆周上象素平均值变化最大的值所对应的( r,x 0, y 0) , 以此来确定瞳孔和虹膜的边缘以及虹膜与巩膜的边
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025采购折扣合同范本
- 2025年安培考试内容及答案
- 市场销售预估方案范本
- 防爆产品推广方案范本
- 河海花园三期施工方案
- 中控室安全管理方案范本
- 地下室防水修复施工方案
- 商铺规范整治方案范本
- 南阳小型保鲜库施工方案
- 北京幼师考试真题及答案
- 合肥市社会化工会工作者招聘考试真题2024
- 2025年安全员b证考试安徽省题库及答案解析
- 首台套申报培训课件
- GB/T 14193.1-2025液化气体气瓶充装规定第1部分:工业气瓶
- 保安安检培训课件
- 2025年肝素行业研究报告及未来行业发展趋势预测
- 2025年脚手架租赁合同3篇
- 《CSCO乳腺癌诊疗指南2025》更新要点解读
- 医院工作纪律培训课件
- 营房装修施工方案(3篇)
- 品牌基础知识培训内容课件
评论
0/150
提交评论