指纹增强方法及指纹识别装置
技术领域
本发明涉及图像处理技术领域,具体涉及指纹识别处理技术。
背景技术
生物特征识别技术是为了进行身份验证而采用自动技术测量其身体的特征或是个人的行为特点,并将这些特征或特点与数据库的模板进行比较,完成认证的一种解决方案。作为生物识别技术中最为成熟和方便的成员,指纹识别技术已成功应用于社会的各个领域。如:门禁、考勤系统、电子商务、ATM自动提款机以及罪犯身份鉴定系统等。
在指纹自动识别系统中,指纹图像增强是一项关键的技术,指纹图像增强的目的有:(1)平滑噪声,(2)提高指纹中脊线和谷线的对比度,(3)连接断裂的脊线和谷线。然而,指纹采集过程中通常伴随着各种各样的噪声,一部分是由于采集仪器造成的,如采集仪上的污渍,仪器参数设置的不恰当等。另外一部分是由于手指的状态造成的,如手指过干、太湿、伤疤、脱皮等。这些噪声的存在,往往会导致指纹特征的提取与原来指纹的特征会产生很大的偏差。
目前常用的指纹增强算法有:(1)Gabor滤波增强;(2)基于FFT的频率增强算法;(3)基于知识的指纹增强算法;(4)基于非线性扩散的模型的增强算法。上述算法都在一定程度上存在问题,计算量过大、抗噪声能力弱、通用性不强等等。现有技术也有提出一种将Gabor滤波与高斯滤波相结合的指纹增强算法,其通过高斯滤波对求出的像素水平梯度分量和垂直梯度分量处理后,接着用高斯滤波器对方向图进行处理,然后再对方向图进行平滑处理,最后再进行高斯滤波处理,该指纹增强方法计算量大,且增强效果不好。
发明内容
本发明旨在提供一种指纹增强方法及指纹识别装置,该指纹增强算法克服上述现有技术指纹增强算法计算量大、增强效果差的缺陷,通过将Gabor滤波与高斯差分结合,增强去噪能力,减少伪特征点,为后续的指纹特征提取和指纹识别奠定了基础;本发明提供的指纹识别装置利用上述指纹增强方法,同时结合了DSP与FPGA的处理结构,提高了指纹识别效率和指纹存储效率。
本发明提供的指纹增强方法包括以下步骤:
A、将指纹图像规格化得到规格化指纹图像,并计算规格化指纹图像的连续方向图;
B、对规格化指纹图像进行Gabor滤波后得到指纹增强图像,根据连续方向图中各像素点的方向选择指纹增强图像中的对应位置的像素点,重组得到初始滤波图像;
C、建立尺度可变换的高斯函数,将不同尺度的高斯函数与初始滤波图像进行卷积后得到一组高斯模糊图像;将高斯模糊图像中相邻上下两层图像做减法运算,得到一组高斯差分图像;
D、将高斯差分图像进行反向映射后,选取反向映射后部分图像中各像素点的最大值重构得到最终滤波图像,即完成指纹增强处理。
所述步骤A具体步骤如下:
A1、对指纹图像进行规格化,得到规格化指纹图像,使指纹图像的灰度具有相同的均值和方差;
A2、划分方向图:基准点位于方向模板的中心,以水平位置为起始方向,按逆时间方向,每隔π/8确定一个方向,分别用i=0,1,2,...,7来表示,计算的方向角范围是[0,π);
A3、计算出规格化图像中每个像素点每个方向的灰度平均值
A4、将8个方向按两两垂直的方向分成4组,计算每组中两个方向的灰度平均值的差,记为ΔM,即其中j为脊线方向(j=0,1,2,3);
A5、取ΔM中最大的一组中的两个方向(jmax和jmax+4)作为备选脊线方向;再对指纹图像中的每个像素点进行处理,得到点方向图D(i,j):
A6、用大小为w×w连续滑动的窗口,对点方向图中的每一点D(i,j)进行平滑处理,分别统计每个窗口内的像素个数Ni(i=0,1,2,...,7)的方向直方图;最后将直方图的峰值所对应的方向作为点P(i,j)的方向,得到连续方向图O(i,j):
O(i,j)=ord(max(Ni)) (2);
其中,ord(Ai)=i,即ord()为取变量下标值的函数。
所述步骤B具体步骤如下:
B1、通过8个方向的Gabor滤波器对规格化指纹图像I(i,j)进行Gabor滤波处理,得到8个方向的指纹增强图像Hk(i,j);
其中Gabor滤波器组的定义如下:
其中θ是Gabor函数的方向因子,θ=0°,22.5°,45°,67.5,90°,112.5°,135°,157.5°,f0是指纹图像正弦平面波的频率参数,σx和σy分别是沿着x和y轴的高斯包迹的空间常量;
B2、再根据连续方向图O(i,j)中各个像素点的方向选择对应指纹增强图像Hk(i,j)中的对应位置的像素点,重组得到初始滤波图像G(i,j)。
所述步骤C具体步骤如下:
C1、设二维高斯模板大小为m×n,变化尺度的高斯模板上的像素(x,y)对应的高斯计算公式为:
式中σ为正态分布的标准差;
变化尺度的高斯函数gk(x,y,σ)与初始滤波图像G(i,j)卷积后得到高斯模糊图像L(x,y,σ):
L(x,y,σ)=gk(x,y,σ)*G(i,j) (6);
其中,求取组内每层的尺度σ(s)的公式如下:
其中,组内的层索引为S0=8;初始尺度为σ0=1.6;
C2、将步骤C1中求得的不同的尺度下得到的不同模糊图像中相邻上下两层图像进行减法运算,得到7幅高斯差分图像D(x,y,σ):
所述步骤D具体步骤如下:
将7幅高斯差分图像D(x,y,σ)取反向映射后得到7幅反向映射图像Ek(i,j),将第3幅~第5幅图像的对应像素点的最大值重构得到最终的滤波图像,记为
本发明还提供一种指纹识别装置,包括:指纹采集模块、CAN传输模块、指纹识别模块、触摸输入子模块、显示模块;
所述指纹采集模块、CAN传输模块、指纹识别模块、触摸输入子模块依次电连接,所述显示模块与指纹识别模块电连接;
所述指纹采集模块对指纹进行采集并注册编码后将指纹图像及其编码传输至CAN传输模块或对待识别指纹进行采集后将待识别指纹图像传输至CAN传输模块;
所述CAN传输模块将接收到的指纹图像及对应编码或待识别指纹图像传输至指纹识别模块;
所述指纹识别模块将接收到的指纹图像进行预处理后提取特征,对该指纹的特征及其编码进行存储;所述指纹识别模块还接收来自触摸输入子模块的编码,调用该编码对应指纹图像的特征,并对接收到的待识别指纹图像预处理后提取特征,将该指纹图像的特征与该待识别指纹图像的特征进行对比识别后将识别结果传输至显示模块;
所述触摸输入子模块将用户输入的编码传输至指纹识别模块;
所述显示模块将接收到的识别结果进行显示输出。
所述指纹采集模块包括指纹采集子模块、ID编码子模块;
所述指纹采集子模块对指纹图像、待识别指纹图像进行采集后传输至ID编码子模块;
所述ID编码子模块对指纹图像进行编码后将指纹图像及其编码传输至CAN传输模块;将待识别指纹图像直接传输至CAN传输模块。
所述指纹识别模块包括FPGA处理器、DSP处理器、FLASH存储器;
所述FPGA处理器将接收到的指纹图像及其编码、待识别指纹图像传输至DSP处理器;接收来自触摸输入子模块的编码,发出控制命令至DSP处理器控制其调用FLASH存储器中该编码对应指纹图像的特征;接收来自DSP处理器的识别结果,并将其传输至显示模块;
所述DSP处理器将接收到的指纹图像进行预处理并提取特征,将该指纹图像的特征与其编码传输至FLASH存储器;将接收到的待识别指纹图像进行预处理并提取特征,根据来自FPGA处理器的控制命令调用FLASH存储器中对应编码的指纹图像的特征,对该待识别指纹图像的特征与该指纹图像的特征进行对比识别,并将识别结果传输至FPGA处理器;
所述FLASH存储器将接收到的指纹图像特征及对应编码进行存储;根据来自DSP的调用命令将对应指纹图像特征传输至DSP处理器。
所述DSP处理器包括指纹预处理子模块、指纹特征提取子模块、指纹识别子模块;
所述指纹预处理子模块将接收到的指纹图像及其编码中的指纹图像进行增强处理,并将增强处理后的指纹图像及其编码传输至指纹特征提取子模块;将接收到的待识别指纹图像进行增强处理,并将增强处理后的待识别指纹图像传输至指纹特征提取子模块;
所述指纹特征提取子模块将接收到的指纹图像进行特征提取后将该指纹图像的特征及其编码传输至FLASH存储器;将接收到的待识别指纹图像进行特征提取后将该待识别指纹图像的特征传输至指纹识别子模块;
所述指纹识别子模块将来自指纹特征提取子模块的待识别指纹图像特征与从FLASH存储器调用得到的指纹图像特征进行对比识别,并将识别结果传输至FPGA处理器。
本发明提供的指纹识别装置工作过程如下:
A、由指纹采集模块的指纹采集子模块采集指纹,并由ID编码子模块对指纹图像进行编码后将指纹图像及其编码传输至CAN传输模块;
B、CAN传输模块将指纹图像及其编码传输至指纹识别模块的FPGA处理器,FPGA将指纹图像及其编码传输至DSP处理器的指纹预处理子模块,指纹预处理子模块对指纹图像进行增强处理,并将增强处理后的指纹图像及其编号传输至指纹特征提取子模块,指纹特征提取子模块对指纹图像进行特征提取,并将该指纹图像的特征及编码传输至FLASH存储器,完成数据库的生成;
C、当用户需要进行指纹识别时,通过触摸板输入编码,触摸板将编码传输至FPGA处理器,FPGA处理器发送相应控制命令至指纹识别子模块,由指纹识别子模块调用FLASH存储器中该编码对应指纹图像的特征;
D、用户通过指纹采集子模块输入待识别指纹图像,待识别指纹图像经过ID编码子模块、CAN传输模块、FPGA处理器传输至指纹预处理子模块;指纹预处理子模块对待识别指纹图像进行增强处理,并将增强处理后的待识别指纹图像传输至指纹特征提取子模块,指纹特征提取子模块对待识别指纹图像进行特征提取,并将其特征传输至指纹识别子模块;
E、指纹识别子模块对接收到的指纹图像的特征和待识别指纹图像的特征进行对比识别,并将识别结果经过FPGA处理器传输至显示模块,由显示模块将识别结果进行输出。
本发明提供的指纹增强算法充分利用8方向的Gabor滤波器具有方向选择和频率选择的特性,较大程度地抑制指纹图像的噪声并修复一定的断裂指纹纹线,再通过高斯模糊的连续尺度参数获得多尺度下的尺度空间表示序列,使指纹纹线变得平滑并一定程度地填补纹线空洞现象,增强去噪能力,减少了伪特征点;同时结合高斯差分模型,比较相邻尺度之间的高斯模糊图像极值点,增强指纹的边缘响应,强化指纹增强效果。本发明指纹增强方法对不同质量的指纹图像具有较好的处理效果,指纹的脊线和谷线的结构不失真地保留下来;并且该方法鲁棒性好,指纹图像增强效果显著,为后续的指纹特征提取和指纹识别奠定了基础。
本发明提供的指纹识别装置在指纹识别模块的指纹图像预处理中利用上述指纹增强算法,同时在指纹识别模块硬件中将DSP与FPGA进行结合,FPGA作为系统中的数字协处理器及数据总线接口的控制器,控制着指纹采集模块与DSP核心数字处理系统中枢的系统逻辑,DSP作为核心数字处理系统中枢,主要对采集到的指纹图像预处理、特征提取及特征匹配,实现指纹的高效识别,提高了指纹识别效率和指纹存储效率;指纹采集模块与指纹识别模块之间采用CAN传输模块进行数据传输,FPGA与DSP之间采用SPI总线进行数据传输,为指纹的高效识别提供了高效数据传输的保障。
附图说明
图1为本发明提供的指纹增强方法的流程图。
图2为本发明提供的指纹识别装置的结构示意图。
具体实施方式
下面结合附图与实施例具体说明本发明。
实施例1
如图1所示,本实施例提供的指纹增强方法包括以下步骤:
A、将指纹图像规格化得到规格化指纹图像,并计算规格化指纹图像的连续方向图;
所述步骤A具体步骤如下:
A1、对指纹图像进行规格化,得到规格化指纹图像,使指纹图像的灰度具有相同的均值和方差;
A2、划分方向图:基准点位于方向模板的中心,以水平位置为起始方向,按逆时间方向,每隔π/8确定一个方向,分别用i=0,1,2,...,7来表示,计算的方向角范围是[0,π);
A3、计算出规格化图像中每个像素点每个方向的灰度平均值
A4、将8个方向按两两垂直的方向分成4组,计算每组中两个方向的灰度平均值的差,记为ΔM,即其中j为脊线方向(j=0,1,2,3);
A5、取ΔM中最大的一组中的两个方向(jmax和jmax+4)作为备选脊线方向;再对指纹图像中的每个像素点进行处理,得到点方向图D(i,j):
A6、用大小为w×w连续滑动的窗口,对点方向图中的每一点D(i,j)进行平滑处理,分别统计每个窗口内的像素个数Ni(i=0,1,2,...,7)的方向直方图;最后将直方图的峰值所对应的方向作为点P(i,j)的方向,得到连续方向图O(i,j):
O(i,j)=ord(max(Ni)) (2);
其中,ord(Ai)=i,即ord()为取变量下标值的函数;
B、对规格化指纹图像进行Gabor滤波后得到指纹增强图像,根据连续方向图中各像素点的方向选择指纹增强图像中的对应位置的像素点,重组得到初始滤波图像;
所述步骤B具体步骤如下:
B1、通过8个方向的Gabor滤波器对规格化指纹图像I(i,j)进行Gabor滤波处理,得到8个方向的指纹增强图像Hk(i,j);
其中Gabor滤波器组的定义如下:
其中θ是Gabor函数的方向因子,θ=0°,22.5°,45°,67.5,90°,112.5°,135°,157.5°,f0是指纹图像正弦平面波的频率参数,σx和σy分别是沿着x和y轴的高斯包迹的空间常量;
B2、再根据连续方向图O(i,j)中各个像素点的方向选择对应指纹增强图像Hk(i,j)中的对应位置的像素点,重组得到初始滤波图像G(i,j);
C、建立尺度可变换的高斯函数,将不同尺度的高斯函数与初始滤波图像进行卷积后得到一组高斯模糊图像;将高斯模糊图像中相邻上下两层图像做减法运算,得到一组高斯差分图像;
所述步骤C具体步骤如下:
C1、设二维高斯模板大小为m×n,变化尺度的高斯模板上的像素(x,y)对应的高斯计算公式为:
式中σ为正态分布的标准差;
变化尺度的高斯函数gk(x,y,σ)与初始滤波图像G(i,j)卷积后得到高斯模糊图像L(x,y,σ):
L(x,y,σ)=gk(x,y,σ)*G(i,j) (6);
其中,求取组内每层的尺度σ(s)的公式如下:
其中,组内的层索引为S0=8;初始尺度为σ0=1.6;
C2、将步骤C1中求得的不同的尺度下得到的不同模糊图像中相邻上下两层图像进行减法运算,得到7幅高斯差分图像D(x,y,σ):
D、将高斯差分图像进行反向映射后,选取反向映射后部分图像中各像素点的最大值重构得到最终滤波图像,即完成指纹增强处理;
所述步骤D具体步骤如下:
将7幅高斯差分图像D(x,y,σ)取反向映射后得到7幅反向映射图像Ek(i,j),将第3幅~第5幅图像的对应像素点的最大值重构得到最终的滤波图像,记为
本实施例提供的指纹识别装置如图2所示,包括指纹采集模块、CAN传输模块、指纹识别模块、触摸输入子模块、显示模块;
所述指纹采集模块、CAN传输模块、指纹识别模块、触摸输入子模块依次电连接,所述显示模块与指纹识别模块电连接;
所述指纹采集模块对指纹进行采集并注册编码后将指纹图像及其编码传输至CAN传输模块或对待识别指纹进行采集后将待识别指纹图像传输至CAN传输模块;
所述CAN传输模块将接收到的指纹图像及对应编码或待识别指纹图像传输至指纹识别模块;
所述指纹识别模块将接收到的指纹图像进行预处理后提取特征,对该指纹的特征及其编码进行存储;所述指纹识别模块还接收来自触摸输入子模块的编码,调用该编码对应指纹图像的特征,并对接收到的待识别指纹图像预处理后提取特征,将该指纹图像的特征与该待识别指纹图像的特征进行对比识别后将识别结果传输至显示模块;
所述触摸输入子模块将用户输入的编码传输至指纹识别模块;
所述显示模块将接收到的识别结果进行显示输出。
所述指纹采集模块包括指纹采集子模块、ID编码子模块;
所述指纹采集子模块对指纹图像、待识别指纹图像进行采集后传输至ID编码子模块;
所述ID编码子模块对指纹图像进行编码后将指纹图像及其编码传输至CAN传输模块;将待识别指纹图像直接传输至CAN传输模块;
所述指纹识别模块包括FPGA处理器、DSP处理器、FLASH存储器;
所述FPGA处理器将接收到的指纹图像及其编码、待识别指纹图像传输至DSP处理器;接收来自触摸输入子模块的编码,发出控制命令至DSP处理器控制其调用FLASH存储器中该编码对应指纹图像的特征;接收来自DSP处理器的识别结果,并将其传输至显示模块;
所述DSP处理器将接收到的指纹图像进行预处理并提取特征,将该指纹图像的特征与其编码传输至FLASH存储器;将接收到的待识别指纹图像进行预处理并提取特征,根据来自FPGA处理器的控制命令调用FLASH存储器中对应编码的指纹图像的特征,对该待识别指纹图像的特征与该指纹图像的特征进行对比识别,并将识别结果传输至FPGA处理器;
所述FLASH存储器将接收到的指纹图像特征及对应编码进行存储;根据来自DSP的调用命令将对应指纹图像特征传输至DSP处理器;
所述DSP处理器包括指纹预处理子模块、指纹特征提取子模块、指纹识别子模块;
所述指纹预处理子模块将接收到的指纹图像及其编码中的指纹图像进行增强处理,并将增强处理后的指纹图像及其编码传输至指纹特征提取子模块;将接收到的待识别指纹图像进行增强处理,并将增强处理后的待识别指纹图像传输至指纹特征提取子模块;
所述指纹特征提取子模块将接收到的指纹图像进行特征提取后将该指纹图像的特征及其编码传输至FLASH存储器;将接收到的待识别指纹图像进行特征提取后将该待识别指纹图像的特征传输至指纹识别子模块;
所述指纹识别子模块将来自指纹特征提取子模块的待识别指纹图像特征与从FLASH存储器调用得到的指纹图像特征进行对比识别,并将识别结果传输至FPGA处理器。
本实施例提供的指纹识别装置工作过程如下:
A、由指纹采集模块的指纹采集子模块采集指纹,并由ID编码子模块对指纹图像进行编码后将指纹图像及其编码传输至CAN传输模块;
B、CAN传输模块将指纹图像及其编码传输至指纹识别模块的FPGA处理器,FPGA将指纹图像及其编码传输至DSP处理器的指纹预处理子模块,指纹预处理子模块对指纹图像进行增强处理,并将增强处理后的指纹图像及其编号传输至指纹特征提取子模块,指纹特征提取子模块对指纹图像进行特征提取,并将该指纹图像的特征及编码传输至FLASH存储器,完成数据库的生成;
C、当用户需要进行指纹识别时,通过触摸板输入编码,触摸板将编码传输至FPGA处理器,FPGA处理器发送相应控制命令至指纹识别子模块,由指纹识别子模块调用FLASH存储器中该编码对应指纹图像的特征;
D、用户通过指纹采集子模块输入待识别指纹图像,待识别指纹图像经过ID编码子模块、CAN传输模块、FPGA处理器传输至指纹预处理子模块;指纹预处理子模块对待识别指纹图像进行增强处理,并将增强处理后的待识别指纹图像传输至指纹特征提取子模块,指纹特征提取子模块对待识别指纹图像进行特征提取,并将其特征传输至指纹识别子模块;
E、指纹识别子模块对接收到的指纹图像的特征和待识别指纹图像的特征进行对比识别,并将识别结果经过FPGA处理器传输至显示模块,由显示模块将识别结果进行输出。
本实施例指纹采集子模块采用FPS200指纹传感器;触摸输入模块与显示模块集成在带触摸功能的显示屏中,除指纹增强方法外,本实施例中的指纹图像特征提取及匹配识别算法采用现有技术中的常规算法。