武伟基于FPGA的指纹识别系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计说明书
题目:基于FPGA的指纹识别系统
设计
学院(直属系):机械工程与自动化学院
年级、专业:2007级自动化
姓名:武伟
学号:34
指导教师:宋春华
完成时间:2011年5月25日
目录
目录.....................................................................................................................- 0 -摘要.....................................................................................................................- 0 -Abstract ........................................................................................................................- 1 -1前言 ..........................................................................................................................- 2 -设计背景 ......................................................................................................................... - 2 -
课题目标和研究内容 .................................................................................................. - 2 -课题目标 ................................................................................................................................ - 2 -
研究内容 ................................................................................................................................ - 3 -研究意义 ......................................................................................................................... - 3 -
2 系统整体设计........................................................................................................- 4 -
硬件框图及各模块介绍: ......................................................................................... - 4 -
项目关键技术及创新性: ......................................................................................... - 5 -传感器的选择................................................................................................................................ - 5 -
指纹图像的预处置....................................................................................................................... - 5 -
2.2.4 指纹图像匹配 .................................................................................................................. - 10 -
3 开发工具及器件简介................................................................................................. - 13 -传感器介绍............................................................................................................................ - 13 -开发环境介绍 ....................................................................................................................... - 15 -
4 硬件设计................................................... - 16 -指纹收集模块......................................................................................................... - 16 -
指纹数据处置模块................................................................................................. - 17 -指纹数据存储模块................................................................................................. - 18 -
RS232通信和键盘操作模块................................................................................. - 19 -
5 软件设计................................................... - 20 -MBF200初始化 ..................................................................................................... - 20 -指纹数据收集软件实现......................................................................................... - 20 -
结论....................................................... - 24 -总结与体会................................................... - 25 -致谢词....................................................... - 26 -【参考文献】................................................. - 27 -
摘要
本系统采用xilinx公司Spartan 3E系列FPGA作为核心控制芯片,通过富士通公司的MBF200指纹传感器实现对指纹图像的收集,利用SPI接口传输到FPGA进行数据的存储,利用内嵌的MicroBlaze处置器对指纹图像进行灰度滤波、二值化、二值去噪、细化等预处置,取得清楚的指纹图像,再从清楚的指纹图像中提取指纹特征点并存入指纹数据库作为建档模版。
指纹比对时,采用一样的方式,取得比对模版,然后将比对模版与建档模版利用指纹识别算法进行比对,得出比对结果。
该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。
该识别系统可用于门禁、考勤、证件管理等很多方面,具有很普遍的应用前景。
而识别算法咱们采用美国FBI推荐的特征点匹配算法来实现指纹的识别,更保证了系统的实现。
以FPGA作为核心控制器件,实现指纹图像的收集、存储、处置和比对等,完成对指纹图像的有效识别。
需要具有单片机和C语言基础.
【关键词】FPGA、指纹识别、传感器、Spartan 3E、MBF200
Abstract
The system uses xilinx Spartan 3E Series FPGA company as a core control chip, through the Fujitsu fingerprint sensors to achieve MBF200 fingerprint image acquisition, the use of SPI interface transfer to the FPGA for data storage, using the embedded MicroBlaze processor fingerprint image gray filter, binary, binary denoising, thinning preprocessing, get clear fingerprint image, and then clear the fingerprint image from the fingerprint feature points extracted and stored in the fingerprint database as a filing template. Fingerprint matching, the same method used to obtain matching template, and then filing template than the use of templates and fingerprint recognition algorithm to compare, compare the results obtained. The project uses the embedded soft-core for system management, the use of hardware to achieve recognition algorithm to ensure the integrity of the system function and recognition accuracy. The recognition system can be used for access control, time and attendance, document management and many other areas, with a very wide range of applications. The recognition algorithm used by the . FBI recommended that we feature point matching algorithm to achieve fingerprint identification, but also to ensure the system's implementation. FPGA as the core control device to achieve fingerprint image acquisition, storage, processing and comparison, etc, to complete the effective recognition of the fingerprint image. Requires a microcontroller and C language based.
【Key words】FPGA、Fingerprint、Sensors、Spartan 3E、MBF200
1前言
设计背景
生物识别技术是利用人的生物特征进行身份认证的技术, 人的指纹就是生物特征之一。
另外, 生物特征还包括虹膜、视网膜、声音和脸部热谱图等。
指纹识别是生物识别技术中最为成熟的, 其唯一性、稳定性, 一直都被视为身份辨别的靠得住手腕之一。
由于最先的指纹识别技术仅仅依托人工对比,工作效率低下、比对正确率低、对比对人员的要求高,从而使得指纹识别技术无法取得普遍应用。
但随着计算机的出现及其运算速度的迅速提高,使指纹对比鉴定的应用发生了革命性的转变。
利用计算机管理指纹数据库,极大提高了指纹对比的速度,同时由于计算机比对算法的不断改良提高,使指纹比对误识率已降到了10-6以下,不仅可以知足刑侦方面的需要,而且迅速进入了更多的应用领域。
随着光学技术和光学仪器加工工艺的进步,各类收集指纹图案进行身份认证的系统和设备中需要配备的高清楚、无畸变光学收集仪也达到了很高水平,确保可以生成高质量的指纹图像。
计算机运算速度的提高和计算机小型化的进展,使采用微机乃至单片机也可以进行指纹对比运算成为可能。
现代电子集成制造技术使得咱们可以生产出相当小的指纹图像读取设备和指纹识别模块。
其本钱下降得也很快,大大加速了指纹识别技术的推行速度。
同时人们对消费类产品的要求愈来愈趋向于小型化,而且对可携带设备的安全性要求也与日俱增。
传统的PC、MCU、或DSP的处置平台移动性比较差,体积比较大,无法知足人们日趋增加的需求。
所以,设计一套体积比较小、速度更快的嵌入式指纹识别系统是超级成心义的。
而本设计正是为了这一目的,选用具有高集成度、低功耗、短开发周期的FPGA来完成此项设计,以实现系统的ASIC为研究背景,具有很强的现实意义和广漠的市场空间。
本系统采用xilinx公司Spartan 3E系列FPGA作为核心控制器件,这款器件采用90ns的先进工艺,最大容量50万门,可支持32位的RISC处置器,具有128 Mbit 并行Flash,足以知足设计的要求。
该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。
而识别算法咱们采用美国FBI推荐的特征点匹配算法来实现指纹的识别,更保证了系统的实现。
课题目标和研究内容
课题目标
以FPGA作为核心控制器件,实现指纹图像的收集、存储、处置和比对等,完成对指纹图像的有效识别。
研究内容
本系统采用xilinx公司Spartan 3E系列FPGA作为核心控制芯片,通过富士通公司的MBF200指纹传感器实现对指纹图象的收集,利用SPI接口传输到FPGA进行数据的存储,利用内嵌的MicroBlaze处置器对指纹图象进行灰度滤波、二值化、二值去噪、细化等预处置,取得清楚的指纹图象,再从清楚的指纹图象中提取指纹特征点并存入指纹数据库作为建档模版。
指纹比对时,采用一样的方式,取得比对模版,然后将比对模版与建档模版利用指纹识别算法进行比对,得出比对结果。
该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。
该识别系统可用于门禁、考勤、证件管理等很多方面,具有很普遍的应用前景。
研究意义
生物识别技术愈来愈多地被应用于身份验证领域。
指纹因其惟一性、终生不变性和较低的识别本钱而成为目前利用最普遍的生物识别技术,在罪犯识别、社会保险、电子商务、信息安全等领域取得普遍的应用。
便携式的指纹识别技术对咱们的生活也具有深远的意义。
例如,此后警察可在一个犯法多发区截住一名嫌疑人,要求其提供指纹而不是身份证或汽车驾照。
这人则将其右手的第一、二或第三个手指置于一个与无线PDA相连的传感器上,可以迅速将嫌疑人与以前的犯法记录进行对比确认。
这种识别技术对于被盗的电话用户也有利处。
电话开机时要求用户通过一个快速的认证进程,用户将其手指划过传感器,若是通过认证则授权利用电话的各项功能。
若是不是授权用户,电话便继续维持锁住。
若是持续几回认证无法通过,则电话缘删除存储器中的关键信息然后关机。
在语音邮件的应用中,当拨出一个语音邮件号码后,用户只需将手指划过传感器即可令系统识别。
有了指纹识别后,便无需利用邮箱密码或个人识别号码。
在此后的汽车应用中,用户可输入家庭成员指纹样本,经鉴权才能驾驶。
注册进程十分简单:每一个授权驾驶的成员将其手指置于传感器上,并将汽车的各类参数按个人爱好进行设置,然后将这些设置存入车载的电脑存储器中。
当驾驶者进入汽车时,他/她将手指置于传感器上,启动识别进程。
不到一秒钟,电脑将检测到的指纹模板与存储的模板进行比较,并成立一个与驾驶者相符的相关设置。
指纹模板和匹配软件保留在汽车内的一个嵌入式模块中。
当指纹匹配成功时,汽车便按已编程设定的内部参数来控制后视镜、汽车座椅、无线基站和车内空气环境。
另外,还可控制驾驶速度,若是驾驶者仅为十来岁的孩子,则将速度限制在每小时55千米。
这些功能的实现具有超级多的用途。
可见,指纹识别技术的应用可使咱们的生活加倍方便安全。
同时本项目重点研究基于FPGA的指纹识别系统,利用FPGA高集成度化,低功耗,短开发周期等长处,实现系统的ASIC,具有加倍深远的意义和广漠的市场商机。
2 系统整体设计
硬件框图及各模块介绍:
系统采用xilinx公司Spartan-3E 系列FPGA作为核心的控制和运算芯片,数据收集模块由富士通公司的MBF200电容式指纹传感器来完成,MBF200指纹传感器可以完成指纹图像的收集并用其自带的A/D转换器将指纹图像转换成数字信号,利用SPI接口传送至FPGA进行存储。
由FPGA处置收集来的数据,由于FPGA内部存储空间过小,无法存储一张完整的指纹图像,所以将指纹数据暂时存储在SDRAM中。
当处置图像数据时,FPGA通过读取SDRAM的指纹数据,并在其逻辑单元中进行滤波、灰度归一化、二值化、细化和特征值提取等操作,从而取得重要的指纹图像信息。
系统操作时首先利用键盘选择指纹存储模式,将取得的指纹图像信息存储到FLASH中作为指纹数据库,然后切换到指纹识别模式,再利用上述方式取得指纹图像信息。
通过FPGA挪用指纹数据库中的数据,寻觅与之匹配的指纹信息,最后将比对结果在LCD中显示。
本系统还可利用RS232与计算机进行通信,可以方便扩展,使得系统可以应用到更多的领域。
系统框图如下图1。
图1 系统框图
项目关键技术及创新性:
传感器的选择
目前,市面上存在很多种类的指纹传感器,应用最普遍的有光学、电容、电磁波、压力、微电机和热学指纹传感器。
而本系统采用富士通公司的MBF200电容指纹收集传感器来实现对指纹图像的收集,该款指纹传感器采用标准的CMOS 技术,含有8位A/D 转换器,工作在~5V 的宽电压范围,能自动检测是不是有指纹抵达传感器,并实此刻线收集,它的最大长处是在保证指纹图像高分辨率(500dpi)的同时大大减少了传感器的尺寸。
利用此传感器可以完全知足系统的设计任务。
指纹图像的预处置
图像预处置的主要步骤包括:灰度值归一化、图像分割、滤波、图像增强、二值化、细化等。
预处置的目的是改善输入指纹图像的质量,以提高特征提取的准确性。
原始指纹图像一般存在噪声污染、脊线断裂或脊线模糊等问题,需要进行图像增强(利用滤波技术)以改善质量。
由于指纹特征仅包括在脊线的形状结构中,所以,通过归一化、二值化和细化把深浅不一、宽度不同的脊线变成灰度相同、单像素宽的细脊线,以便于特征提取。
图像归一化
归一化处置是对原始指纹灰度图像上每一象素点的一种操作,人为改变它的灰度值,消除指纹录入传感器表面的残留噪音和手指按压力不同对指纹图像的影响,把图像分为w w ⨯的子块,对于每一子块求其灰度均值Mi 和方差Vi 。
子块灰度均值和方差的计算按如下公式:
111(,
)w w x y Mi I x y w w ===⨯∑∑ (1)
2111[(,)]w w
x y Vi I x y Mi w w ===-⨯∑∑ (2) 其中I (x ,y )为子块中象素(x ,y )的灰度值,子块归一化的目的是调整均值和方差到一个期望的范围,若是用G(i ,j)表示(x ,y )点的归一化后的值,那么第I 个子块归一化后灰度值为:
00,(i j (,)i j I M M G i j M M ⎧〉+⎪⎪=⎨⎪〈-⎪⎩若,);I(,); (3)
若是:0M M ,
则把灰度值为0M
全数归0作为背景处置,这样可以有效地去除传感器表面残留纹印引入的噪声。
其中0M ,0Var 均为期望的均值和方差,M 为实验后取得的门坎值,(,)I i j Mi -为像素点的灰度幅度,经比率调制后,加到期望的均值上。
使得原来方差大的点归一化后幅度更大,反之相反;而灰度值大或小于均值的点,归一化后继续大或小于期望均值,而且归一化为点操作,不会改变指纹的纹理结构。
(2)图像分割
在收集到指纹图像后,首先要进行指纹图像分割,即把图像分割为指纹区与非指纹区,目的是割除白背景区和背景区,保留前景区,尽可能保留模糊区中能恢复的部份,以便后续处置能够集中于有效区域,这不仅能提高特征提取的精准度,还能大大减少指纹预处置的时间。
目前常常利用的指纹图像分割的一般方式是:一种是基于图像灰度特性的灰度均值分割,这种分割容易把有效部份割除掉,而把使劲重的模糊不清的区域保留;另一种是基于灰度方差的阈值分割,这种单一分割方式不适合低对比度的图像;第三种是基于指纹纹理的方向性,利用方向图对指纹图像进行分割。
这种方式的分割效果依赖于所求点方向图及块方向图的靠得住性,对图像灰度的对比度的高低并非敏感。
可是对于指纹不持续、单一灰度等难以正确估量的区域及中心、三角周围,方向转变猛烈的区域,方向图分割则难以取得令人满意的效果。
咱们将指纹图像分为前景区、背景区、模糊区和白背景区,其中白背景区是指指纹图像中不含指纹纹线的边界区域,这种区域也是应该包括在割除的区域,所以为了能正确划分这4类区域,更准确地割去白背景区和背景区,并保留前景区和模糊区中可恢复的区域,把整个分割进程分为3级,分割的大体单元为88⨯大小不相交叠的块。
第一级分割为白背景区分割,第二级分割为模糊区分割,第三级分割为背景区分割,白背景区灰度均值很低,而且由于没有纹线峰和谷的转变,方差也很小,因此白背景区的判断采用:
(1) 块灰度均值:
1515
00
(8,8)
88
i j I i m j n mean ==+⨯+⨯=
⨯∑∑
(2) 块灰度方差
15
15
2
00
((8,8))
var 88
i j I i m j n mean iance ==+⨯+⨯-=
⨯∑∑
第一级分割的裁决为:当mean 小于预概念的阈值T1且variance 也小于预概念的阈值T2即同时知足上述两个条件时,该块为白背景块,删除掉。
第二级分割的裁决区域为1级分割后保留下来的非白背景区域,其目的是找出模糊区,其裁决方式为:设定特征量:1212
,t t contrast
Z contrast mean n n =
=-其中 1n :表示块中灰度值大于或等于块灰度均值的点数;
2n :表示块中灰度小于块灰度均值的点数;
1t :块中灰度值大于或等于块灰度均值的所有点灰度之和; 2t :块中灰度值小于块灰度均值的所有点灰度值之和。
当Z 小于预概念的阈值T3时说明该块为墨迹很浓,峰和谷被墨迹粘连混淆的区域应去除。
第三级分割设定特征量1var mean
contrast iance
=,当对比度contrast1的值小于预
概念的阈值T 时,将其设定为背景区域;不然,作为前景区域,保留其灰度值,以作后续处置。
(3)指纹图像二值化
二值化,就是把灰度图像转变成黑白相间的二值图像,通过设定一个全局阈值对增强后的指纹图像转变成用0、1两种灰度表示,0代表脊线,为黑象素,作为前景。
1代表谷线,作为白象素。
处置方式如下:
1;(,)(,)0;(,)f i j T
f i j f i j T
>⎧=⎨
<⎩脊线
谷线
由于收集到的指纹图像不同区域深浅不一,如对整幅图像利用同一阈值进行二值分割,会造成大量有效信息的丢失。
这里咱们利用自适应局部阈值二值化的思想,既将图像分割成多个小块,对每一个小块进行别离计算,局部阈值的选取参考局部块的各个像素,而且选取的阈值应尽可能使该块图像内大于该阈值的像素点数等于小于该阈值的像素点数,这样可使阈值具有自适应性,不会使大量有效信息丢失。
自适应局部阈值二值化的流程图如图2:
图2 自适应局部阈值二值化流程图
图2中T 为该块指纹图像的平均灰度值Nh 、Nl 别离为第(k ,l )块指纹图像中灰度值大于等于T 和小于T 的像素点数,δ= w ×w ×10 % ,w 是分块尺寸(像素) 。
(4) 图像的细化
细化是把清楚但纹线粗细不均的二值指纹图像转化成线宽为一个象素的条纹中心点线图像的进程,以便后续的特征提取进程能精准定位。
细化算法中的OPTA 算法知足收敛性、持续性、拓扑性和维持性,有较好的细化效果。
但该算法在三叉点处不能完全细化,且细化后的图像不够光滑,毛刺较多,扭曲较大。
针对其算法的不足进行改良,从头构造模板,采用统一44⨯模板,左上角33⨯区
域为消除模板区域。
图3:指纹图像消除模板
0 0 0 X 1 X 1
1
1
0 X 1 0 1 1 0
X
1
1 1 1 X 1 X 0
1 X 0 1 1 0 1
X
X 0 0 1 1 0 X
1
X
0 0 X 0 1 1 X
1
X
X 1 X 0 1 1 0
X
X 1 X 1 1 0 X
X 1 X 0 0 1 1 0 X 1 X 0 X
X
X
X
图 4 指纹图像细化保留模块 保留模板和消除模板
如图3、4所示,1表示前景区,0表示背景区。
细化时,
对每一个像素抽取其临域
所需的像素点。
先依次与消
除模板比较,若是与任意一个都不匹配则保留,不然删除。
整个改良算法克服了原算法的不足,有效清除毛刺,对指纹图像能进行充分细化。
指纹图像特征提取
本设计结合细化图像的特点,提出了一种基于非完全细化图像的指纹细节提取算法。
在不对纹线做任何修复处置的情况下,在细化指纹图像上直接提取原始细节特征点集,取得初步的特征提取结果;然后分析图像中存在的各类噪声及其特点,结合指纹细节特征点固有的散布规律和局部纹线方向信息,针对不同的噪声采用针对性算法,并利用伪特征点在数学形态学上的散布规律,将各类噪声引
X 0 0 0 1 1 0 X X 1 X X
X
X
X
X X 1 X 0 1 1 0 X
X
X X X X X 0 X X 1 1 1 X X 1 X X 0 0 0 X X 0 X X X 1 X X 1 1 0 X X 0 0 X X
X
X
X 1 X X
0 1 1 X 0 0 X X
发的伪特征点别离予以删除,而将最终保留的特征点集作为真正特征点的集合。
改良的细节特征提取算法的具体思想如下:
(1) 原始细节特征点集的提取
首先在细化指纹图像上直接进行细节特征提取,取得原始的细节特征点集P1和P2,其中P1 为纹线端点集合,P2为分叉点集合。
这些点集中可能含有大量的伪特征点需进一步处置。
(2) 短线与纹线中断的删除
对细节特征点集P中任意两个纹线端点i1 ∈P1,i2 ∈P1 , 若是它们之间的距离(像素点数) 小于D1 ,且Δθ≈0,则以为该两点为伪特征点,予以删除。
(3) 小孔的删除
对细节特征点集P中任意两个纹线分叉点j 1 ∈P1 , j2 ∈P2,若是它们之间的距离(像素点数) 小于D2,则以为该两点为伪特征点,予以删除。
(4) 小毛刺的删除
对细节特征点集P中任一纹线端点i ∈P1和任一分叉点j ∈P2 , 若是它们之间的距离小于D3 ,且有纹线连接该两点,则以为该两点为伪特征点,予以删除。
(5) 较长毛刺的删除
对细节特征点集P中任一纹线端点i ∈P1和任一分叉点j ∈P2, 若是它们之间的距离小于D4,且有纹线连接该两点,而且Δθ<π/4, 则以为该两点为伪特征点,予以删除。
(6) 纹线叉连的删除
对细节特征点集P中任意两个纹线分叉点j 1 ∈P1,j2 ∈P2,若是它们之间的距离大致等于D5,且有纹线连接该两点, 而且Δθ≈π/2,则以为该两点为伪特征点,予以删除。
其中Ang ( i , j ) 为两特征点i、j 的连线与水平坐标轴方向的夹角(弧度) ,θ( i , j ) 为特征点i、j 所在的局部邻域的纹线方向(弧度) ,Δθ为Ang ( i , j) 与θ( i , j) 之差的绝对值。
D1、D2 、D3 、D4 为距离门坎值(像素点数) ,本设计中经多次实验,别离取7 、3 、4 、8。
D5 为指纹图像平均纹线宽度,可通过计算取得。
2.2.4 指纹图像匹配
指纹图像的匹配就是对两个输入指纹的特征集合(模板指纹集和输入指纹集)进行判断,看是不是属于同一指纹。
指纹图像匹配算法很多,主要包括基于图像的匹配、脊模式匹配、点模式匹配和基于图形的匹配。
而基于特征点的(细节点)的匹配算法具有简单、快速、鲁棒性等长处。
目前最常常利用的是FBI提出的细节点坐标模式来做细节匹配。
它利用脊末梢和脊线分叉点来鉴定指纹。
通过将细节点表示为点模式,一个自动指纹认证问题可以转化为一个点模式匹配问题。
如Sanjay Ranande and AzrielRosenfeld[3 ]利用松弛法进行点匹配,Shih2hsu Chang[4 ]等人利用二维聚类进行匹配。
本设计采用了一种矢量三角法来肯定参照点的点模式匹配算法。
该算法利用矢量三角形法快速肯定指纹的参考点和旋转参数,然后将直角坐标系中的细节点转换到极坐标系中进行点匹配,避免了在一般的点模式匹配算法当选取参照点进行的逐点反复搜索而消耗大量时间的弊病,所用的方式不依赖指纹图像的中心区域,有较强的抵抗噪声与非线性变
形的能力。
两幅指纹图的匹配,主如果解决旋转、平移和形变等问题。
在对两幅图像进行匹配之前就先估量它们之间的形变参数,并以此对这两幅图像进行校准。
正如Anil Jain[7 ]等指出,在极坐标中进行细节匹配有很多的长处:指纹图像的非线性形变往往表现为放射状,即这种形变呈非线性地向外扩张。
因此,利用极坐标比直角坐标能更好地描述这种非线性形变。
在极坐标中,咱们不需要考虑输入图像与模板图像参照点之间的平移,因为输入图像与模板图像间的平移是固定的,也就是说对应点的坐标在参照点转换为极坐标时,平移就被抵消掉了。
由于两幅指纹图像是用同一个仪器收集的,可以假定它们间的尺度转变参数为1 ,也就是说可以不考虑尺度形变的因素。
因此,本设计选择在极坐标系中做细节匹配,而且只需考虑输入图像与模板图像间的旋转形变参数。
为了把细节点转换到极坐标系中去,需要在模板细节点集和输入细节点集中各选一个参照点作为相应的极坐标系中的原点,并计算出其它细节点相对于参照点的极坐标。
在本设计中采用矢量三角形法来肯定参照点。
1. 选取参照点的矢量三角形法
概念两个点集P 和Q , 其中一个点集Q 表示从输入的指纹图中提掏出来的N 个细节点,另一个点集P 表示从模板图像中提掏出来的M 个细节点。
咱们把这两个点集别离表示为:
P = { ( xP1 , yP1 ,θP1 ) , . . . , ( xPM, yPM,θPM) }
Q = { ( xQ1, yQ1,θQ1) , . . . , ( xQN, yQN,θQN) }
其中( xPi , yPi ,θPi ) 记录了点集P 中第i 个特征点的三条信息:X 坐标, Y 标与方向,一样( xQj, yQj,θQj) 记录了点集Q 中第j个特征点的三条信息: X 坐标, Y 坐标与方向。
概念 1 若直角坐标系下的不在同一条直线上的三个有向点按逆时针顺序排列,称这三个点按标准向系排列,所组成的三角形为标准系下矢量三角形。
概念2 若是两个同为标准系下的矢量三角形知足如下条件,则称两个矢量三角形全等。
(1) 三对对应边长别离相等。
(2) 三对对应极点间的方向角相等。
(3) 三对对应点的类型相同。
(4) 三对对应边所穿过的脊线数量相同。
对模板集中的每一点A , 在指纹图上寻觅与其最近的两个特征点,其一记为R , 另一个记为S , 按逆时针方向把它们连接起来组成一个三角形。
把点A 、点R 与点S 的类型(末梢点或分支点) 别离记为nType1 , nType2 与nType3;其方向角别离记为nBeta1 , nBeta2 与nBeta3。
把连接点A 与点R 、点A 与点S 、点R 点S 的三条虚拟的线段长度别离记为nDist1、nDist2和nDist3; 其所跨越的脊线数别离记为nCrossNum1、nCrossNum2 和nCrossNum3。
通常情况下,纹线数量比距离、相对角更具有鲁棒性,因此,这里咱们在判断两个矢量三角形是不是全等时,增加了这个条件。
咱们把点类型、方向角、边长信息与跨越脊线数记入点A 的对象中。
若是A 属于点集Q , B 属于点集P ,而且下面式子均成立: ( abs ( A. nDist1 - B . nDist1) < Td and abs ( A. nDist2 -B . nDist2) < Td and abs ( A. nDist3 - B . nDist3) < Td) (1) ( abs ( A. nBeta1 - B . nBeta1) < Tα and abs ( A. nBeta2 -B . nBeta2) < Tα and abs ( A. nBeta3 - B . nBeta3) < Tα) (2)。