指纹识别系统的简述
指纹识别提取的特征点有两个地方,一个是结束点和分叉点。
而指纹的自动匹配就是取决于这些区域对比的特征以及关系来达到识别的目的。
这些细节点比对的正确程度又很大的依赖于输入指纹的质量。
所以提高输入指纹的图片质量成为了识别的基础。
指纹图像加强步骤
步骤简述
grey-level fingerprint image:用matlab计算出图片的平均值mean 以及方差varianc.
orientation image:显示指纹图像的纹路方向
frequency image:显示指纹脊谷沿着该区域的指纹方向的频率
region mask:判断指纹是否可恢复,可修复的指纹图像才能进入滤波器步骤
Gabor filter:使图像平滑,消除原始图像噪点
上两周与导师在时间方面做了一次交流,对第一步标准化得灰值图在matlab上进行了试验。
我们输入一个图像Image进去以后,通过matlab计算出它原始的平均值mean以及方差variance,分别记为M(I)和VAR(I),然后再输入我们的期望M以及期望VAR,将计算出M(I)和VAR(I),期望M以及期望VAR带入公式得出一个期望的G(i,j),得到一个标准化得灰值图。
具体步骤的实施
1.标准化
用论文中的公式计算出期望的灰度值,公式中包含期望的均值和方差以及已计算出的图像本身的均值和方差,得到标准化后的灰度图像G。
2.方向性图像
图片会沿着指纹的方向显示出脊谷的方向,是一个指纹图像固有的特性。
1)将标准化后的图像G按块分。
2)计算每个像素中x与y方向上的梯度(利用Sobel Operator 索贝尔算子)
3)运用论文中所给等式估计出每块的区域的中心方向。
(最小二乘估计)
4)由于噪点的存在,毁坏了指纹的脊谷结构和细节点,所以我们所估计的方向未必准确。
又因为在没有单个点出现的区域以及邻域当中脊谷的方向变化不大,所以我们可以用低通滤波器去修改不正确的区域方向。
为了得到这个滤波器我们可根据论文中等的公式将方向图像转化为一个连续的矢量场。
5)再计算一次正确的方向
3.脊谷的频率图像
1)将标准化后的图像G按块分。
2)将每一块的中心像素出计算一个方向窗口然后计算sin函数,使这个sin函数半周期刚好等于指纹脊或者谷的宽度。
3)两个连续的峰值就可以根据公式计算出来,是周期的倒数。
如果没有两个连续的峰值,则得到-1,区别于有效的频率值。
4)因为指纹图像的扫描是在一个固定的分辨率里面的,所以它的区域频率值也是在固定的范围里面的。
5)如果区域块的细节点或者脊谷被破坏或者出现单个点而不能定义一个好的sin函数,那么我们需要根据公式插入一个能定义好的邻域的sin函数。
4.区域掩盖
一个输入的指纹要么就是可修复的要么就是不可修复的,而他们的区分是在脊谷波形的形状的评估的基础之上。
而三个性质用来描绘sin函数波形的形状:振幅,频率肠易激方差。
如果区域图像可恢复,则R(i,j)=1,否则R(i,j)=0.(R为recoverable mask)一旦得到R图像以后,如果可修复的区域小于一个极值40,则这个输入的图像将会被拒绝,只有通过这个评估的可恢复的图像才能进入下一步滤波器的步骤。
5.滤波器
滤波器是用来降噪的,使图像变得平滑。
一个sin波形的脊谷在区域上方向变化是缓慢的,因此一个可以与频率和方向匹配的带通滤波器,可以用来有效地降噪并且很好的保护原来的脊谷结构。
因为盖波滤波器有频率选择以及方向选择的性质,而且能在空间和频率当中选择最佳的分辨率连接点,所以此处适合使用盖波滤波器。
为了确定一个盖波滤波器,三个参数必须确定:sin波形的频率,滤波方向,高斯包络的标准误差。
则可根据G,O,F,R带入公式得到加强图像E。