编辑推荐推荐书籍

如何提高指纹识别速度
来源:互联网  (转载协议)   发布日期:2011-12-04 21:12   浏览:5020专栏投稿 值班编辑:QQ281688302

如何提高指纹速度呢?这是一个备受关注的问题。以下先概述指纹识别的基本原理,再提出几点个人假想以探讨。 基本原理 指纹识别技术是透过取像设备读取指纹图像,然後用电脑识别软体提取指纹的特徵资料,最後透过匹配识别演算法得到识别结果,以确定指纹所有人

赞助本站

  如何提高指纹速度呢?这是一个备受关注的问题。以下先概述指纹识别的基本原理,再提出几点个人假想以探讨。

  基本原理

  指纹识别技术是透过取像设备读取指纹图像,然後用电脑识别软体提取指纹的特徵资料,最後透过匹配识别演算法得到识别结果,以确定指纹所有人身分的生物特徵识别技术。

  指纹识别技术主要涉及指纹图像采集、指纹图像处理、特徵提取、保存资料、特徵值比对与匹配等过程。

  首先,通过指纹读取设备读取到人体指纹的图像,并对原始图像进行初步处理,使之更清晰。然後,指纹辨识演算法将指纹的特徵资料予以数位化。这是一种单方向的转换,可以从指纹转换成特徵资料但不能从特徵资料转换成为指纹,而且两枚不同的指纹不会产生相同的特徵资料。

  特徵文件储存从指纹上找到被称为「细节点」(minutiae)的资料点,也就是那些指纹纹路的分叉点或末梢点。这些资料通常称为模板,至今仍然没有一种模板的标准,也没有一种公布的抽象演算法,而是各个厂商自行其是。最後,通过电脑把两个指纹的模板进行比较,计算出它们的相似程度,得到两个指纹的匹配结果。

  技术特点

  相对於其他生物特徵鉴定技术,自动指纹识别是一种更为理想的身分确认技术。原因如下∶

  * 每个人的指纹是独一无二的;

  * 每个人的指纹是相当固定的,很难发生变化;

  * 便於获取指纹样本,易於开发识别系统,实用性强;

  * 可以利用多个指纹构成多重口令,提高系统的安全性,又不增加系统的设计负担;

  * 系统对指纹模板库的存储量较小,便於实现异地确认,支援电脑的网路功能。

  从以上的分析可以看到,用自动指纹识别相对於其他方法不仅具有许多独到的资讯安全角度的优点,更重要的是还具有很高的实用性、可行性。

  演算法概述

  分类演算法

  在自动指纹识别的研究中,指纹被分成五大类型∶拱类、左旋类、右旋类、尖拱类、漩涡类。指纹分类的主要目的是方便大容量指纹库的管理,并减小搜索空间,加速指纹匹配过程。指纹分类是基於指纹脊或谷的整体流向以及指纹的核心点。很多研究者试图解决指纹分类问题,但至今分类演算法的误识率仍较高。如何提高指纹分类的准确率在自动指纹识别研究中是一个较关键的问题。

  指纹分类一般包括图像预处理(包括图像分割与图像增强)、方向提取、校准、特徵变换(包括K-L变换和权重变换)、分类判决等五个步骤,其中,图像预处理包括两个步骤─图像分割与图像增强。

  图像分割步骤中,分割器读输入的指纹图,剪切该指纹图,在不损失有用的指纹资讯的基础上产生一个比原图像小的指纹图片。这样可减少以後各步骤中所要处理的资料量。图像增强的步骤则是用以增强分割後的指纹图,提高图像质量;特徵提取将灰度指纹图转换成黑白图像,然後生成方向阵列。此阵列是分类系统使用的基本特徵;指纹分类器则输出分类结果。

  压缩演算法

  在大容量的指纹库中,为了节省储存空间必须对指纹图进行压缩存储,使用时再进行解压缩。指纹压缩与一般的图像压缩既有相同的特点又有其本身的特性。相同之处在於指纹压缩一般也要经过图像变换、量化和编码的过程。解压缩则需经过解码、量化解码和图像反变换的过程。

  与一般的图像相比,指纹图像有自己的特点。指纹图像的内容比较单一,通常由交替出现的宽度大致相同的脊和谷组成。其中的脊末梢和分支点等特徵在压缩过程中必须保持良好,否则这些解压缩後无法恢复的关键特徵资讯将对指纹的分类和识别造成不良的影响。

  如果使用常用的静态图像压缩标准JPEG进行压缩,由於其使用8 x 8的DCT对图像进行变换,在高压缩比的条件下会产生明显的方块效应,极不利於保存指纹图像中关键特徵。因此,指纹图像的压缩要采用一些有针对性的演算法。

  目前普遍使用的指纹压缩演算法是由FBI提出的WSQ演算法,它可以算是指纹研究领域一种通用的标准。这是一种基於自适应的标量量化和小波分解的压缩演算法,在有失真的条件下压缩比不高,约为18:1。

  增强演算法

  一个专业的指纹识别依赖对脊线结构、细节点资讯的辨识。然而在实际情况中,由於手指本身的因素和采集条件的影响,采集到的指纹图像会不同程度地受到各种杂讯的干扰,因此在进行分类和细节匹配之前一般要对采集到的指纹图像做增强处理。 对於一个自动指纹识别系统来说,图像增强演算法的优劣对系统性能的好坏有决定性的影响。

  Lin. Hong等人采取的是Gabor滤波器来实现图像的增强;G.T. Candela使用二维FFT变换滤波法。这些方法对於离线采集的指纹图像比较合适,对电脑的性能要求比较高。而对於CMOS感测器来说,指纹图像质量比较差,对比度小,指纹重叠区域小,而且处理的是活体即时采集的指纹图像,这就需要一些更有效、速度更快的指纹图像增强演算法。

  匹配演算法

  指纹匹配是指纹识别系统的核心步骤,也是一个重要的研究课题。演算法共同的缺点是时间复杂度高、准确度不高,不适宜於连线时的快速指纹识别。指纹细节匹配演算法也有待深入研究。

  指纹匹配系统从获得指纹图到取得匹配结果将经过以下几个处理步骤∶

  * 图像预处理∶分为图像分割与图像增强两部分,其功能同分类系统。

  * 细节提取∶提取脊线上的末梢点及分叉点,用於今後的细节匹配。

  * 细节匹配∶用上一步获得的细节点去匹配资料库中的模板,获得匹配结果。

  识别演算法提速方法概述

  分类法

  分类法就是以上的分类演算法。在注册指纹时,根据指纹的特徵进行详细分类,然後按照类别分开储存,如PEFIS的 PIS2000版,把指纹资料分为101类,每类指纹分存於相应编号的库文件中,在匹配时,也同样判断待匹配指纹的分类,然後打开相应的资料库文件进行匹配运算。这样可在一定程度上减少被匹配指纹特徵资料量。例如101类中,每类有指纹50枚,共5050枚,匹配时,一枚待匹配指纹在分类後只需与相应类中的50枚已登记指纹进行匹配就行了,而非同时与5050枚指纹做匹配运算,所以提高速度。

  减少可旋转度

  可旋转度是指登记指纹时手指按於指纹仪的角度与要匹配时手指按於指纹仪的角度差。有些匹配演算法可允许360度旋转,则手指可以任意方向按於指纹仪上取象(如 U.ARE.U 演算法),但这种演算法除非有快速准确的指纹定位演算法,否则将以大量的旋转试比对做为代价,使得匹配变慢。一些公司的演算法则尽可能减少可旋转度,如PEFIS公司的产品,可旋转度大概为45度,但45度的可旋转范围也已经能满足人们的需要了。

  减少特徵点

  特徵点则是以上匹配演算法中所提到的细节。在一个指纹中可被提取的特徵点往往很多,提取越多,则匹配运算的误认率也越小,但由於取特徵点多,要处理的资料量会更多,将会影响速度。所以根据不同的应用选择较适当的最大特徵点数也是提高演算法运算速度的一种方法。

  分段多线程法

  分段多线程法则把已登记的指纹资料均等分段或定额分段後,每段分别由一个线程完成,可多线程同时执行匹配运算,当其中一线程中找到匹配的指纹後,即通知其他线程停止。如已登记指纹为1000枚,分为10段,则每段为100枚,匹配运算时,每条线程最多只需完成待匹配指纹与100枚登记指纹的匹配运算。但这种做法与电脑性能有很大的关系。

  多机协助法

  多机协助法与上述分段多线程法基本同理,就是把几部机器联网,登记指纹时,待登记者可在联网的任一机中登记,但最好使每部机中登记的指纹数相同;验证时,待验证者可在联网的任一机中验证,取得待验证者指纹後,由软体把该指纹发布到每一相联的机中匹配,若其中一机找到匹配的指纹即发回找到的相应资讯,收到找到匹配指纹的资讯後即向其他机发出停止匹配运算指令;若每部机都发回没找到的资讯,则表示待验证的指纹未登记。但这方案需要多机联网,成本较高。

  假设与探讨

  生物识别技术的应用普遍存在一个相同的目标,就是识别速度的提高。不管是身体特徵的指纹、掌型、眼睛(视网膜和虹膜)、人体气味、脸型、皮肤毛孔、手腕/手的血管纹理和DNA等,还是行为特点的签名、语音、行走的步态、击打键盘的力度等,目前的识别速度都还不是很理想,所以研究这方面技术的人们都在想办法提升速度。但可能是由於技术发展的历史因素吧,有以下几点,随著电脑的飞速发展,是不是可以做一些革命呢?

  主要算法由其它硬件实现

  举个例子:使用PCI桥的设备(或USB设备)。系统初始化时,把原已登记的指纹资料都写入该PCI桥的RAM中;登记指纹时,把取得的指纹特征资料同时写入硬盘和PCI桥的RAM;验证时,把待匹配指纹特征资料发至PCI桥做匹配运算,然后再把结果返回给正在运行的软件。这种做法的优点是相对减少计算机CPU的负担,容易维护产品版权等。

  然而也有其缺点,例如:

  * PCI桥中的RAM的容量有限,可能限制可登记指纹数。

  * 当指纹数多时,每次初始化时,登记的指纹资料要从硬盘拷贝到PCI桥的RAM,较为费时(特别是USB设置时)。

  * 硬设备升级没有计算机发展快。主流计算机的主频已是 2G 以上,但可用的指纹识别卡可能还是计算机386时代时用的,硬件的落后必然影响性能。难道能在PCI卡(或USB设备)中处理器运行的处理就不可改为以计算机CPU来处理吗?

  只有1:1方式

  1:1技术整个过程可概括为:「你是你自称的这个人吗?」。1:1技术是一个验证过程,是透过把一个现场采集到的指纹与一个已经登记的指纹进行一对一的比对,来确认身分的过程。

  只有1:1方式是指某种识别算法在指纹匹配时,不管指纹库中有多少枚指纹,都得一枚取出来比对后再取一枚的做法。若库中有1000枚已登记的指纹,要在其中找出待匹配指纹的ID,则要进行1:1的比对次数将是1至1000次中的数,也就是没有一点优化的做法。能不能对整批已登记的指纹资料进行分类甚至索引查找呢?

  指纹数据库以简单的文件型资料表

  几乎每一个指纹识别开发包中都有获取特征资料的函数,有些有提供保存指纹资料的数据库,有些没有,没有的一般匹配运算时也只有1:1方式;而创建指纹数据库的,往往也只是简单的文件,主要用于存储指纹资料,而非如 SQL 等数据库能对资料进行优化查询处理。

  提个不专业的设想,获取指纹特征资料时可不可以模式化,获取的指纹特征资料可不可以字段化,能否把已登记的指纹资料做成一个表,每个指纹是一条记录,每个分类或特定方位的特征点是特定的字段值。匹配时,待匹配指纹也以同样方法获取该指纹的特征记录,然后执行数据库结构化查询,发挥数据库高速查询的优势,这样是不是可以让指纹识别速度有大飞跃呢?

登陆 | 注册 欢迎登陆本站,认识更多朋友,获得更多精彩内容推荐!

赞助本站

人工智能实验室
网友评论
好车贷
展开