基于MATLAB的指纹识别系统-程序员宅基地

技术标签: 算法  机器学习  计算机视觉  深度学习  人工智能  

1本课题背景和意义

指纹识别技术的应用十分广泛,指纹因具有终生不变性及稳定性,而且不同人指纹相同的概率几乎为零,因此指纹自动识别系统被广泛应用于案例分析、商业活动中的身份鉴别等领域.目前有很多的生物测定技术可用于身份认证,包括虹膜识别技术、视网膜识别技术、面部识别、签名识别、声音识别技术、指纹识别等,具有安全、可靠的特点,其中自动指纹识别系统是目前研究最多、最有应用前景的生物识别系统。指纹识别技术的发展得益于现代电子集成制造技术的进步和快速可靠的算法的研究。

指纹门禁系统通过将用户的指纹特征与指纹特征数据库中的数据进行对比实现用户身份的鉴别,并不直接保存和使用用户的指纹图像信息,不会侵犯到用户的隐私信息,是当前技术最先进、应用最广泛的门禁系统。对生物识别(指纹识别)技术来说,被广泛应用意味着它能在影响亿万人的日常生活的各个地方使用。通过取代个人识别码和口令,生物识别(指纹识别)技术可以阻止非授权的 “访问”,可以防止盗用ATM、蜂窝电话、智能卡、桌面PC、工作站及其计算机网络;在通过电话、网络进行的金融交易时进行身份认证;在建筑物或工作场所生物识别技术(指纹识别)可以取代钥匙、证件、图章等。生物识别(指纹识别)技术的飞速发展及其广泛应用将开创个人身份鉴别的新时代。指纹所具有的唯一性、不变性、及易于获取、分类存储有规律等特性使其成为生物鉴定学中最为成熟的方式。

1.2指纹识别技术研究现状

指纹识别技术从早期的人工比对到现在采用计算机技术实现自动指纹识别,指纹对比更加准确,识别效率得到极大提高。自动指纹识别过程通常由指纹图像滤波增强、二值化、细化、特征提取以及指纹匹配等几个环节构成。指纹图像滤波增强的目的是将有噪声干扰的指纹图像变得更加清晰,使得指纹图像的脊线更黑,谷线更白,当前在实际指纹图像增强算法的应用中一般是几种滤波增强方式结合起来使用,主要的方案是基于傅里叶变换结合滤波和指纹图像点方向场的下上下滤波器;指纹图像二值化,是将指纹图像变成灰度值只有0和255两种颜色的图像,当前,在自动指纹识别中常采用的是根据指纹图像的点方向场在指纹纹线方向和指纹纹线垂直方向上对指纹图像进行二值化处理;指纹图像细化是指删除指纹纹线的边缘像素,使之只有一个像素宽度,目前在自动指纹识别技术中常用的是OPTA算法的改进的图像模板细化算法;指纹特征提取,是将细化后使用计算机数字图像处理技术采集指纹图像中奇异点、端点、叉点等指纹特征数据,目前常用的特征提取算法是先对细化后的指纹图像进行初步去噪,然后提取特征点,再根据阈值去除伪特征点;指纹匹配,是指纹预留模板图像与输入样板图像中的所有特征点的匹配,目前在自动指纹识别系统中常采用可变大小的界限盒的指纹特征匹配算法。

目前指纹识别技术还有诸多困难,例当三维的指纹被指纹录入设备扫描成二维的数字图像时,就会丢失一部分信息,手指划破、割伤、弄脏、不同干湿程度以及不同的按压方式,还会导致指纹图像的变化,这就给可靠的特征提取带来了困难;例如传统的基于细节点的识别方法,是依靠提取指纹脊线上的细节点,然后对其位置和类型进行匹配,来识别指纹的,而噪声会影响特征提取准确度,增加错误的特征点或丢失真正的特征点。当噪声很大时,就要增加图像增强算法来改善图像的质量,但很难找到一种增强算法能够适应所用的噪声,多种增强算法又会大幅增加算法运行时间,不好的增强算法又会增加人为特征。当噪声增大时,提取了许多虚假细节点,还有可能丢失细节点,这就是传统的基于细节点识别算法的不足之处之一,因为它只利用了指纹图像中的一小部分信息(细节点位置和方向)作为特征进行匹配,丢失了蕴涵在图像中的其他丰富的结构信息。不难想象,基于这种方法的识别算法,很难全面适应指纹的变化。

人的指纹含有天然的密码信息,它们具有几点重要特特点。

①广泛性,指每一个正常的人都有指纹。

②唯一性,指每一个人的指纹都不同。指纹的细节由细微纹点和纹线的起点、终点、分叉等组成。正是这些无穷无尽的细节特征组合构成了指纹的唯一性.事实上,甚至包括双胞胎,世界上两个指纹相同的概率小于1/109,几乎为零,这就构成了指纹的第一大特点。

③终生不变性,指纹终身不变即指纹的图案永远不会改变,从人的出现到死后的分解为止(除非指纹受到伤害)。

④指纹与主体的不可分离性:即指纹不存在丢失、遗忘、被窃取的可能。

指纹的使用比起其它证卡来说更快捷、安全、准确、无干扰,可实现快速登录注册,系统兼容性好,也就是说可以独立或者通过联网构成系统并且很容易并入各类证卡和定义识别系统中。因此,指纹识别技术的应用范围极广。

1.3本文的章节安排

本文以研究指纹识别中指纹图像分割、细化、特征提取、匹配等若干问题为研究主体,针对指纹识别技术中分割、细化和匹配进行了仿真和修正。其中分割部分采用了方差均值的方法,细化选取了一种伪特征较少的模板,匹配时以分叉点和端点信息进行匹配。具体的章节和各章的内容安排如下:

  1. :在介绍本论文的研究背景及意义,在指纹识别技术的现状和特点的基础上,确定了本文所做的主要工作。
  2. :本章主要介绍了指纹识别系统设计原理,为后续的研究工作奠定基础,介绍了均值方差的基础知识和基本理论以及仿真中具体的分割运用算法;指纹图像细化的方法;指纹图像细化后的特征提取,需要哪些特征,去除哪些伪特征,以方便和正确地进行匹配工作;指纹图像匹配的概念、匹配问题的困难所在和常用方法。
  3. :指纹识别系统的仿真结果及分析。

结论:总结本文所取得的一些研究成果,并对课题发展进行了展望。


2指纹识系统设计

2.1指纹识别系统设计基本结构

指纹识别系统主要由指纹图像读取,图像预处理,特征提取,特征匹配四大步骤组成。

首先,我们要提取需要处理的指纹识别的原始图片。

其次,进行图像预处理。通常图像预处理包括分割、归一化、二值化和细化, 图像预处理的目的就是去除图像中的噪声,将图像变成清晰点线图,这样才能提取到正确的指纹特征,从而达到正确匹配的目的。它的好坏直接影响到指纹识别的效果。

在此基础上, 接下来就是要对细化后的数字图像进行关键特征提取,从而达到识别不同的志文数字图像的目的。普遍采用的特征提取是提取细节点。

最后,我们将处理后的图像进行匹配,指纹图像的特征匹配主要是对所提取的细节特征进行匹配,将要比对的图像与库中图像的细节特征进行比对,并将比对结果输出,这是指纹识别系统设计中最重要的一个环节,这也是指纹识别系的最终目的。

2.2指纹图像分割

2.2.1指纹图像分割介绍

指纹图像分割在指纹识别系统中作为图像与处理的一部分,指纹图像分割的基本依据是图像的某些特征及特征的集合。如灰度值,邻域关系,纹线的扭曲程度等。图像特征是指纹图像的固有属性。通过提取图像特征,可将原始图像映射到特征空间,使图像特征在特征空间中呈现一定的分布[6]。因此根据以上的的灰度值领域关系,纹线的扭曲程度,指纹图像分割大致分为三类:基于像素的图像分割,基于块特征的图像分割以及基于全局的图像分割。

基于像素的指纹图像分割中目前流行多尺度小波变换和阈值法。小波变换和傅里叶变换的出发点都是将信号表示成基函数的线性组合。所不同的是傅里叶变换采用时间属于(一∞,+∞)的谐波函数作为基函数,

计算机中的图像信息是以离散信号形式存放的,在信号处理中,特别是在数字信号处理和数值计算等方面,为了计算机实现的方便,连续小波必须进行离散化,而最基本的离散化方法就是二进制离散,一般将这种经过离散化的小波及其变换叫做二进小波和二进变换。

小波变换的特点是压缩比高,压缩速度快,压缩后能保持信号与图象的特征不变,且在传递中可以抗干扰。在指纹识别识别中使用小波变换有助于噪声的滤除以及有利于检测奇异点。但是小波变换的明显缺点是它计算复杂,计算效果也取决于函数的选择。

另一种阈值分割就是简单地用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度在同一个灰度类内的像素属同一物体。它是图像分割中最基本的方法。其原理是先定一个阈值,大于此值为1,小于则认为为0;多阀值则可以利用多维函数。此原理在匹配中也可以运用。其优点是计算简单,仅需比较灰度值即可;运算效率较高,速度快;它的缺陷在于仅考虑图像的灰度信息,而忽略了图像的空间信息,对于图像中不存在明显灰度差异或各物体的灰度值范围有较大熏叠的图像分割问题难以得到准确的结果。

代表块特征的指纹图像分割目前研究趋势为多种块基本特征如灰度均值、块灰度方差[9]、块方向图等综合运用和重新定义块特征。其中块指的是将图像分个成一个个小的图像块。图像均值就是对每一个单位块的灰度值取均值,方差则反映该块中各点与均值的偏差性,方向[10]这可以很好的反映纹理的变化趋势。一般来说,常见的方向场的计算分为掩模法和公式法两大类。LinHong等人开发的基于最小均方估计算法,即公式法。


v2-9863b7315c20e946997c99c4e45fb32d_b.jpg

(3.1)

它是利用正交坐标系下,原点到它们组成的坐标点的有向线段与X的正半轴的夹角可来表示该子块的块方向。这种方法最大的优点是易实现,很好体现出纹理,但缺点是对于变化太快的部分出错。此方法的实现是利用方向滤波器。

基于全局的图像分割则是根据情况特别是某些特殊场合的利用,如残缺指纹。全局的图像分割可以是人工选定几个特定点后再根据全局的特点来处理,此法也可运用于匹配。基于全局的指纹识别仍处于实验室探索阶段,应用领域中尚不广泛。

2.2.2 均值方差法

在图像分割概述中,已经提到基于块特征的指纹图像分割。在这部分将重点介绍均值法差法的计算方法和在仿真中的运用。

该算法基于背景区灰度方差小,而指纹区方差大的思想,将指纹图像分成块,计算每一块的方差,如果该块的方差小于阈值为背景,否则为前景。具体步骤分以下三步:

(1)将低频图分成M×M大小的无重叠方块,方块的大小以一谷一脊为宜。

(2)计算出每一块的均值和方差。

v2-9863b7315c20e946997c99c4e45fb32d_b.jpg

(3.2)

  1. 如果计算得到的方差几乎接近于0就认为是背景,对于方差不为零的区域在进行阈值分割算法,这种算法主要是根据计算得到的方差来决定其是否为背景区。

在使用方差均值法之前还要使用归一法将图变为低频图。归一化的目的是把不同原图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。指纹图像的归一化公式如式所示。其中和为期望的灰度均值和方差。但是小波变换的明显缺点是它计算复杂,计算效果也取决于函数的选择。


v2-9863b7315c20e946997c99c4e45fb32d_b.jpg

(3.3)


在使用方差均值法之前还要使用归一法将图变为低频图。归一化[11]的目的是把不同原图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。

2.3指纹图像的细化

2.3.1指纹图像细化的预处理

这部分预处理主要为二值化。由于指纹图像脊、谷相间,因此指纹图像的处理常是将指纹图像二值化。灰度图像二值化是将灰度图变换为只有黑和白两种灰度的图像。这样不仅可以压缩原指纹图像的数据量,而且也方便后面的细节特征的提取。灰度图二值化的基本思想是选取适当的灰度阂值,将灰度图像转化为二值图像,阈值的选择是关键,对于阈值的选择,有多种方法,如熵法,Ostu法等。根据是否将图像分块处理,又分全局阈值算法和局部阈值算法两种,全局阈值算法是将整幅图像以一个阈值处理,而局部阈值算法则把原图分成若干个子图,在每个子图中确定闽值&

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_59817540/article/details/120305833

智能推荐

字典树_字典树建树-程序员宅基地

文章浏览阅读271次。原创字典树字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种。用于统计,排序和保存大量的字符串(也可以保存其的)。优点就是利用公共的前缀来节约存储空间。在这举个简单的例子:比如说我们想储存3个单词,nyist、nyistacm、nyisttc。如果只是单纯的按照以前的字符数组存储的思路来存储的话,那么我们需要定义三个字符串数组。但是_字典树建树

Android framework--谈谈AMS.updateOomAdjLocked-程序员宅基地

文章浏览阅读3.1k次。关于Android系统的内存回收机制,相信大家都不陌生,Android基于各个应用进程承载四大组件的状态对应用进程进行重要性评估,并在系统内存紧张时根据重要性由低到高来选择杀死应用进程,以达到释放内存的目的。重要性评估由AMS执行,具体来说就是AMS.updateOomAdjLocked函数,反过来说,AMS.updateOomAdjLocked的作用就是更新应用进程的重要性。应用进程(Pro..._updateoomadjlocked

计算机基础——操作系统-程序员宅基地

文章浏览阅读8.5k次,点赞28次,收藏38次。本章将会讲解计算机的操作系统。操作系统(Operating System,OS)就好比一个计算机内部的管理者,是管理和控制计算机硬件与软件资源的计算机程序,直接运行在“裸机”上的最基本的系统软件,任何其他应用软件都必须在操作系统的支持下才能运行,操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件,软件及数据资源,控制程序运行,为其他应用软件提供支持等。_操作系统

Python之pip download 命令用法-下载指定平台和python版本的依赖包-程序员宅基地

文章浏览阅读1.9w次,点赞7次,收藏27次。pip download 和 pip install 有着相同的解析和下载过程,不同的是,pip install 会安装依赖项,而 pip download 会把所有已下载的依赖项保存到指定的目录 ( 默认是当前目录 ),此目录稍后可以作为值传递给 pip install --find-links 以便离线或锁定下载包安装_pip download

centos7设置密码策略_CentOS7 设置密码复杂度-程序员宅基地

文章浏览阅读3.4k次。在CentOS下设置密码复杂度分为两步(1)修改/etc/login.defs文件vim /etc/login.defsPASS_MAX_DAYS90   # 密码最长过期天数PASS_MIN_DAYS80    # 密码最小过期天数PASS_MIN_LEN10    # 密码最小长度PASS_WARN_AGE7    # 密码过期警告天数(2)..._echo 'mypassword' | openssl passwd -6 -stdin centos7

王斌老师的博客_王斌 github-程序员宅基地

文章浏览阅读480次。http://blog.sina.com.cn/s/blog_736d0b9101018cgc.html_王斌 github

随便推点

Java递归实现Fibonacci数列计算_用递归方法编程计算fibonacci数列:(n=10),fac.jpg-程序员宅基地

文章浏览阅读2.8k次。实现代码如下:public static int factorial(int n){ if (n <= 1){ return 1; } return factorial(n-1) + factorial(n-2); }测试代码如下:System.out.println(factorial(40));测..._用递归方法编程计算fibonacci数列:(n=10),fac.jpg

scratch班级名称 电子学会图形化编程scratch等级考试四级真题和答案解析B卷2020-9-程序员宅基地

文章浏览阅读1.3k次。scratch班级名称一、题目要求1、准备工作 保留小猫角色,白色背景 2、功能实现 点击绿旗后,询问请输入年级数,等待输入年级数 询问请输入班级数,等待输入班级数 定义列表“全校班级”,假设每个班级的班级数相同,所有班级名称自动生成并保存到全校班级中。 例如,输入年级数为5,输入班级数为8,可以看到舞台上列表全校班级的内容为:1(1)班、1(2)班、...5(7)班、5(8)班 二、案例分析1、角色分析角色:小猫2、背景_scratch班级名称

郁金香2021年游戏辅助技术中级班(七)_squad辅助科技-程序员宅基地

文章浏览阅读379次。郁金香2021年游戏辅助技术中级班(七)058-C,C++写代码HOOK分析封包数据格式A059-C,C++写代码HOOK分析封包数据格式B-detours劫持060-C,C++写代码HOOK分析封包数据格式C-过滤和格式化061-C,C++写代码HOOK分析封包数据格式D-写入配置文件062-C,C++写代码HOOK分析封包数据格式D-读取配置文件058-C,C++写代码HOOK分析封包数据格式A_squad辅助科技

ssh登录qemu虚拟机里的linux系统_qemu ssh连接-程序员宅基地

文章浏览阅读350次。上面的命令启动了一个带有NAT网络的QEMU虚拟机,并设置了端口转发,将主机的2222端口映射到虚拟机的22端口(SSH端口)。1、安装openssh,如果是根文件系统用buildroot构建,打开 BR2_PACKAGE_OPENSSH 开关。2、在qemu的启动脚本里增加。3、在虚拟机里增加一个新用户。4、向虚拟机里发送文件。_qemu ssh连接

用netty实现zcool_Netty框架入门-程序员宅基地

文章浏览阅读63次。一、概述Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。二、体系结构图三、Netty的核心结构Netty是典型的Reactor模型结构,在实现上,Netty中的Boss类充当mainReactor,NioWorker类充当subReactor(默认NioWorker的个数是当前服务器的..._channelconnected

SpringBoot 过滤器 filter 3种方法_spring boot filter 配置-程序员宅基地

文章浏览阅读4.7k次。最近Spring Boot项目做单点登录对接的时候,在配置过滤器的时候,找了几种方法,记录一下。欢迎评论补充沟通~由于之前JAVA Web项目最开始都有web.xml配置,随着框架慢慢的进化,从Spring Boot开始,已经没有了web.xml配置文件。那原来在web.xml里,配置的filter过滤器,在Spring Boot中怎么配置呢?注意,这个自定义类,也不能加@Component或@Configuration注解,加了就会初始化Filter了,过滤全部的路径了。_spring boot filter 配置

推荐文章

热门文章

相关标签