基于MATLAB的指纹识别
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
灰度图滤 波去噪
二值化
二值图像 去噪
指纹的 细化
细化后的 图像去噪
• (a)灰度图滤波去噪:目的是,对输入的噪声较多的灰度图 像进行滤波处理,去除图像中的叉连、断点及模糊不清的 部分,得到一幅较清晰的灰度图像。
•
图1:方向图滤波去噪效果
• (b)二值化:把灰度图像变成一幅二值指纹图像。
图2:二值化后的效果
三、几种生物特征身份认证技术 的比较
鉴定方 广泛性 独特性 持久性 采集性 性能 法 人脸 指纹 掌形 掌纹 虹膜 签名 语音 高 中 中 中 高 低 中 低 高 中 中 高 高 低 低 高 中 高 中 中 高 中 低 低 低 高 中 高 中 中 低 高 中 高 低 高 中 中 高 高 低 低 中 接受性 防伪性 高 中 中 中 低 低 高 高 高 低 高 中 高 高 高 低 低 高
data{fp_number,1}=finger_code1; data{fp_number,2}=finger_code2;
一、序言:
• 随着21世纪的到来,电子设备变得越来越普遍, 人身份的识别也变得越来越重要,比如说我们的银行 卡和身份证都要经过电子设备才能被访问,而他们的 密码普遍使用数字的形式,这存在着很大的隐患,因 而人们一直努力创造一种独一无二的识别方式,比如 说现在已有的人脸识别、指纹识别、虹膜识别、掌纹 识别等,他们使用人体这些独一无二的特征来识别每 个人的身份;就像我们学校对老师的考勤就是用的是 指纹识别,门禁系统,它使用的是数字和字母识别。
• (c)二值化图像去噪:由于灰度去噪的不完全性及二值化的 指纹图像还需要进行一次去噪操作,得到清晰的二值指纹 图像。
图3:二值化去噪后的效果
(d)细化:把清晰的二值指纹图像通过细化变为点线图,即指 纹图中的脊线都以点线的方式表示。
图4:细化后的效果
• (e)细化后的去噪:由于前面滤波去噪的不完全性及细化算 法本身可能引入的噪音,因此,细化后的指纹图还需进行 一次滤波操作,以得到一幅清晰的点线图。
电源管理模块
模式选择开关
六、附录:
• • • • clear; clc; close all; global immagine n_bands h_bands n_arcs h_radius h_lato n_sectors matrice num_disk n_bands=4; h_bands=20; n_arcs=16; h_radius=12; h_lato=h_radius+(n_bands*h_bands*2)+ 16; if mod(h_lato,2)==0 h_lato=h_lato-1; end n_sectors=n_bands*n_arcs; matrice=zeros(h_lato); for ii=1:(h_lato*h_lato) matrice(ii)=whichsector(ii); end
b)指纹识别的缺点
• • 1、某些人或某些群体的指纹指纹特征少,难成像; 2、过去因为在犯罪记录中使用指纹,使得某些人 害怕“将指纹记录在案”。 • 3、实际上现在的指纹鉴别技术都可以不存储任何 含有指纹图像的数据,而只是存储从指纹中得到的加 密的指纹特征数据; • 4、每一次使用指纹时都会在指纹采集头上留下用 户的指纹印痕,而这些指纹痕迹存在被用来复制指纹 的可能性。
• • • • •
• • • • • • • •
• •
•
•
•
•百度文库• • •
img=imrotate(img,180/(num_disk*2)); fingerprint=double(img);
• • •
[BinarizedPrint,XofCenter,YofCenter] =centralizing(fingerprint,0); • [CroppedPrint]=cropping(XofCenter,Yo fCenter,fingerprint); • [NormalizedPrint,vector]=sector_norm (CroppedPrint,0); • • • • ComponentPrint=conv2fft(NormalizedPr int,gabor,'same'); • [disk,vector]=sector_norm(ComponentP rint,1); • finger_code2{angle+1}=vector(1:n_sec tors); end • for (angle=0:1:num_disk-1) • • • •
二、指纹识别的发展:
指纹应用可以追溯到几千年以前,但指纹学成为 一门学科,却只有百余年的历史。指纹应用可以分为 三个时期。 第一时期:摸索时期;据考证,我国已经发现6千 多年前的陶器上留下的指纹。中国是运用指纹最早的 国家之一,古代军队就设有箕斗花名册。罪犯的供词 也以捺印指纹为证。 第二时期:指纹科学化时期;这一时期是从17世 纪80年代开始的。1684年,英国医学博士格留第一次 对指纹做了分类。 第三时期:现代化、自动化时期;这一时期是从 上世纪60年代开始的。随着现代科学技术的发展,指 纹应用迅速地实现了现代化和自动化,例如,指纹的电 子计算机应用,使储存、查对、鉴定开始走向自动化 和半自动化的轨道。
(4)实验操作及结果
• 如右图直接进入 MATLAB界面,运行主 函数<fprec.m>
• 点击run进入如右图菜单, 根据菜单即可进行实验
• 其实验结果如右图
(6)实验总结及分析
a)实验证明,对于受到各种原因影响而得到的质量较 差的指纹图像,通过本实验改进的gabor滤波器对其进行 增强,可看到增强效果明显。 • 主要受到的影响因素有三个: 1)压力度; 2)用力方向; 3)所用指纹提取原料的均匀度; ……
• 1>、提取细节特征 定义: (a)脊线间的平均距离为λ ; (b)细节特征的方向:从端点出发,沿脊线跟踪λ 个像素, 用一元线性回归,求出这些点的拟合直线,该直线的方向就 是所求特征端点的方向。 (c)特征点的距离为d(欧式距离)。 (d)特征点的结构数为N。
用3x3的模板逐点对细化后的指纹图像的脊线进行检测,就 可以初步选出所有的细节特征,记录下这些细节特征的类型 和位置坐标,以便于下一步的剪枝处理。
% FingerCode added to database %手指编号增加到数据库 if (exist('fp_database.dat')==2)%exist 检查变量或函数是否被定义 返回0是没 有定义 返回1是存在定义在workspace里 面
load('fp_database.dat','-mat'); fp_number=fp_number+1;
视网膜 高
热成像 高
四、指纹识别的优缺点
• a)指纹识别的优点
•
•
• •
• •
1、指纹是人体独一无二的特征,并且它们的复杂度足以提供 用于鉴别的足够特征; 2、如果要增加可靠性,只需登记更多的指纹、鉴别更多的手 指,最多可以多达十个,而每一个指纹都是独一无二的; 3、扫描指纹的速度很快,使用非常方便; 4、读取指纹时,用户必需将手指与指纹采集头相互接触,与 指纹采集头直接; 5、接触是读取人体生物特征最可靠的方法; 6、指纹采集头可以更加小型化,并且价格会更加的低廉;
•
b) 通过前面的实验可以看到,这套预处理算法对 质量较差指纹图像的处理效果很好,而且处理速度快, 具有很强的鲁棒性(其是系统的健壮性,它是在异常 和危险情况下系统生存的关键)和实用性。配合去孔、 细化、去短枝等算法,达到预处理的目的,为以后的 特征提取、匹配等打下了坚实的基础。
•
c)尽管本实验的算法被证明是有效的,但还是有些 不足之处,对于下一阶段的研究我们还需要做到以下 几个方面: (1)对于质量较差的指纹图像,如何有效可靠地提取细 节特征,也就是寻找更好的图像预处理算法; (2)基于点模式的细节匹配算法,应进一步减少其计 算的复杂程度; (3)找出一种更有效的指纹表述方式,适用于小面积 指纹传感器所采集的图像。
分析:
• 根据所查资料可得:各种生物识别技术都具有其 自身的特点和优势,而指纹识别技术只是生物识别技 术的一种,自动指纹识别技术的一个发展方向是利用 生物识别技术的特点将指纹和其他生物识别技术相结 合,实现互补也就是多模生物识别技术。如把指纹识 别技术和脸型结合,将脸型识别结果作为一种检索, 从而实现辨识模式下的指纹识别,这样识别的速度将 得到显著提高。随着科学技术的发展,未来我们的身 份验证会变得更加具有唯一性、准确性、安全性。
五、指纹识别系统原理-验证
• 图例 用户ID • 登记 • 验证 • 1 输入 • 2 出示指纹 • 3 计算特征值 指纹库 • 4 保存ID与特征值 • 5 取出相应的指纹特征值 • 6 比较俩个指纹特征值
指纹特征值
1 2
3 4
指纹特征值
5
比对
6
指纹识别流程:
(2)图像 预处理 (1)指纹 采集
• 从图中可以看出,它由 图像采集模块、图像处 理模块、识别DSP模块、 存储模块、电源管理模 块和总线接口等组成。 各部分相互协调工作来 完成指纹图像的采集、 存储、处理、控制和输 出等功能
CPLD XC9572
缓冲器
SRAM
液晶显示 模块和控 制键盘
DSP TMS320VC 5410
FLASH
指仪传感器
扩展:基于DSP的自动指纹识别系统
基于DSP的自动指纹识别系统是基于图像处理、模式识 别理论和DSP信号处理器的基础上设计的软硬件结合的系统 ,该系统是个对实时性要求较高的图像信号处理系统。 根据DSP系统的设计要求采用了基于DSP处理器的嵌入式统 设计方法。系统整体架构如下图所示。
硬件分析图:
• • • • • • • • •
num_disk=8; % 1--> add database % 0--> recognition %ok=0; chos=0; possibility=7; %定义一个数组sss长度为100; sss=cell(100,1); messaggio='Insert the number of set: each set determins a class. This set should include a number of images for each person, with some variations in expression and in the lighting.'; while chos~=possibility, chos=menu('指纹识别系统','选择图 片并加入数据库中','为指纹识别选择图 片','信息','删除数据库',... '显示指纹图片','伽柏变换的图 形','退出'); % Calculate FingerCode and Add to Database
(3)指纹 匹配
(4)实验 操作及结果
(6)实验 总结
(5)实战演练
(1)、指纹采集
灰度处理
灰度处理
灰度处理
• (2)、图像预处理
• 图像预处理的任务是准确可靠地找到图像特征,以保证后 续的指纹匹配或分类,并能对较模糊的指纹图像有较强的 鲁棒性(其是系统的健壮性,它是在异常和危险情况下系 统生存的关键) 。 • 图像预处理主要有五个步骤:
• 如图所示,为基于细节点的细节特征提取示例图
• 2>、去除伪特征点 (1)消除图像的边缘效应 ; (2)删除图像的模糊部分带来的伪特征点; (3)删除因脊线断裂造成的伪特征点; (4)删除短枝和桥形伪特征点。
(a)细节特征剪枝前 (b)细节特征剪枝后 去除伪特征点前后比较
•
•
图为两幅图像匹配的示例,(a)和(b)为原始指纹图像,它们来自同 一手指,(c)和(d)为细化匹配的指纹图像。
图5:细化去噪后的效果
(3)、指纹匹配
• 目前流行的自动指纹识别系统大多采用基于细节点的 表述方式,这种方法是模仿人工指纹匹配,在指纹图 像上确定细节特征的位置,然后通过比较特征之间的 相互关系来确定指纹是否匹配。 • 对于细化后的点线指纹图,主要有四种伪结构。 a)因为脊线断裂产生的错误端点; b)因为脊线的错误连接产生了伪分歧点; c)因为脊线的错误断开,产生了伪端点; d)在对非平滑脊线进行细化后产生的短枝。
二值化
二值图像 去噪
指纹的 细化
细化后的 图像去噪
• (a)灰度图滤波去噪:目的是,对输入的噪声较多的灰度图 像进行滤波处理,去除图像中的叉连、断点及模糊不清的 部分,得到一幅较清晰的灰度图像。
•
图1:方向图滤波去噪效果
• (b)二值化:把灰度图像变成一幅二值指纹图像。
图2:二值化后的效果
三、几种生物特征身份认证技术 的比较
鉴定方 广泛性 独特性 持久性 采集性 性能 法 人脸 指纹 掌形 掌纹 虹膜 签名 语音 高 中 中 中 高 低 中 低 高 中 中 高 高 低 低 高 中 高 中 中 高 中 低 低 低 高 中 高 中 中 低 高 中 高 低 高 中 中 高 高 低 低 中 接受性 防伪性 高 中 中 中 低 低 高 高 高 低 高 中 高 高 高 低 低 高
data{fp_number,1}=finger_code1; data{fp_number,2}=finger_code2;
一、序言:
• 随着21世纪的到来,电子设备变得越来越普遍, 人身份的识别也变得越来越重要,比如说我们的银行 卡和身份证都要经过电子设备才能被访问,而他们的 密码普遍使用数字的形式,这存在着很大的隐患,因 而人们一直努力创造一种独一无二的识别方式,比如 说现在已有的人脸识别、指纹识别、虹膜识别、掌纹 识别等,他们使用人体这些独一无二的特征来识别每 个人的身份;就像我们学校对老师的考勤就是用的是 指纹识别,门禁系统,它使用的是数字和字母识别。
• (c)二值化图像去噪:由于灰度去噪的不完全性及二值化的 指纹图像还需要进行一次去噪操作,得到清晰的二值指纹 图像。
图3:二值化去噪后的效果
(d)细化:把清晰的二值指纹图像通过细化变为点线图,即指 纹图中的脊线都以点线的方式表示。
图4:细化后的效果
• (e)细化后的去噪:由于前面滤波去噪的不完全性及细化算 法本身可能引入的噪音,因此,细化后的指纹图还需进行 一次滤波操作,以得到一幅清晰的点线图。
电源管理模块
模式选择开关
六、附录:
• • • • clear; clc; close all; global immagine n_bands h_bands n_arcs h_radius h_lato n_sectors matrice num_disk n_bands=4; h_bands=20; n_arcs=16; h_radius=12; h_lato=h_radius+(n_bands*h_bands*2)+ 16; if mod(h_lato,2)==0 h_lato=h_lato-1; end n_sectors=n_bands*n_arcs; matrice=zeros(h_lato); for ii=1:(h_lato*h_lato) matrice(ii)=whichsector(ii); end
b)指纹识别的缺点
• • 1、某些人或某些群体的指纹指纹特征少,难成像; 2、过去因为在犯罪记录中使用指纹,使得某些人 害怕“将指纹记录在案”。 • 3、实际上现在的指纹鉴别技术都可以不存储任何 含有指纹图像的数据,而只是存储从指纹中得到的加 密的指纹特征数据; • 4、每一次使用指纹时都会在指纹采集头上留下用 户的指纹印痕,而这些指纹痕迹存在被用来复制指纹 的可能性。
• • • • •
• • • • • • • •
• •
•
•
•
•百度文库• • •
img=imrotate(img,180/(num_disk*2)); fingerprint=double(img);
• • •
[BinarizedPrint,XofCenter,YofCenter] =centralizing(fingerprint,0); • [CroppedPrint]=cropping(XofCenter,Yo fCenter,fingerprint); • [NormalizedPrint,vector]=sector_norm (CroppedPrint,0); • • • • ComponentPrint=conv2fft(NormalizedPr int,gabor,'same'); • [disk,vector]=sector_norm(ComponentP rint,1); • finger_code2{angle+1}=vector(1:n_sec tors); end • for (angle=0:1:num_disk-1) • • • •
二、指纹识别的发展:
指纹应用可以追溯到几千年以前,但指纹学成为 一门学科,却只有百余年的历史。指纹应用可以分为 三个时期。 第一时期:摸索时期;据考证,我国已经发现6千 多年前的陶器上留下的指纹。中国是运用指纹最早的 国家之一,古代军队就设有箕斗花名册。罪犯的供词 也以捺印指纹为证。 第二时期:指纹科学化时期;这一时期是从17世 纪80年代开始的。1684年,英国医学博士格留第一次 对指纹做了分类。 第三时期:现代化、自动化时期;这一时期是从 上世纪60年代开始的。随着现代科学技术的发展,指 纹应用迅速地实现了现代化和自动化,例如,指纹的电 子计算机应用,使储存、查对、鉴定开始走向自动化 和半自动化的轨道。
(4)实验操作及结果
• 如右图直接进入 MATLAB界面,运行主 函数<fprec.m>
• 点击run进入如右图菜单, 根据菜单即可进行实验
• 其实验结果如右图
(6)实验总结及分析
a)实验证明,对于受到各种原因影响而得到的质量较 差的指纹图像,通过本实验改进的gabor滤波器对其进行 增强,可看到增强效果明显。 • 主要受到的影响因素有三个: 1)压力度; 2)用力方向; 3)所用指纹提取原料的均匀度; ……
• 1>、提取细节特征 定义: (a)脊线间的平均距离为λ ; (b)细节特征的方向:从端点出发,沿脊线跟踪λ 个像素, 用一元线性回归,求出这些点的拟合直线,该直线的方向就 是所求特征端点的方向。 (c)特征点的距离为d(欧式距离)。 (d)特征点的结构数为N。
用3x3的模板逐点对细化后的指纹图像的脊线进行检测,就 可以初步选出所有的细节特征,记录下这些细节特征的类型 和位置坐标,以便于下一步的剪枝处理。
% FingerCode added to database %手指编号增加到数据库 if (exist('fp_database.dat')==2)%exist 检查变量或函数是否被定义 返回0是没 有定义 返回1是存在定义在workspace里 面
load('fp_database.dat','-mat'); fp_number=fp_number+1;
视网膜 高
热成像 高
四、指纹识别的优缺点
• a)指纹识别的优点
•
•
• •
• •
1、指纹是人体独一无二的特征,并且它们的复杂度足以提供 用于鉴别的足够特征; 2、如果要增加可靠性,只需登记更多的指纹、鉴别更多的手 指,最多可以多达十个,而每一个指纹都是独一无二的; 3、扫描指纹的速度很快,使用非常方便; 4、读取指纹时,用户必需将手指与指纹采集头相互接触,与 指纹采集头直接; 5、接触是读取人体生物特征最可靠的方法; 6、指纹采集头可以更加小型化,并且价格会更加的低廉;
•
b) 通过前面的实验可以看到,这套预处理算法对 质量较差指纹图像的处理效果很好,而且处理速度快, 具有很强的鲁棒性(其是系统的健壮性,它是在异常 和危险情况下系统生存的关键)和实用性。配合去孔、 细化、去短枝等算法,达到预处理的目的,为以后的 特征提取、匹配等打下了坚实的基础。
•
c)尽管本实验的算法被证明是有效的,但还是有些 不足之处,对于下一阶段的研究我们还需要做到以下 几个方面: (1)对于质量较差的指纹图像,如何有效可靠地提取细 节特征,也就是寻找更好的图像预处理算法; (2)基于点模式的细节匹配算法,应进一步减少其计 算的复杂程度; (3)找出一种更有效的指纹表述方式,适用于小面积 指纹传感器所采集的图像。
分析:
• 根据所查资料可得:各种生物识别技术都具有其 自身的特点和优势,而指纹识别技术只是生物识别技 术的一种,自动指纹识别技术的一个发展方向是利用 生物识别技术的特点将指纹和其他生物识别技术相结 合,实现互补也就是多模生物识别技术。如把指纹识 别技术和脸型结合,将脸型识别结果作为一种检索, 从而实现辨识模式下的指纹识别,这样识别的速度将 得到显著提高。随着科学技术的发展,未来我们的身 份验证会变得更加具有唯一性、准确性、安全性。
五、指纹识别系统原理-验证
• 图例 用户ID • 登记 • 验证 • 1 输入 • 2 出示指纹 • 3 计算特征值 指纹库 • 4 保存ID与特征值 • 5 取出相应的指纹特征值 • 6 比较俩个指纹特征值
指纹特征值
1 2
3 4
指纹特征值
5
比对
6
指纹识别流程:
(2)图像 预处理 (1)指纹 采集
• 从图中可以看出,它由 图像采集模块、图像处 理模块、识别DSP模块、 存储模块、电源管理模 块和总线接口等组成。 各部分相互协调工作来 完成指纹图像的采集、 存储、处理、控制和输 出等功能
CPLD XC9572
缓冲器
SRAM
液晶显示 模块和控 制键盘
DSP TMS320VC 5410
FLASH
指仪传感器
扩展:基于DSP的自动指纹识别系统
基于DSP的自动指纹识别系统是基于图像处理、模式识 别理论和DSP信号处理器的基础上设计的软硬件结合的系统 ,该系统是个对实时性要求较高的图像信号处理系统。 根据DSP系统的设计要求采用了基于DSP处理器的嵌入式统 设计方法。系统整体架构如下图所示。
硬件分析图:
• • • • • • • • •
num_disk=8; % 1--> add database % 0--> recognition %ok=0; chos=0; possibility=7; %定义一个数组sss长度为100; sss=cell(100,1); messaggio='Insert the number of set: each set determins a class. This set should include a number of images for each person, with some variations in expression and in the lighting.'; while chos~=possibility, chos=menu('指纹识别系统','选择图 片并加入数据库中','为指纹识别选择图 片','信息','删除数据库',... '显示指纹图片','伽柏变换的图 形','退出'); % Calculate FingerCode and Add to Database
(3)指纹 匹配
(4)实验 操作及结果
(6)实验 总结
(5)实战演练
(1)、指纹采集
灰度处理
灰度处理
灰度处理
• (2)、图像预处理
• 图像预处理的任务是准确可靠地找到图像特征,以保证后 续的指纹匹配或分类,并能对较模糊的指纹图像有较强的 鲁棒性(其是系统的健壮性,它是在异常和危险情况下系 统生存的关键) 。 • 图像预处理主要有五个步骤:
• 如图所示,为基于细节点的细节特征提取示例图
• 2>、去除伪特征点 (1)消除图像的边缘效应 ; (2)删除图像的模糊部分带来的伪特征点; (3)删除因脊线断裂造成的伪特征点; (4)删除短枝和桥形伪特征点。
(a)细节特征剪枝前 (b)细节特征剪枝后 去除伪特征点前后比较
•
•
图为两幅图像匹配的示例,(a)和(b)为原始指纹图像,它们来自同 一手指,(c)和(d)为细化匹配的指纹图像。
图5:细化去噪后的效果
(3)、指纹匹配
• 目前流行的自动指纹识别系统大多采用基于细节点的 表述方式,这种方法是模仿人工指纹匹配,在指纹图 像上确定细节特征的位置,然后通过比较特征之间的 相互关系来确定指纹是否匹配。 • 对于细化后的点线指纹图,主要有四种伪结构。 a)因为脊线断裂产生的错误端点; b)因为脊线的错误连接产生了伪分歧点; c)因为脊线的错误断开,产生了伪端点; d)在对非平滑脊线进行细化后产生的短枝。