发明内容
本发明的目的在于克服现有技术中的不足,提供一种扩展相位相关的滑动指纹序列无缝拼接方法,使其在不同滑动速度和不同弹性形变下,拼接方法依旧能够获得高质量的指纹图像。
本发明是通过以下技术方案实现的,本发明首先利用基于块匹配的运动估计得到相邻两帧指纹图像之间的象素级平移量,然后根据扩展的相位相关得到亚象素级平移量估计,最后利用线性弹性模型对拼接得到的图像进行缝隙自适应去除。
本发明包括以下具体步骤:
1、滑动指纹序列的象素级平移量的检测
首先用平移运动(Translational Motion)来近似相邻两帧指纹图像之间的位置关系,即在相邻两帧指纹图像的重叠区域对应象素的灰度值存在如下关系:Fi+1(x,y)=Fi(x+Δx,y+Δy),其中(Δx,Δy)是前一帧指纹图像Fi与后一帧指纹图像Fi+1之间的偏移量。
为了求得偏移量(Δx,Δy),本发明使用基于块匹配的运动估计方法来检测象素级偏移量。在Fi中取一个中心在(x0,y0)、大小为(Hb×Wb)的块BS,在Fi+1中寻找与块BS大小一样的最匹配的块BS′,然后根据块BS′的中心坐标与(x0,y0)之间的对应关系求得偏移量(Δx,Δy),具体步骤如下:
将BS按列排序形成一个向量G={gi}i=1,2,…,N,其中N=Hb×Wb,根据相邻两个元素之间的大小关系得到一个对应的增量符号二值序列B={bi}i=1,2,…,N-1:如果gi>gi+1,则bi=1;否则bi=0。在Fi+1任取一个中心在(x,y)、大小为(Hb×Wb)的块BS′,得到对应的增量符号二值序列B′={b′i}i=1,2,…,N-1,比较B与B′这两个增量符号二值序列之间的增量符号相关性
,其中~表示取反,表示异或。对所有可能的(x,y)都遍历一次,设对应rc(x,y)取得最大值的(x,y)为(x1,y1),则要检测的偏移量为(Δx,Δy)=(x0-x1,y0-y1)。
2、滑动指纹序列的亚象素级平移量的检测
对等式Fi+1(x,y)=Fi(x+Δx,y+Δy)两边做傅立叶变换,得到如下关系式:
ζi+1(u,v)=ζ(u,v)·e2πj(uΔx+vΔy),归一化后得:
其中ζ是由F傅立叶变换得到的,ζ(u,v)*是ζ(u,v)的共轭复数,Q(u,v)称之为归一化的相位相关矩阵。用一次多项式P(x)=p1x+p2对奇向量(Singular Vector)v=e2πjuΔx和v=e2πjvΔy对应的相位角(unwrap(∠v))分别进行最小二乘拟合,可得亚象素级的偏移量估计:
由于以最大增量符号相关性为准则的块匹配运动估计,要想获得亚象素级的偏移量估计一般得使用多分辨率的概念,这相应的增加了计算量。同时基于扩展相位相关方法获得的亚象素级偏移量估计,在相邻两帧指纹图像重叠面积小于每帧指纹图像面积的30%时,偏移量估计就不一定准确了。因此,本发明结合这两种方法的优缺点,对估计得到偏移量按如下规则进行取舍:当|Δx-Δx′|>1时,在x方向上的偏移量估计为Δx,否则为Δx′。同理对y方向上的偏移量做类似处理。设最后估计得到的偏移量为(Δx0,Δy0)。
3、缝隙自适应去除
由于滑动指纹序列在采集时,手指按压采集仪接触面的压力不均,使得相邻两帧滑动指纹图像之间存在着不同的弹性形变。如果只是假设相邻两帧滑动指纹图像之间存在平移的话,拼接得到的指纹图像会存在缝隙。事实上,可以认为前一帧滑动指纹图像是没有弹性形变的,而后一帧是经过弹性形变得到的。这样,相邻两帧滑动指纹图像之间就符合一个线性弹性形变模型,(x,y,t):R2×R→R2,这里(x,y,t)表示一个象素(x,y)在时刻t的空间位置。对任一给定的象素(x,y),(xS,yS)=(x,y,0)表示其弹性形变前的位置,(xE,yE)=(x,y,tE)表示其经过弹性形变后的位置。(x,y,t),0≤t≤tE表示给定象素(x,y)弹性形变的轨迹。虽然,手指在各部分的弹性形变往往都不一样,但是对一个小区域Ro(也就是手指中的一小块)来说,其内部每个象素的弹性形变可以假定是一样的,满足一个刚体变换。即有:(x,y,tE)=A·(x,y,0)+b,这里b=(xb,yb)∈R2表示一个平移向量,A∈R2×R2表示一个旋转矩阵,且ATA是一个2×2的单位矩阵,A的行列式为1。
为了满足拼接算法在移动设备中实时处理速度的要求,将上述的小区域Ro简化为Na×(Hb-Δy0)的小矩形,在这个假设下A就简化为一个单位矩阵了。由于同一帧滑动指纹图像内各个小矩形的弹性形变幅度都应该很小,不妨假定每个小矩形在垂直和水平方向上的偏移量都不超过ΔS。下面是本发明提出的缝隙自适应去除算法:将小矩形在x方向移动m个象素,计算移动后得到的矩形与上一帧滑动指纹图像在重叠区域的灰度差的绝对值累加和Sm,找出Sm取得最小值所对应的m作为xb;同理得到yb,最后得到平移向量(xb,yb)。
得到每一个小矩形对应的平移向量以后,还要对这些小矩形做仿射变换。因为对左右相邻的两个小矩形来说,左边小矩形的右面那条边和右边小矩形的左面那条边应该是重叠的,但是这些小矩形经过各自平移向量的移位以后,可能会成为梯形。利用仿射变换可以将这些梯形转化为右面那条边和原来小矩形右边那条边重叠的四边形。
本发明利用最大增量符号相关性作为准测函数的块匹配运动估计方法,由于将图像先转化为二值的一维信号来处理,因此处理速度很快,很容易通过硬件来实现和加速。在利用扩展的相位相关的亚象素级偏移量的估计方法中,由于可以利用快速傅立叶变换来替代傅立叶变换,处理速度也很快。
为了提高拼接方法对噪声的鲁棒性,抑制其中存在的混叠和边界效应,本发明还引入椭圆形二值掩码滤波和Kaiser窗函数来提高偏移量估计的正确率。椭圆形掩码滤波的定义如下:
0<κ1,κ2≤1。对应的椭圆形二值掩码滤波函数为:
。将椭圆形二值掩码滤波函数ξ对归一化相位相关矩阵Q进行滤波来抑制混叠现象,即:Q=Q·ξ。一维的Kaiser窗函数K(L,β)定义:
其中,L和β分别是窗口函数的两个参数,对应椭圆函数的长轴和短轴,B0(x)是0阶Bessel函数。推广到二维的Kaiser窗函数:Wk=K(λ1H,β)T·K(λ2W,β)T,0≤λ1,λ2≤1。其中λ1和λ2是两个权重系数。在对图像做傅立叶变换前,利用二维的Kaiser窗函数对图像进行滤波,来抑制边界效应。
本发明利用基于最大增量符号相关性作为匹配准则的块匹配运动估计方法,不仅能方便的在硬件中实现和加速,并且对相邻两帧指纹图像之间重叠面积的要求很低,鲁棒性很强。本发明利用了扩展的相位相关方法来检测相邻两帧指纹图像之间的偏移量,不但可以获得高精度的偏移量估计,而且可以通过FFT来替换傅立叶变换,提高拼接的速度。本发明利用了线性弹性形变模型,利用这个模型可以自适应的去除拼接图像中的缝隙,提高拼接得到指纹图像的质量。本发明提出的拼接方法,通过调整相应的参数设置以后,可以适用于各种现有的滑动指纹采集模块。将集成了本发明拼接方法的滑动指纹采集和拼接模块打包封装后,可以应用于各类移动设备中。
具体实施方式
为了更好地理解本发明的技术方案,以下结合附图及具体的实施例作进一步描述。
本发明采用瑞典FINGERPRINT CARDS公司FPC1031B系列的滑动指纹采集仪,这种滑动指纹采集仪采集到的指纹序列每帧图像的大小为32×152(W=152pixel,H=32pixel),分辨率为363dpi,图1是用这种采集仪采集到的滑动指纹序列,表1是本发明拼接方法中所用到参数的设置。
表1初始参数
实施例
1、滑动指纹序列的象素级平移量的检测
图2显示了基于块匹配运动估计的原理图,各种不同的块匹配法在以下三个方面存在着差别:1)匹配准则;2)搜索策略;3)块大小的选择。本发明采用最大增量符号相关性作为匹配准则,由于其中主要涉及二值运算,便于在硬件上实现。由于手指在滑动指纹采集仪表面滑动的方向是一致的,不妨假设手指是从上到下滑动的。这样,前一帧指纹图像的下方区域与后一帧指纹图像的上方区域重叠。据此,本发明根据表1中设定的(x0,y0)和(Hb×Wb)值来检测偏移量的值。图3是两幅图像之间存在平移的增量符号相关性三维显示,可以看出,在偏移量对应位置存在一个明显的波峰。
2、滑动指纹序列的亚象素级平移量的检测
为了验证本发明拼接方法估计得到偏移量的准确性,我们从同一图像中人为的截取两帧图像,并在图像中人为的加入高斯白噪声,它们之间的偏移量为(x,y),根据块匹配运动估计得到的偏移量为(Δx,Δy),结合块匹配运动估计和扩展相位相关方法检测得到的偏移量为(Δx0,Δy0),并引入变量γ来说明本发明拼接方法对相邻两帧指纹图像重叠面积的鲁棒性。这里γ表示重叠面积与每帧指纹图像面积的比值,其中小于1的偏移量通过下采样(downsample)来实现。
表2偏移量检测的仿真实验
(x,y) |
(Δx,Δy) |
(Δx0,Δy0) |
γ |
(0.0000,0.0000) |
(0,0) |
(0,-1.2673e-016) |
1 |
(0.0000,0.5000) |
(0,0) |
(0.0000,0.5156) |
0.9967 |
(0.2500,0.2500) |
(0,0) |
(0.2502,0.2496) |
0.9906 |
(0.5000,0.2500) |
(1,0) |
(0.4952,0.2398) |
0.9828 |
(0.5000,0.5000) |
(1,0) |
(0.5166,0.4782) |
0.9811 |
(5.0000,5.0000) |
(5,5) |
(5.0213,5.0090) |
0.8160 |
(10.0000,5.0000) |
(10,5) |
(10.0127,4.9882) |
0.6649 |
(14.0000,5.0000) |
(14,5) |
(14.0116,4.9665) |
0.5440 |
(20.0000,5.0000) |
(20,5) |
(20.0236,5.0106) |
0.3627 |
(24.0000,5.0000) |
(24,5) |
(24.0275,5.0078) |
0.2418 |
(28.0000,5.0000) |
(28,5) |
(28.0000,5.0186) |
0.1209 |
(30.0000,5.0000) |
(30,5) |
(30.0000,5.0163) |
0.0604 |
由表2可以看出,基于块匹配运动估计和扩展相位相关的拼接方法可以检测得到亚象素级精度的偏移量,即使在γ≤0.1的时候,估计得到的(Δx0,Δy0)依旧准确。
3、缝隙去除
如图4所示,左边的图是没有做缝隙去除的效果,右边的图是去除缝隙后的效果,可以看出,缝隙去除后的指纹图像明显光滑了很多。图5是根据本发明所提出的拼接方法拼接得到的指纹图像。
本实施例基于扩展相位相关方法的滑动指纹无缝拼接方法,拼接得到的指纹图像与U.are.U4000光学指纹采集仪采集得到的指纹图像之间的特征点和相似度比较结果见表3。拼接效果的好坏,除了可以主观的从视觉上分析拼接图像中是否有明显的缝隙存在以外,是否产生伪特征点或者造成真正特征点丢失,也是很重要的一条衡量准则。相似度的值在0到1之间,值越大表示两幅指纹图像越相似。从表3可知,拼接得到的图像与U.are.U4000采集得到的图像,相应的相似度都大于0.150,这时候可以判定两幅图像是匹配成功的。
表3特征点以及相似度比较
随机选择的样本 |
从拼接图像检测到的特征点数 |
从U.are.U4000指纹图像检测到的特征点数 |
相匹配的特征点对 |
相似度 |
1 |
25 |
37 |
22 |
0.178 |
2 |
23 |
29 |
18 |
0.445 |
3 |
22 |
35 |
18 |
0.195 |
4 |
38 |
35 |
28 |
0.188 |
5 |
30 |
34 |
23 |
0.365 |
6 |
19 |
20 |
14 |
0.320 |
7 |
25 |
36 |
18 |
0.275 |
8 |
46 |
42 |
27 |
0.370 |
9 |
37 |
40 |
26 |
0.560 |
10 |
25 |
23 |
15 |
0.235 |