虹膜图像预处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虹膜图像预处理
在实际获取的图像中,虹膜只占一部分区域。图像中还包括瞳孔、眼睑、睫毛及眼睛和人脸的其它部分。所以,在对虹膜纹理特征进行提取之前,要把虹膜区域从图像中分割出来。其分割准确与否直接影响到后面的特征提取及匹配精度,即如果分割不准确,则虹膜识别效果就差,很可能造成误判,使识别算法失效。针对Canny[2]算法优良的边缘检测性能及虹膜边界的特点,本文采用了该算法,与Hough变换相结合,用于定位虹膜内外边界、分割上下眼睑,采用阀值法剔除睫毛。
2.1 虹膜内外边界的定位
虹膜的内边界即内边缘与瞳孔相交接的部分,外边界即外边缘与巩膜相交接的部分,均近似为圆形,因此定位虹膜内外边界就是要确定这两个拟合圆的圆心和半径。
2.1.1 Canny算子和Hough变换的基本原理
(1)Canny边缘检测算子
边缘是图像的基本特征,保留了原始图像中相当重要的信息,而又使得总的数据减小了很多。准确提取边缘既能减少图像处理的信息量,又可重点描述物体的形态特征。传统的边缘检测算子如Roberts、Sobel、Prewitt、Kirsch和Laplacian 等算子都是局域窗口梯度算子,由于它们对噪声敏感,所以在处理实际图像中效果并不理想。1986年,Canny提出边缘检测算子应满足以下3个判断准则:信噪比准则;定位精度准则;单边缘响应准则,并由此推导出了最佳边缘检测算子--Canny算子。该算子具有定位精度高、单一边缘和检测效果好等优点。它主要分以下四步:
○1平滑图像
Canny边缘检测算子是高斯函数的一阶导数,是对信噪比与定位精度之乘积的最优化逼近算子。选择合适的高斯低通滤波器来平滑原始的虹膜图像,既可以取得更加柔和的平滑效果,又不至于破坏图像中的边沿,同时还可以消除原始图像的高频噪声。Canny算法首先用二维高斯函数的一阶导数,对图像进行平滑,设二维高斯函数为:
22
22
1
(,)exp()22x y G x y πσσ+=-
(2.1)
其梯度矢量为:
G x VG G y ⎡⎤
∂∂=⎢⎥∂⎣⎦
(2.2)
把G 的2个滤波卷积模板分解为2个一维的行列滤波器:
22
1222exp()exp()()()22G x y kx h x h y x σσ∂=--=∂ (2.3)
22
1222exp()exp()()()22G y x ky h y h x y σσ
∂=--=∂ (2.4)
其中,k 为常数,σ为高斯滤波器参数,它控制着平滑程度。σ小的滤波器,
虽然定位精度高,但信噪比低;σ大的情况则相反,因此要根据需要适当地选取高斯滤波器参数σ。 ○
2计算梯度的幅值和方向
传统Canny 算法采用22⨯邻域一阶偏导的有限差分来计算平滑后数据阵列
的梯度幅值和梯度方向。其中,x 和y 方向偏导数的2个阵列[],x P i j 和[],y P i j 分别为: [][][][][],(,1,1,11,)2x P i j I i j I i j I i j I i j =+-+++-+ (2.5) [][][][][],(,1,,11,1)2y P i j I i j I i j I i j I i j =-+++-++
(2.6)
像素的梯度幅值和梯度方向用直角坐标到极坐标的坐标转化公式来计算,用
二阶范数来计算梯度幅值和方向,分别为:
[],M i j =
(2.7) [][][](),arctan ,,y x i j P i j P i j θ=
(2.8)
○
3 对梯度幅值进行非极大值抑制
为了精确定位边缘,必须细化梯度幅值图像[],M i j 中的屋脊带,只保留幅值
局部变化最大的点,这一过程就是非极大值抑制。如图2-1。
在非极大值抑制过程中,Canny 算法使用33⨯大小、包含8个方向的邻域对
梯度幅值阵列[],M i j 的所有像素沿梯度方向进行梯度幅值的插值。在每一个点上,邻域的中心像素[],m i j 与沿梯度方向的2个梯度幅值的插值结果进行比较,
[],F i j 是像素邻域中心处沿着梯度方向的扇形区域,非极大值抑制在此区域进行。如果邻域中心点的幅值[],m i j 不比梯度方向上的2个插值结果大,则将[],m i j 对应的边缘标志位赋值为0,这一过程把[],M i j 宽屋脊带细化为一个像素宽,并且保留了屋脊的梯度幅值。非极大值抑制(Non -Maxima Suppression,NMS)过程的数学表示为:
[][][],(,,,)N i j NMS M i j i j ζ=
(2.9)
100
1
2
2
3
3
7
81234
5
6
图2-1 Canny 算子非极大值抑制
○
4 检测和连接边缘
双阈值算法是对经过非极大值抑制的图像[],N i j 分别使用高、低2个阈值h
S 和l S 分割得到2个阈值边缘图像[],h T i j 和[],l T i j 。由于图像[],h T i j 是由高阈值得到的,因此它应该不含有假边缘,但[],l T i j 可能在轮廓上有间断。因此双阈值算法要在[],h T i j 中把边缘连接成轮廓,当达到轮廓端点时,该算法就在由低阈值得到的边缘图像[],l T i j 的8邻域位置寻找可以连接到轮廓上的边缘,这样,利用递归跟踪的方法不断地在[],l T i j 中搜集边缘,直到将[],h T i j 中所有的间隙都连接起来为止。
(2)Hough 圆检测