指纹识别算法综合比较.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SZU-TI DSP Lab 9
梯度值计算
采用sobel算子计算各象素点I(i,j)的梯度值Gx(i,j),Gy(i,j)
-1 -2 -1 (i,j)
121
-1
1
-2 (i,j) 2
-1
1
改进
-2 -5 -2 (i,j)
252
-2
2
-5 (i,j) 5
-2
2
Gx (i, j) = −I (i −1, j −1) − 2I (i −1, j) − I (i −1, j +1) + I (i +1, j −1) + 2I (i +1, j) + I (i +1, j +1) Gy (i, j) = −I (i −1, j −1) − 2I (i, j −1) − I (i +1, j −1) + I (i −1, j +1) + 2I (i, j +1) + I (i +1, j +1)
m=− w−1 n=− w−1
2
2
其它几种表达式(我认为不严谨)
ww
பைடு நூலகம்

22
I (i, j) = ∑ ∑ h(m, n : ϕ, f ) • I (i − m, j − n)
m=−w n=−w 22

w−1 w−1
I (i, j) = ∑ ∑ h(m, n : ϕ, f ) • I (i − m, j − n)
V ×[I (i, j) − M 0 ]2 V0
若I (i, j) > M 0 若I (i, j) ≤ M 0
M0,V0为预置的规格化后的图像的灰度均值和方差(通常均取为100)

I(i, j), I(i, j)分别为规格化前后的图像的像素值
SZU-TI DSP Lab 7
归一化效果
我的结果怎么就不是上面这样呢
SZU-TI DSP Lab 17
图像增强-Gabor滤波
由于指纹采集设备的不完善性,对于干,湿,脏,老化,磨损 的指纹,往往难以采集到清晰的图像. 根据指纹图像局部区域的纹线分布具有较稳定的方向 和频率,设计相应的带通滤波器,能有效地在局部区域 对指纹进行修正和滤噪. Gabor滤波器可以在空域和频域上获得最佳的分辨率, 具有良好的带通性和方向选择性.
i
+
w−1 2
j
+
w−1 2
∑∑ ∑∑ θ (i,
j) =
1 arctan[ 2
2Gx (u, v)Gy (u, v)
u
=i

w−1 2
v=
j

w−1 2
i
+
w−1 2
j
+
w−1 2
]
(Gx2
(u,
v)

G
2 y
(u,
v))
2
u
=i

w−1 2
v=
j

w−1 2
SZU-TI DSP Lab 11
计算邻域方向场的”一致性水平”
SZU-TI DSP Lab 16
图像分割(前景区,背景区,噪声区)
目的:保留前景区和可恢复的噪声区,去除剩下的区域. 原因:模糊部分通过二值化,细化后,必会造成大量的伪特
征点.影响匹配精度. 方法:分块,分别计算方差,方差小于一经验域值,则将该块
判为不可恢复区域.严重模糊的块,其方差小.
对于我们所处理的图像和目的,可以不需要这个步骤
SZU-TI DSP Lab 5
预处理-平滑滤波

I = I ⊗Ts
⎡1 1 1⎤
Ts
=
1 10
× ⎢⎢1 ⎢⎣1
2 1
1⎥⎥ 1⎥⎦
这个模板取多大合适,系数怎样取更合理
SZU-TI DSP Lab 6
图像规格化

⎪M +

I (i,
j)
=
⎪ ⎨
⎪⎪⎩M −
V ×[I (i, j) − M 0 ]2 V0
m=0 n=0
SZU-TI DSP Lab 22
图像增强效果(lin hong)
SZU-TI DSP Lab 23
二值化(局域自适应二值化算法)
把图像分成w×w(w为一个纹线周期)的子块,计算每一块 内灰度平均值:
w−1 w−1
∑ ∑ AV = 1
2
2
I (i, j)
w × w i=− w−1 j=− w−1
iDir
=
⎧ iMax ⎩⎨iMax +
4
if
abs(Gray − Gmean[iMax]) < abs(Gray − Gmean[iMax + 4]) otherwise
即取灰度平均值与该像素的灰度值比较接近的方向作为该像素的脊线方向
然后再对16×16邻域内所有像素的方向的平均值作为该小块的脊线方向;具体做法 :
i=0
改进 : (吴建明)
L
∑ Vd = I d (i, j) − I d (im , jm ) m=1
I d (i, j)是取d方向上的灰度均值, 相当于进行了一次均值滤波 同时应考虑其垂线方向的Vd 值应相对较大.
把点方向图分成16×16大小的块,计算方向直方图,峰值方向即该块的方向. 即为块方向图

f (x, y) =
max {g(s,t)}
( s,t )∈S xy

f (x, y) =
min {g(s,t)}
(s,t )∈Sxy

f (x, y) = g(s,t)
if g(x, y) > max {g(s, t)} ( s,t )∈Sxy
if g(x, y) < min {g(s, t)} ( s,t )∈Sxy otherwise
h(m, n)为Gabor滤波器系数分量
σ x ,σ y取12(4),增大, 对噪声的适应能力增强,有可能会产生伪纹线, 减少的后果是消除噪声的作用减弱
另一种写法为(更合理) : x = m cosϕ + n sinϕ
(m,n)取值范围:i-3~i+3还是i+1~i+7
y = −m sinϕ + n cosϕ
SZU-TI DSP Lab 12
基于邻域方向模板法
取方向模板的方向数N=4或N=8.
123 0 (i,j) 0 321
2
3
4
5
6
1
23456
7
1
7
0
0 (i,j) 0
0
7
1
65432
1
7
6
5
4
3
2
B.M .Mehtre :
L
∑ Vd = I (i, j) − Id (im , jm ) m=1
θ p (i, j) = d , d满足Vd = mN i−n1 (Vi )
( σ
2 x
+ y2
σ
2 y
)⎪⎬⎫ cos(2πfx) ⎪⎭
x = (m − j) cosϕ + (n − i) sinϕ
7×7Gabor filter
(m,n)
y = ( j − m) sinϕ + (n − i) cosϕ
(i,j)
(i, j)为当前点坐标
ϕ为当前点(块)的方向
f为当前块(整体)的正弦平面波的频率
指纹图像预处理是最重要的一步,关系到后面提取的特征点的正确与否.
SZU-TI DSP Lab 4
预处理-最值滤波去单点噪声
最值滤波
最大值滤波器: 最小值滤波器:

f (x, y) =
max {g(s,t)}
( s,t )∈S xy

f (x, y) =
min {g(s,t)}
(s,t )∈Sxy
改进:
T (i, j)
如果方向窗口内没有细节点和单点,X[k]形成一个离散正弦波,这个正弦波的 频率即为脊线和谷线交替的频率.
在求取正弦波峰峰间距之前,对其进行一次低通滤波,可消除混叠的毛刺噪声.
SZU-TI DSP Lab 15
脊线频率估计
通过FFT计算频率,因为对于一个指纹图像,脊线与谷线之 间的交替频率是大致上相等的,故可用一个频率值确定. 问题是二维FFT的结果与频率值之间的对应关系?
SZU-TI DSP Lab 8
方向图估算
方向图是使用每一个象素点的方向来表示指纹图像的, 像素点的方向是指其灰度值保持连续性的方向,可以根 据象素点邻域中的灰度来判断. 根据指纹纹线方向在局部区域内基本一致的特点,先把 图像分块,然后计算每一个小块的纹线方向,最后用该 方向来代表对应图像块内各个象素的方向.(??) 我的看法:对每一点计算方向角,再取邻域进行平滑处 理,结果代表单点的方向角.
if Gmean [i] ≥ Gmean [ivar ] otherwise
此处没有反向表示 用程序实现后,效果很差,对于纹线均匀的区域,效果还可以
SZU-TI DSP Lab 26
Otsu,N.,June 1990(1979)
A Threshold selection Method from Grey-level Histograms. IEEE Transactions Analysis and Machine Intelligence. 据说这篇文章介绍的对指纹二值化是最好的方法,但找不到这
SZU-TI DSP Lab 13
基于邻域方向模板法
罗希平,田捷 先求出各方向的平均灰度值Gmean[i],i = 0 ~ N −1 Gdiff [ j] = abs(Gmean[ j] − Gmean[ j + 4]), j = 0,1,2,3 取差值的绝对值最大值的两个方向为可能的脊线方向. 即: iMax = arg(Max(Gdiff (i)) 方向iMax和iMax + 4为该像素处可能的脊线方向:
SZU-TI DSP Lab 18
Gabor滤波器
Gabor函数是唯一能达到时频测不准关系下界的函数,二维表示 :
H (x, y)
=
1
2πσ xσ y
exp⎪⎨⎧− ⎪⎩
1 x2
(
2
σ
2 x
+
y2
σ
2 y
)+
j

x
x
+
σ
y
y
)⎪⎬⎫ ⎪⎭
Gabor函数是二维高斯函数在空间频率域的平移函数, σx,σy为对应于X方向和Y方向的角频率平移参数.
(m,n)取值范围:-3~3还是1~7
SZU-TI DSP Lab 20
Gabor filter的时域,频域图
SZU-TI DSP Lab 21
Gabor 滤波
对于每一点,根据其方向,频率,求出Gabor滤波器系数,然后根据 下式计算当前点滤波后的值
w−1 w−1

2
2
I (i, j) = ∑ ∑ h(m, n : ϕ, f ) • I (i + m, j + n)
先计算小块内方向估计为i(i = 0,1,L7分别代表8个方向)的像素个数Num[i], 然后将该块图像的脊线方向取为: Dir = arg(Max(Num[i])
此处有个前后说法不一的错误
SZU-TI DSP Lab 14
脊线频率估计[1/3,1/25]
F (i, j) = 1
T (i, j)是两个连续峰值之间的平均像素个数
有的直接采用差分计算梯度(Rao’s algorithm)
Gx (i,
j)
=
I (i
+ 1,
j) − 2
I (i
−1,
j)
,
Gy (i,
j)
=
I (i,
j
+ 1)
− 2
I (i,
j
−1)
哪个方向为x
SZU-TI DSP Lab 10
根据梯度值计算方向
取W×W窗口计算块方向,W取奇数,过大过小都不能反应 局部块方向.取值根据图像分辩率的大小进行调节,取11.
二值化时,将图像反向表示(便于后面程序的逻辑判断) m,n取值不可过小,论文上取5,我认为太小,取9较合适 该程序对于边缘像素的处理较麻烦
SZU-TI DSP Lab 25
根据方向场对图像二值化
根据罗希平,田捷 得到图像每个像素处的方向场后,再根据方向场来对图像进行二值化.
I
(i,
j)
=
⎧1 ⎩⎨0
∑ C0
=
1 N
θ (i`, j`) −θ (i, j) 2
(i`, j`)∈D
D取5× 5邻域, N为邻域内象素个数
θ `−θ
=
⎧d
⎨ ⎩
d
if −180
d = (θ `−θ + 360) mod 360 < 180
otherwise
如果一致性水平C0大于给定的域值TC(说明此处方向变化太 快),则此区域附近的方向将以更小的分辨率反复估算直到C0 小于TC ??此处更小的分辨率指的是什么,是指将D取的邻域缩小吗?
指纹识别算法综合比较
唐超伦 深圳大学信息工程学院TI DSP实验室
2004.09.08
1
指纹识别的步骤
获取图像 预处理 细化 提取特征 匹配算法
SZU-TI DSP Lab 2
获取图像
电子扫描仪(scanner) 光学成像 传感器成像(本文)
SZU-TI DSP Lab 3
指纹图像预处理
充分利用指纹图像的方向性,频率性,一致性 滤波去噪 图像规格化 方向图估算 脊线频率估算 图像分割 图像增强
二维Gabor函数的实部和虚部可各自表示为一个函数,分 别称为偶Gabor和奇Gabor函数.偶Gabor函数适于增强目 标物体,而奇Gabor函数适于增强物体边缘.
SZU-TI DSP Lab 19
Even Gabor Filter
h(m, n)
=
1 2πσ xσ
y
exp⎪⎨⎧− ⎪⎩
1 x2
2
2
2

I (i,
j)
=
⎧1 ⎩⎨0
if I (i, j) < AV otherwise
SZU-TI DSP Lab 24
二值化(对每点取域值)
m−1
n−1
∑ ∑ T (i, j) = 1
2
2
I (m, n)
m × n m=i− m−1 n=i− n−1
2
2

I (i,
j)
=
⎧1 ⎩⎨0
if I (i, j) < T (i, j) otherwise
相关文档
最新文档