图像指纹算法
Ⅰ 如何进行指纹识别算法的研究
由于指纹特征的唯一性和稳定性,指纹识别技术很早便应用在刑侦领域,并且已经取得了很大的成功。近年来各种领域身份认证的需求不断增长,并且随着公众的接受和认可,自动指纹识别技术在民用市场逐渐得到了更为广泛的应用。指纹图像的增强和匹配算法是影响自动指纹识别系统精度和速度的重要环节,嵌入式系统由于处理速度和内存的限制对指纹识别算法提出了更高的要求。另外,获取高质量的指纹图像和减少模板存储容量也是嵌入式指纹识别系统特别需要解决的问题。本文针对DSP处理器的技术特点,对嵌入式指纹识别系统算法中的几个关键问题进行了研究。论文的主要工作和贡献如下: 1) 提出了一种基于运动估计的扫描指纹图像重构算法。我们利用视频压缩和编码技术中的运动估计的理论,并根据手指在采集扫描图像的滑动过程中的物理运动规律,引入预测运动向量的反馈机制,动态地选取参考匹配块,多帧运动估计和亚像素精度的运动估计相结合,得到连续扫描图像的相对位移,重建出指纹图像。根据计算复杂度分析和实验表明我们的算法可以实时地准确地重构出原始指纹图像。 2) 提出了一种基于增强图像的几何特性的二值化方法。我们提出并证明了基于Hessian矩阵的迹的二值化方法等价于最大主曲率的方法,而这个方法的前提条件是指纹图像在局部邻域内具有方向一致性。因此,我们首先利用各向异性扩散滤波器,使扩散滤波的过程在适应局部纹理结构的一致性方向上进行。实验证明该算法的性能优于常用的指纹图像增强和二值化的算法。 3) 提出了一种适用于嵌入式系统的指纹方向图量化压缩的方法,并利用方向图的互信息实现指纹的匹配。根据指纹方向图特征的相关性以及DSP处理器方便的存储位操作,改进行程编码算法,实时高效地实现了量化的方向图的压缩存储。将读取的方向图模板和输入指纹方向图看作两个离散的随机变量,求取方向图的互信息作为两幅图像的相似性度量。方向图互信息匹配的算法能够在识别性能和压缩效率之间获得较好的平衡。 4) 分别在特征层次上和匹配层次上结合细节点三角形特征和方向场特征,并相应地提出了两种不同的匹配算法。在特征层次上结合细节点特征和方向场特征,定义一个旋转和平移不变的固定维数的三角形特征向量,利用非校准的方法进行匹配。针对该算法耗时较长的缺陷,我们提出了分区域查询等价三角形和几何变换参数聚类的方法。在匹配层次上,我们采取了级联的融合策略,以较小的概率启用方向图匹配并融合细节点匹配的结果,得到更高的识别率。 本文的部分研究成果已经转换到基于DSP的指纹识别核心模块中去,在实际应用中取得了良好的识别效果;部分研究成果应用在我们正在开发的生物特征通关安防教育系统上,获得了较好的实验结果。
Ⅱ 指纹识别技术是基于哪些原理
指纹其实是比较复杂的。与人工处理不同,许多生物识别技术公司并不直接存储指纹的图像。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图像属于个人隐私,因此不能直接存储指纹图像)。但指纹识别算法最终都归结为在指纹图像上找到并比对指纹的特征。
指纹的特征
我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。总体特征是指那些用人眼直接就可以观察到的特征,包括:
基本纹路图案
环型(loop),
弓型(arch),
螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。
模式区(Pattern
Area)模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。有的指纹识别算法只使用模式区的数据。
Aetex
的指纹识别算法使用了所取得的完整指纹而不仅仅是模式区进行分析和识别。
核心点(Core
Point)核心点位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。
三角点(Delta)三角点位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数和跟踪的开始之处。
式样线(Type
Lines)式样线是在指包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但它的外侧线开始连续延伸。
纹数(Ridge
Count)指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。
局部特征
局部特征是指指纹上的节点。两枚指纹经常会具有相同的总体特征,但它们的局部特征--节点,却不可能完全相同
节点(Minutia
Points)指纹纹路并不是连续的,平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为"节点"。就是这些节点提供了指纹唯一性的确认信息。
指纹上的节点有四种不同特性:
1.
分类
-
节点有以下几种类型,最典型的是终结点和分叉点
A.
终结点(Ending)
--
一条纹路在此终结。
B.
分叉点(Bifurcation)
--
一条纹路在此分开成为两条或更多的纹路。
C.
分歧点(Ridge
Divergence)
--
两条平行的纹路在此分开。
D.
孤立点(Dot
or
Island)
--
一条特别短的纹路,以至于成为一点
E.
环点(Enclosure)
--
一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点
F.
短纹(Short
Ridge)
--
一端较短但不至于成为一点的纹路,
2.
方向(Orientation)
--
节点可以朝着一定的方向。
3.
曲率(Curvature)
--
描述纹路方向改变的速度。
4.
位置(Position)
--
节点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的。
Ⅲ 指纹的识别原理
指纹识别
读取指纹图象、提取特征、保存数据和比对。在一开始,通过指纹读取设备读取到人体指纹的图象,取到指纹图象之后,要对原始图象进行初步的处理,使之更清晰。接下来,指纹辨识软件建立指纹的数字表示——特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。
有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K大小的记录。无论它们是怎样组成的,至今仍然没有一种模板的标准,也没有一种公布的抽象算法,而是各个厂商自行其是。最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。指纹其实是比较复杂的。
与人工处理不同,许多生物识别技术公司并不直接存储指纹的图象。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图象属于个人隐私,因此不能直接存储指纹图象)。
指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。指纹的特征我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。总体特征是指那些用人眼直接就可以观察到的特征,包括:基本纹路图案环型(loop),弓型(arch),螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。 (PatternArea)模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。有的指纹识别算法只使用模式区的数据。Aetex的指纹识别算法使用了所取得的完整指纹而不仅仅是模式区进行分析和识别。
核心点(CorePoint)核心点位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。
三角点(Delta)三角点位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数和跟踪的开始之处。
式样线(TypeLines)式样线是在指包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但它的外侧线开始连续延伸。 (RidgeCount)指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。局部特征局部特征是指指纹上的节点。两枚指纹经常会具有相同的总体特征,但它们的局部特征--节点,却不可能完全相同节点(MinutiaPoints)指纹纹路并不是连续的,平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为节点。就是这些节点提供了指纹唯一性的确认节点特性
1.分类-节点有以下几种类型,最典型的是终结点和分叉点
A.终结点(Ending)--一条纹路在此终结。
B.分叉点(Bifurcation)--一条纹路在此分开成为两条或更多的纹路。
C.分歧点(RidgeDivergence)--两条平行的纹路在此分开。
D.孤立点(DotorIsland)--一条特别短的纹路,以至于成为一点
E.环点(Enclosure)--一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点
F.短纹(ShortRidge)--一端较短但不至于成为一点的纹路,
2.方向(Orientation)--节点可以朝着一定的方向。
3.曲率(Curvature)--描述纹路方向改变的速度。
4.位置(Position)--节点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的。 从“指纹”到“指纹术”的研究,经历了漫长的过程。指纹技术形成之后,又经过了从人工识别技术到自动化识别技术的发展转变。随着计算机图像处理技术和信息技术的发展,指纹识别技术逐渐进入IT技术领域,与众多计算机信息系统结合在一起,广泛应用起来。
Ⅳ 指纹识别的原理是什么
原理:指纹纹路经常出现中断、分叉或转折,这些断点、分叉点和转折点被称为"特征点"。特征点提供了指纹唯一性的确认信息,正因为这些不同,才可以进行识别。
Ⅳ 搜索引擎在给搜索去重的环节中用到指纹算法,那么什么是指纹算法指纹算法中的md5又是怎么运行
指纹算法:就是把指纹图像,按特征点要求的进行处理的方法以,形成特征值,此种方式就是算法
指纹模块=深圳十指科技
Ⅵ 指纹识别技术的算法
于指纹所具有的唯一性和不变性,以及指纹识别技术所具有的可行性和实用性,指纹识别成为目前最流行、最方便、最可靠的身份认证技术之一。指纹图像数据量大,通过直接比对指纹图像的方法来识别指纹是不可取的,应该先对指纹图像进行预处理,然后提取出指纹的特征数据,通过特征数据的比对来实现自动指纹识别。指纹图像预处理作为指纹自动识别过程的第一个环节,它的好坏直接影响着自动识别系统的效果。预处理通常包括滤波、方向图的求取、二值化、细化等几个步骤。
本文首先阐述了生物特征识别技术的基本概念,对自动指纹识别系统的组成也作了简要的介绍。然后对目前指纹图像预处理的一些常用算法进行了介绍,针对指纹图像的特征,采用了基于Gabor滤波器的指纹预处理方法,它为特征提取和比对奠定了良好的基础。
本文所提到的算法已在PC机上用Visual C++6.0编程实现,实验结果表明,这种方法能获得令人满意的指纹图像预处理效果。
Ⅶ 指纹识别原理
指纹识别核心的准确、高效的采集指纹分析。指纹识别采集技术的发展大致分为三个方式:光学识别、电容传感器、生物射频。
1、光学识别
光学识别是较早的指纹识别技术。基于光学发射装置发射的光线,射到手指上再反射回机器以获取数据,并对比资料库看是否一致。光学识别只能到达皮肤的表皮层,而不能到达真皮层,而且受手指表面是否干净影响较大。
2、电容传感器
电容传感器识别是利用一定间隔的安装的两个电容,利用指纹的凹凸,在手指滑过指纹检测仪器时接通或断开两个电容的电流以检测指纹资料。电容传感器对手指的干净要求还是比较高,而且传感器表面使用硅材料,比较容易损坏。以技术面来看,电容式指纹辨识技术的供应为Authentec、Validity、FingerPrintCardsAB(FPC)等,Authentec被苹果买下,Validity也被Synaptics收购。电容式指纹传感器也是现在应用最普遍的技术。
3、生物射频
射频传感器通过传感器发射微量的射频信号,穿透手指的表皮层获取里层的纹路以获取信息。这种方法对手指的干净程度要求较低。射频是目前较新的技术方案,射频也是电容方式的一种,但受限于专利问题。射频式是未来发展方向。
指纹识别采集方式
不管采用什么采集技术,从用户角度用到的就两种录入方式:按压式与滑动式。
1、滑动式
将手指从传感器上划过,系统就能获得整个手指的指纹。手指按压上去时,无法一次性采集到完整图像。在采集时需要手指划过采集表面,对手指划过时采集到的每一块指纹图像进行快照,这些快照再进行拼接,才能形成完整的指纹图像。
滑动式的优点是成本低、易集成,可采集大面积的图像,应用传统的特征点算法,但缺点是需要客户有一个连贯规范动作采集图像,体验效果比较差,在之前的应用推广中不太成功。
2、按压式
手指平放在设备上以便获取指纹图像。一般为了获得整个手指的指纹,必须使用比手指更大的传感器,整个手指同时按压在传感器之上。
按压式的优点是客户体验好,只用一次按压就可以采集图像,与客户在手机应用的操作习惯匹配,无须教育客户。缺点是:成本高,集成难度大,一次采集图像面积相对较小,没有足够的特征点,需要用复杂的图像比对算法进行识别。
很明显,在用户角度来说,按压式最简单、最方便。以后越来越多的移动设备都将采用按压式指纹识别方案。
Ⅷ matlab 图像处理 指纹识别
这是指纹识别的预处理算法;拍摄的原始图片中螺纹颜色为白色,底色为黑色。
首先是去噪;如果某点为白色,且它的8领域内白点数目小于3那么判定它为干扰信号,置为背景黑色。如果某点位黑色,但它的8领域内白点数大于7个;判定它为干扰信号,置为螺纹的白色。
最后反色,置为螺纹黑色,底色白色,大概是为便于观察把
Ⅸ 指纹识别算法或者相关的图片像素的算法
您好,目前指纹识别系统大多都采用特征点匹配,识别系统将指纹图像经过去噪处理后,把指纹图像纹理细化,然后根据指纹的特征,找到指纹的特征点进行识别,它的识别速度快,能够满足一对多个指纹的识别需要。但是对于残缺、污损指纹,在进行特征点提取的过程中只能提取到部分特征点,不能达到指纹识别所需的特征点数量,不能完成识别。同时研究发现在指纹图像的某些局部图像中,变化不明显或是有规律变化的,所以根据这些局部图像的不变和有规律变化提出了基于图像匹配的指纹局部取像辅助识别系统。因此在原有指纹系统的基础上,增加了基于garbor方向滤波的指纹识别纹理匹配的算法,作为指纹识别系统的一种有效补充,提高了识别率和降低误识率。通过对数据库BVC2004中100张不同的指纹图像测试后,系统运行性能稳定可靠,该系统既可以用于有关部门对残缺、污损指纹的识别,同时也可以满足那些强调安全性的使用者的更高使用要求。
Ⅹ 从数字图像处理技术角度谈谈对指纹识别的认识
这是我自己以前收集的资料 但愿能有帮助哈
理论分析与设计
4.1 指纹图像表示
从指纹传感器输出的是指纹原始图像,其数据量比较大。这对整个指纹识别系统的处理和存储都是个不小的负担。在远程采集系统中,对通信带宽会造成较大负荷。因此需要对指纹图像进行压缩存储。指纹图像压缩一般经过图像变换、量化和编码等过程。解压需经过解码、量化解码和反变换等过程。
压缩后的指纹图像需确保指纹特征信息的不丢失不损坏。理论上来讲采用无损压缩算法是最理想的。但经过实践证明,对于分辨率不是很高的指纹图像来说,采用无损压缩的压缩比很低。通常情况下采用JEPG、WSQ和EZW三种压缩算法。
4.2 指纹图像处理
4.2.1 指纹图像增强
刚获得的图象有很多噪音。这主要由于平时的工作和环境引起的。指纹还有一些其他的细微的有用信息,我们要尽可能的使用。指纹图像增强的目的主要是为了减少噪音,增强嵴峪对比度,使得图像更加清晰真实,便于后续指纹特征值提取的准确性.
指纹图像增强常用的是平滑和锐化处理。
(1)平滑处理
平滑处理是为了让整个图像取得均匀一致的明暗效果。平滑处理的过程是选取整个图像的象素与其周围灰阶差的均方值作为阈值来处理的。这种做法实现的是一种简单的低通滤波器。
实验表明:一般的自然图像相邻像素的灰度相关性约为0.9。因此在图像受到白噪声干扰时,以像素的邻域平均值代替中心像素,是一个去除噪声的好办法。算法是: 。其中f(x,y)表示被噪声污染的原始图像,大小为N*N,g(n,m)是平滑后的图像,S是处理点(x,y)邻域中点的坐标(不包括(x,y)点)的集合,而M是集合S内坐标点的总数。例如,以(x,y)点为中心,取单位距离构成的邻域,其中点的坐标集合为:s={(x,y+1),(x,y-1),(x+1,y),(x-1,y)}。
经验表明,邻域越大,去噪声的能力就越强,不过,从中也可以看出,邻域越大,图像就越模糊。因此,需要寻找既可以去噪声,又可以保持图像清晰度的办法,这就是阀值方法,算法是: ,其中T值是一个规定的非负阀值。只有当变化较大时(大于T),图像才进行邻域滤波;而当变化不明显时,仍然保留原先的值,这样可以减少图像的模糊。
当被处理点为边界点时,邻域平均后该点的灰度迅速下降,这样就导致边界模糊。修改方案是根据参与平均的像素的特点赋予不同的权值,即采用加权平均法: ,其中w(n,m)是加权系数。
可以根据图像的相关性,按照以下的方法确定权值:
a:给当前处理的中心像素较大的权值,其他像素的权值较小。
b:按两像素间的距离确定权值,距离处理像素近的权值较大,距离处理像素较远的权值小。
c:按和被处理像素的灰度接近程度确定权值,约接近的权值越大。
下面是几个按照以上思路设计的典型的加权平均算子。为了不使整个图像的亮度变亮,设计此类算子的时候需要将权值归一化。
A:中心加权算子。
B:中心和四邻点加权算子。
C:按灰度近似程度加权算子。
其中:
综合以上讨论可以看出:
A:平滑滤波器就是一种低通滤波器,模板的所有系数都是正数。
B:在设计滤波器时通常还要求行列数为奇数,保障中心定位性能。
C:空域低通滤波的去噪能力与它的模板大小有关,模板越大,去噪能力越强。
D:空域低通滤波具有平滑的效果,在去除噪声的同时模糊了图像边缘和细节。
(2)锐化处理
锐化和平滑恰恰相反,它是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波。锐化处理在增强图象边缘的同时增加了图象的噪声。锐化技术可分为空域和时域两种手段,空域的基本方法是微分处理,频域技术是运用高通滤波。
图像处理中最常用的微分方法是计算梯度。给定义一个函数f(x,y),在坐标f(x,y)在f的梯度定义为一个矢量G[f(x,y)]:
梯度G[f(x,y)]是函数f(x,y)最大增加率的方向,梯度矢量的幅度(梯度的模)为: ,其中 表示在矢量方向上每单位距离f(x,y)的最大值,通常用来表示f的梯度。
最常用的是Laplacian算子,即对图象进行二阶微分的计算:
。可以看出,它是个标量,具有各向同性的性质。
典型的Laplacian模板及其变形模板如下图所示。这三个模板在形式上有些区别,增强能力也不同,但都体现了二阶微分的特征。
4.2.2指纹图像二值化
在原始灰阶图像中,各象素的灰度是不同的,并按一定的梯度分布。在实际处理中只需要知道象素是不是嵴线上的点,而无需知道它的灰度。所以每一个象素对判定嵴线来讲,只是一个“是与不是”的二问题。所以,指纹图像二值化是对每一个象素点按事先定义的阈值进行比较,大于阈值的,使其值等于1(假定),小于阈值的,使其值等于0。图像二值化后,不仅可以大大减少数据量,而且使后面的处理过程少受干扰,大大简化其后的处理。
4.2.3指纹图像细化
图像细化就是将嵴的宽度降为单个像素的宽度,得到嵴线的骨架图像的过程。这个过程进一步减少了图像数据量,清晰化了嵴线形态,为之后的特征值提取作好准备。由于我们所关心的不是嵴线的粗细,而是嵴线的有无。因此,在不破坏图像连通性的情况下必须去掉多余的信息。因而应先将指纹嵴线的宽度采用逐渐剥离的方法,使得嵴线成为只有一个象素宽的细线,这将非常有利于下一步分析。
4.3 指纹特征值提取
A:指纹特征值
指纹特征值是指纹算法的基础数据,是指纹算法最重要的数据结构。不论是特征点匹配算法,还是线对或点集匹配算法,都是指纹算法程序中最核心的数据结构。指纹特征值模板一定程度影响着指纹算法的效率和精度,体现了算法的优劣。一个好的特征值模板能用最小的数据量表示最多的指纹特征信息,能用最少的特征点信息,区分出两个指纹的不同。
B:提取
指纹特征值提取是对指纹的特征信息(总体和局部的)进行选择、编码,形成二进制数据的过程。指纹特征点的提取方法是指纹算法的核心。一般采用8邻域法对二值化、细化后的指纹图像抽取特征点,这种方法将嵴上的点用"1"表示,峪(背景)用"0"表示,将待测点(i,j)的八邻域点进行循环比较,若"0","1"变化有六次,则此待测点为分叉点,若变化两次,则为端点。通过这个过程可以记录下来指纹的所有特征点。
通常一个指纹的特征点在100~150之间,在形成指纹特征值模板(也就是特征值的有序集合)时,尽量多的提取特征点对于提高准确性是有很大帮助的。