指纹识别技术的研究_第1页
指纹识别技术的研究_第2页
指纹识别技术的研究_第3页
指纹识别技术的研究_第4页
指纹识别技术的研究_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

指纹识别技术的研究 指纹自动识别系统 1 指纹识别技术的研究 摘要 由于指纹的唯一性和不变性 指纹识别己成为当前最流行 最方便 最可靠的个人身份认证技术之一 本文以自动指纹识别系统的处理流程为线索 介绍了系统的三个部分 指纹预处理 特征提取和指纹匹配 在前 人工作的基础上 我们在各个环节都提出了自己的方法 结合那些经典的算法 在很大程度上提高了图像的处理 效果与匹配结果 在指纹增强阶段 我们结合方向图与频率图修改了 Gabor 滤波器 在细化阶段 我们对传统的 OPTA 算法进行了一些改进 在指纹匹配阶段 我们着重研究了基于点模式的细节匹配 此外 我们还成功的实现 了各个算法 完成该指纹识别系统 经实验证明 该系统能够快速准确的识别指纹 达到了预期目的 关键字 图像分割 图像增强 二值化 细化 特征提取 特征匹配 一 课题研究背景 一 指纹识别的发展历史 最早记载的人的手印和脚印大约在 4000 年前古埃及建造金字塔的年代 在那个年代 一些粘土陶 器上留有陶艺匠人的指纹 中国人曾经在官方文件上按自己的指纹 公元前 300 年前的按有指纹的文 件现在还存在 直到现在这种签名方式仍然被采用 早在 1880 年英国人亨利 福兹就提出了用指纹识别系统识别犯罪 到 20 世纪 70 年代 由于计算 机的广泛应用和模式识别理论的发展 人们已开始研究使用计算机进行指纹的自动识别 目前世界各 国都在争先研究和开发实用指纹识别系统 二 指纹识别的研究现状 指纹识别是生物识别技术中最早应用 价格最低廉的分支 目前的指纹自动识别系统采用了先进 的光电识别办法 采集一个指纹信息 然后经相关的识别算法进行判断 根据已掌握的报道资料来看 目前的自动指纹识别系统已具有如下特点 1 可靠性 采用独特的容错技术 既使指纹有破坏 即指纹不全或指纹随时间有自然的变化时也 不影响正确识别 2 快捷性 大多数系统鉴别时间仅需 1 3s 登录注册一个新客户只需 1 分钟的时间 3 灵活性 一个指纹信息的代码可以压缩到几十个字节到几百个字节 因此可以存放在一个磁条 上或者一张二维条码卡上或者 IC 卡上 4 安全性 所有个人代码都经过了特殊加密 通过所存储的代码不可能复原源指纹 彻底避免了 指纹冒用 因此既使证卡丢失 也不存在安全问题 5 方便性 目前出现的各类指纹识别系统一般外观设计精巧 结实 采用了精密独特的光电系统 具有全程液晶提示 备有多种安装模式 8 实时性 可实现完整的跟踪 实时报警功能 迄今为止 自动指纹识别技术的研究虽然已经取得了很大的成绩 但同时也面临一些严重的困难 1 指纹采集技术有待提高 就实际应用来讲 目前的指纹采集设备还不能很好地满足需要 这己经成为制约自动指纹识别技 指纹自动识别系统 2 术发展的一个瓶颈 2 指纹预处理及匹配算法有待加强 目前存在的指纹增强算法主要存在以下几个问题 分割算法过于武断 一般分割算法不考虑上下文 问题 只是根据实际图像分块后得到的参数直接进行图像分割 这样很容易造成在前景图像中由于小 部分不清晰而被判断为背景的情况 这样将对后续处理产生严重影响 细节点编码彼此互不兼容 目 前 在细节点编码过中 除了编码过程中都需要的坐标等小部分公共信息 其余信息往往根据自己系 统的需要来进行提取 如周围细节点数 与中心点的夹角等 这样非常不利于系统的升级和扩展 对 数据库的扩展也有很大的限制 不利于整个指纹识别研究的发展 三 指纹识别的应用前景 指纹识别技术是当今应用最为广泛的生物特征识别技术 有着广阔的应用前景 在刑侦司法领域 刑侦用指纹识别系统可以用来鉴别罪犯 在民用领域 指纹识别技术可以通过多种方法应用到各个方面 通过使用指纹验证来取代各个计 算机应用程序的密码就是最为典型的实例 把指纹识别技术同 IC 卡结合起来是目前最有前景的研究方 向之一 由于指纹识别技术的诸多优点 可以预料 一方面指纹识别系统将会在一切需要验证身份的场所 发挥越来越重要的作用 其应用领域将会进一步拓宽 另一方面 由于市场的推动 指纹识别技术也会 不断提高 在其识别可靠性 速度 成本等方面进一步朝实用化迈进 四 指纹识别的基本原理 指纹识别是一种利用人体固有的生物特征进行个人身份识别的技术 具有唯一性和不变性等重要 特征 因而在信息安全领域 个人身份识别领域等许多方面得到广泛应用 随着计算机图像处理和模 式识别技术的发展 使自动指纹识别成为可能 自动指纹识别系统 Automatic Fingerprint Recognition System AFRS 一般有 4 个主要过程 指纹图像采集 指纹图像预处理 特征提取 特征 匹配 在一开始 通过指纹采集设备读取到人体指纹的图像 取到指纹图像后 要对原始图像进行初步 的处理 这样使指纹图像更加清晰 接下来 自动指纹识别系统从指纹图像中找寻细节点 包括端点 分歧点和交叉点等 进而提取 这些细节点的特征数据 有的算法把细节点与方向信息组合起来产生更多的数据 这些数据 通常称 为模板 最后 通过计算机模糊比较的方法 把两个指纹的模板进行比较 计算出它们的相似程度 最终 得到两个指纹的匹配结果 五 论文的主要研究内容 本论文中 我们就国内外指纹研究工作进行比较 提出了一套指纹识别算法 能在较短的时间内 较准确地识别指纹 指纹识别过程一般分为指纹图像采集 图像预处理 特征提取和特征匹配四大部分 如图 1 1 本论文研究后面三部分 对已采集的指纹图像进行处理和匹配 指纹预处理部分包括图像分割 图像 增强 二值化和细化四部分 如图 1 2 图像分割是将要处理的有效图像部分从整个指纹图像中分离 指纹自动识别系统 3 出来 这样一方面减少了后续处理的步骤的数据量 另一方面也避免了因为部分图像区域不可靠而导 致伪特征的产生 图像增强包括两个部分 首先是对原始图像上模糊但有可能恢复的部分进行增强 然后再对整幅图像滤波 消除指纹脊线间的断裂和粘连 图像二值化是提取经增强处理的指纹图像的 脊线 用 1 表示脊线上的点 0 表示背景和谷线 从而把原始灰度图像转化为二值图像 图像细 化是进一步把二值指纹脊线细化为单像素宽度的骨架线 这是为了方便以后的特征提取 本文是在前人工作的基础上摸索并设计了这套指纹的自动识别系统 如图 1 3 所示 该系统对前 人的某些工作做了改进 并提出了自己的一些思想和算法 经实验验证 效果较好 达到了预期目的 图图 1 1 指纹识别框架图指纹识别框架图 图图 1 2 预处理流程图预处理流程图 指纹自动识别系统 4 图图 1 3 指纹识别系统图指纹识别系统图 二 算法分析与设计 一 图像分割算法分析与设计 1 算法分析 指纹图像的分割通常位于预处理的前端 其目的是去掉图像中不含纹路的区域和由于噪音太大而无 法恢复的低质量纹路区域 使后续处理能够集中于有效区域 分割处理不仅能提高特征提取的精确度 而且还能大大减少指纹预处理的时间 因此是指纹图像处理中的重要组成部分 指纹分割的一般方法是将图像分割成许多互不重叠的小块 并计算每块的特征向量 根据特征向量 来判断某块为前景还是背景 指纹分割中常用的主要特征包括灰度方差 方向图 频率图和纹线峰平均 灰度值与谷平均灰度值之差 对比度 等 2 算法设计 较好的指纹的图像分割算法应在分割的过程中保护有效的指纹的纹理特征 从而提高指纹特征的精 确度 优化了整个识别系统得处理速度和效率 有效区域的分割的意义非常明显 首先 可以为以后的 操作缩小范围 节省计算时间 其次 可以排除背景区域的干扰 提高算法的精度和效率 有些文献的 算法采用的 canny 算子 该方法使得分割后图像的效果有了明显提高 但是需要很大的计算代价 对于 有限的系统资源是不允许的 我们采用的是一种更简洁的算法 虽然在精度上稍有降低 但是在速度上 可以提高 80 算法步骤如下 1 用边缘提取算子提取灰度图像的边缘 得到二值边缘图 零值表示背景 非零值表示边缘 2 用半径为 n 像素的圆形结构元 对二值边缘图做一次数值形态学的闭运算 平滑边界并对有 效区域的内部的孔洞进行填充 指纹自动识别系统 5 3 用半径为 m 像素的圆形结构元 对步骤 2 的结果进行一次开运算 去除毛刺和小目标噪声 最后得到非零区域就是指纹的有效区域 a 指纹原始图像指纹原始图像 b 指纹图像分割区域指纹图像分割区域 图图 2 1 指纹图像处理及分割区域指纹图像处理及分割区域 仿真结果如图 2 1 所示 其中 a 为指纹原始图像 b 为原始图像的分割区域 二 图像增强算法的分析与设计 1 算法分析 数字图像处理中采用的通用的图像增强方法如均值滤波 低通滤波 边缘增强等对指纹这种具有 一定特性脊线和谷线交替的图像的增强效果并不理想 这是因为这些方法都是针对图像中存在的随机 噪声 然而模糊的指纹图像主要存在纹线缺陷的结构性噪声 理想的指纹图像是脊线和谷线交替构成 脊线和谷线粗细均匀 在大部分区域 脊线之间和谷线 之间近似平行 且呈现连续的 方向平缓的曲线形态 由于指纹图像存在这些特性 指纹图像可以近 似的看成具有特定方向和频率的平面正弦波 如图 2 2 所示 基于这一特性 利用具有方向和频率选 择特性的带通滤波器可以实现很好的增强效果 采用这种方法关键是滤波器选择和设计 求取指纹的 方向图和指纹频率 图图 2 2 Gabor 滤波坐标旋转图滤波坐标旋转图 在指纹的增强算法中 常用的算法大致上可以分为两种 一类是从空域上进行滤波去噪处理 另 一类是从频域上进行细节增强 但这两中方法各有缺点 空域滤波器往往设计复杂并且过多依赖精确 方向场的求取 频域滤波器则是从整幅图像的频域空间进行全局的增强 因此又造成对细节信息的忽 指纹自动识别系统 6 视 Gabor 滤波器是带通滤波器 它以其在空域良好的方向选择性 在频域有良好的频域选择性 因而 在计算机视觉领域得到了广泛的应用 利用 Gabor 滤波器在这种在两个域内的良好性质来进行指纹图 像的增强 取得了很好的效果 2 算法设计 Gabor 滤波器实际上是一种 Gauss 窗的加窗 Fourier 变换 Gabor 变换是英国物理学家 Gabor 提 出来的 1980 年 Daugman 首先将一维 Gabor 小波推广到二维 并用于视觉简单神经元的视野感受模 型 Gabor 在空间的时域和频域视图如图 2 3 和 2 4 所示 图图 2 3 Gabor 滤波器空间函数形式滤波器空间函数形式 图图 2 4 Gabor 滤波器频率响应滤波器频率响应 一个平滑对称的 Gabor 滤波器有以下的一般形式 2 1 2 2 22 1 G expcos 2 2 f xy xy x yfx 其中x xsin ycos y xcossin y 在式 2 1 中 f 为从 x 轴上的 方向的正弦的频率 和分别为高斯包络的在轴方向和 y x y 指纹自动识别系统 7 轴方向的空间常量 本文所提出的基于 Gabor 滤波器的增强算法 其主要步骤为 1 灰度规格化 可使输入的指纹灰度图达到到预先规定的均值和方差 2 方向图估计 从规格化后的指纹灰度图中求得指纹方向图 3 计算指纹的平均频率 从规格化后的指纹灰度图中求得指纹的平均频率 4 滤波处理 对规格化后的指纹灰度图进行 Gabor 滤波用以得到增强的指纹图像 下面就这四步骤进行逐步分析 1 灰度规格化 在对指纹图像 Gabor 滤波之前 需要对指纹图像进行规格化处理 其目的是将指纹图像的灰度值 的均值和方差调整到所期望的均值和方差 以消除传感器本身的噪声和手指对传感器表面的压力不均 而带来的灰度差异 假设指纹图象 I 为 M N 大小 令 I i j 表示象素点 i j 的灰度级数 Av 和 分别表示指纹 图象的均值和方差 G i j 表示象素点 i j 规格化后的级数 见式 2 4 Av 和 分别可由公式 2 2 和 2 3 得到 2 2 11 v 00 1 A MN MN xy II i j 2 3 11 2 v 00 1 A MN MN xy II i jI 2 4 2 2 G i j v vv v vv I i jA AI i jA I I i jA AI i jA I 其中 和分别表示假设的均值和方差 由实验确定 其值大小根据图像采集器分辨率的高低 v A 此处 125 125 v A 规格化后的图像如图 2 5 所示 指纹自动识别系统 8 a 指纹原始图像指纹原始图像 b 指纹规格化后图像指纹规格化后图像 图图 2 5 指纹原始图像与规格化后的图像指纹原始图像与规格化后的图像 2 方向图估计 指纹的脊线方向已给广泛的应用于指纹图象增强 纹型的特征的提取 指纹自动分类 方向模板 的匹配 编码重构等许多关键处理环节 就方向图的形式可以分为两种 一种是点方向图 即求出每 个方向点的方向 另一种是区域方向图 即求取图像中每个局部区域中的主导方向 以该方向代表该 区域中所有像素的方向 相比而言 点方向图精度较高 但计算量较大 耗时较长 对于一个实际系 统来说我们采用速度快又能达到系统要求的算法 所以我们选用区域方向图算法 求取指纹方向图常 用的方法主要有梯度法 切缝法 抽样法和投影法 而本文综合性能 去噪 计算复杂度等方面采用 梯度法求方向场 基于脊线区域梯度方向图的算法流程如下 1 将规格化后的指纹图像进行分块 分成大小为 W W 17 17 像素的子块 2 计算子块中每个像素点的水平梯度向量 Gx s t 和垂直梯度分量 Gy s t 此处采用 Sobel 算 子求取水平梯度和垂直梯度分量 算子采用如下模版 xy 101121 Sobel202Sobel000 101100 3 计算每块以 i j 为中心的局部方向 见式 2 7 x y 2 5 2 2 x 2 2 V 2 i Wi W xy s i Wtj W i jG s t Gs t 2 6 2 2 22 x 2 2 V i Wi W xy s i Wtj W i jGs tGs t 2 7 1 x V 1 tan 2V y i j i j i j 4 通过上式求得指纹每个子块的区域方向 但是由于噪声的影响 其方向并不一定完全正确 由于局部脊线除奇异点除外 相邻子块之间变化都是比较缓慢 因此我们可以采用一个低通滤波器 此处采用一个 5 5 的模版做低通平滑滤波 为了进行低通滤波 子块的方向必须转换为连续的矢量 场 2 8 x cos 2 i ji j 2 9 y sin 2 i ji j 和 分别表示矢量场 x 和 y 的分量 分别见式 2 8 和 2 9 和 平滑滤波由公式 2 x y x y 10 和 2 11 得到 指纹自动识别系统 9 2 10 2 2 x 2 2 WW x sWtW i jW s tisWjtW 2 11 2 2 2 2 WW yy sWtW i jW s tisWjtW 为滤波器窗口宽度 即为 5 为滤波器各点权值 此处全为 1W W s t 5 求得以中心点处 i j 的脊线方向见式 2 12 2 12 1 1 tan 2 y x i j i j i j a 指纹原始图像指纹原始图像 b 指纹方向图指纹方向图 图图 2 6 指纹原始图像与指纹方向图指纹原始图像与指纹方向图 图 2 6 给出了指纹原始图像和图像的方向图 3 计算指纹的平均频率 指纹纹理除了具有稳定的方向性的特点外 还具有稳定的频率性特点 在指纹图像的一个局部区 域内 脊线和谷线的纹理走向近似平行 同时沿脊线和谷线方向的灰度分布近似正弦包络 脊线频率定义为两条相邻脊线之间间距的倒数 通过定义该包络线中的极大值和极小值 就能计 算出相应的脊线和谷线的间距 进而得到脊线的频率 在子块中以中心象素 i j 处画一个长为 m 宽 为 n 的矩形方向窗口 如图 2 2 所示 其中 m 为预先估计的脊线间距均值 与该块脊线方向一致 n 可取指纹预先估计的脊线间距三倍左右 然后计算沿 n 方向上各象素的平均灰度值 每个平均灰度值 为沿 m 方向上 m 象素的统计平均 具体如下式 2 13 1 0 1 0 1 2 1 n d X kI x ykm n 2 14 cos sin 22 mn xidk 2 15 sin cos 22 mn yjdk 式中 d 0 n 1 取 m 32 n 16 其中 I x y 是象素点 x y 的灰度值 是子块的域方向 指纹自动识别系统 10 由式 2 13 得到 X k 后 就能定位脊线和谷线的中心点 对局部子块的平均脊线或者谷线间距取导数 即求出子块的脊线频率 i j 4 滤波处理 通过上面的计算 我们已经得到了指纹图像的频率 F0 梯度方向 下面我们就是要确定 Gaussian 包络的标准偏差和 和的值将决定指纹增强的效果 如果它们的值越大 去噪 x y x y 效果越明显 同时也会带来一些伪脊线和伪谷线 如果该值越小 虽然不会带来伪脊线和伪谷线 但 是去噪能力将大大减弱 所以在进行程序设计它们必须合理 才能达到最佳效果 通过试验数据得到 把它们都舍为 4 0 前面我们对 Gabor 滤波器进行了详尽的分析 令灰度规格化的图像为 G 增强后 的图像为 E 式 2 17 利用离散卷积求出子块中每个像素增强后的值 2 16 22 00 22 1 Re exp cos 2 2 xy xy h x yFg x yF x 2 17 88 88 2 2 0 2 2 255 0 nn WW nn nnnnnn xWyW R ij E ij h x yijF ijG ix jyotherwise 其中是 Gabor 滤波器模板的大小 表示分割出的背景图像 g W nn R ij 增强后的指纹图像如图 2 7 所示 a 指纹原始图像指纹原始图像 b 指纹指纹 Gabor 增强图像增强图像 图图 2 7 指纹原始图像与指纹原始图像与 Gabor 增强后的图像增强后的图像 三 图像二值化算法分析与设计 1 算法分析 指纹图像是由不同灰度的两类区域组成的 所谓二值化就是通过设定阈值 把它变为仅用两个灰 度值分别表示图像的前景和背景颜色的二值图像 我们对局部自适应阈值法进行了研究并有所改进 现介绍如下 局部自适应阈值法对原始指纹图像要求较低 处理效果也较好 算法的复杂度一般 容易编程实 现 是一种比较好的二值化算法 但是当 W W 分块落在两种区域会引起误判 指纹自动识别系统 11 1 当落在谷线较多的区域时 会使得一部分甚至大部分的像素点被判定为脊线 2 当落在脊线较多的区域时 会使得一部分甚至大部分的像素点被判定为谷线 基于以上原因 需要对传统的局部自适应阈值法进行改进 首先利用传统的局部自适应阈值法的 思想 根据指纹图像中每一部分的明暗度来确定阈值 在求取指纹图每一块大致的阈值的基础上 对 可能的误判进行矫正 即对谷线较多和脊线较多的区域的阈值进行调整 算法对阈值进行调整的思想是这样的 设定一个谷线门限 Tg 当区域阈值小于 Tg时 说明窗口内 谷线较多 当前阈值偏小 可适当增大 同样设定一个脊线门限 Tj 当区域阈值大于 Tj时 进行减小 调整 小于 Tg和大于 Tj范围称之为调整范围 2 算法设计 算法相当于在二值化的过程中进行了一次平滑操作 因此取得了较好的二值化效果 其描述如下 1 将经过滤波的图像划分为 W W 的分块 2 计算第 k 块的灰度平均值和方差 并将方差设为初始阈值 2 k ij 1 MG i j T WW 2 ij 1 VARG i j M WW 18 3 如果方差低于设定的 Tvar值 且均值低于 Tm值 那么本块内所有点灰度为 0 并返回第 2 步 否则进行第 4 步 4 借助参数 进行以下调整 为通过实验获得的经验值 2 19 kkj k kkg TT T T TT T 5 对 k 块的每个像素点 进行以下处理 2 20 j j 255G i j T G i j 0G i j T 算法的流程图如图 2 8 所示 指纹自动识别系统 12 图图 2 8 指纹图像二值化流程图指纹图像二值化流程图 二值化后的图像如图 2 9 所示 a 指纹原始图像指纹原始图像 b 指纹二值化图像指纹二值化图像 图图 2 9 指纹原始图像及其二值化后所得图像指纹原始图像及其二值化后所得图像 四 图像细化算法分析与设计 1 算法分析 细化又称为骨架化 是图像分析 特征提取及模式识别中的常用技术 细化的主要作用是去除不必 指纹自动识别系统 13 要的纹线粗细信息 节省内存 便于从指纹图像中提取细节特征 从而提高指纹图像的处理速度和效率 我们对传统的 OPTA 算法进行了研究与改进 具体介绍如下 OPTA 算法是较为典型的图像模板细化算法 该算法从图像的左上角元素开始 按照从左到右 从上 到下的顺序对图像进行扫描 每个像素点均抽取如图 2 10 所示的 10 个相邻像素 然后将其与事先规定 的模板进行比较 如果和图 2 11 所示的 8 个消除模板中的任意一个匹配 模板中非 值的所有点 与该位置对应的领域中的像素点的值都相等 时 则准备去除点 P 即 P 0 否则保留 P 图图 2 10 OPTA 算法抽取的邻域算法抽取的邻域 图图 2 11 OPTA 算法消除模板算法消除模板 图图 2 12 OPTA 算法保留模板算法保留模板 为了保持连通性 准备去除的点再和图 2 12 所示的两个保留模板进行比较 如果匹配 则 P 仍保 留 否则 P 才真正删去 处理完整图像的过程为一次迭代 这种迭代反复进行 直到没有一个像素的值 被改变为止 迭代的次数依赖于图像的大小和纹线的形状 OPTA 算法能满足收敛性 连接性 拓扑性和保持性 对指纹图像的细化能达到较好效果 但该算法 指纹自动识别系统 14 在三叉点处往往细化不全 细化后的指纹脊线不光滑 有许多毛刺 且纹线扭曲 不在纹线中心 因此 不能满足细化性和中轴性 会给以后的指纹提取带来困难 另外 采用两个大小不同模板分两次进行运 算 其快速性受到影响 2 算法设计 对 OPTA 算法进行研究会发现 细化不全是保留模板造成的 保留模板本意是避免同一行 列 中两个 1 同时被删除 已保证 连通性 但该条件包含过大 并非所有这种情况下的中心点都应保留 保留与否还应取决于同行 列 中另一个 1 值周围的情况 若另一个 1 周围点与消除模板匹配而应删除时 中心点 1 值才应 保留 都则中心点 1 值应该删除 细化后指纹脊线毛刺多 纹线扭曲在一定程度上是由消除模板造成 消除模板 4 个中 当 为 0 时 这时与它们匹配的方窗中心 1 值被去掉后 纹线出现凹凸不平 导致纹线扭曲 迭代中也容 易形成毛刺 通过对 OPTA 算法的分析 我们提出了一种新的细化算法 对消除模板进行改造 并重新构造保留 模板 该算法采用统一的 4 4 模板 如图 2 13 所示 左上角的 3 3 方窗为消除模板区域 图图 2 13 改进的改进的 OPTA 算法的统一模板算法的统一模板 构造消除模板时 算法采用图 2 14 所示的 8 个模板 其中前 4 个模板能有效的去除边缘化的凸出 物 保证了细化后的指纹骨架处于指纹脊线中心 避免了细化后的指纹骨架出现毛刺 构造保留模板时 按前面所分析的结果来实现 即当前中心点的去留考虑到另一个 1 值周围点 的情况 构造的保留模板如图 2 14 所示 图图 2 14 改进的改进的 OPTA 算法的消除模板算法的消除模板 指纹自动识别系统 15 图图 2 15 改进的改进的 OPTA 算法的保留模板算法的保留模板 集体算法是从左上角开始 对每个像素 模板中为 P5 均抽取出如图 2 15 所示的 15 个相邻像素 先将其中的 8 个邻域像素与 8 个消除模板比较 如果与所有消除都不匹配 P5保留 否则 再和 6 个保 留模板进行比较 如果与任意一个匹配则保留 P5 否则删去 重复上述过程 直到没有像素值被改变为 止 改进的 OPTA 算法能够对指纹图像充分细化 纹线光滑无毛刺 骨架处于纹线中心线 细化后的图 像扭曲小 能最大程度的保留指纹的细节特征 因此是一种较好的模板细化算法 指纹图像经细化后 由于脊线上有可能存在小的突起 在细化后的骨架线上呈现出小的短枝 这样 就会产生伪端点和伪分歧点 所以在细化后必须加入打毛刺的程序 删除那些长度小于阈值 T 的短枝 1 毛刺的删除 毛刺的一端是端点 另一端表现为分叉点 一般毛刺的长度是很短的 根据这一特点 如果从任一 端点出发 沿着沿线跟踪 若在很短的距离内遇到了分叉点 则有理由认为跟踪过的指纹纹线部分为毛 刺 应予以删除 2 短线的删除 短线是长度小于给定阈值的一小段孤立纹线 一般来说 那些小于指纹纹线 脊线或谷线 宽度的 纹线大多属于短线 应予以删除 实验证明以上介绍的细化图像后处理算法的确能有效地提高图像质量 细化图像及其后处理所得图 像如图 2 16 所示 a 指纹细化图像指纹细化图像 b 细化图像后处理所得图像细化图像后处理所得图像 指纹自动识别系统 16 图图 2 16 指纹细化图像及其后处理所得图像指纹细化图像及其后处理所得图像 五 特征提取算法分析与设计 1 算法分析 二值化细化后的图像对于图像的特征提取非常有利 但是 二值图像总存在某些缺陷 存在伪特 征 在指纹的特征提取中 一般都会选取细化指纹上的两种特征 纹线的端点和纹线的分歧点 如图 2 17 所示 图图 2 17 脊线端点和分歧点脊线端点和分歧点 在提取的过程中 我们就选取了上述两种特征 脊线的分歧点和端点 在得到可靠的二值图像后 只需要一个 3 3 的模板便可将端点和分歧点提取出来 3 3 的模板如图 2 18 所示 P 是待检测的点 P1 P2 P8是它的 8 个邻域点 沿顺时针方向排列 R 1 R 2 R 8 分别是点 P1 P2 P8的灰度值 如果 P 是端点 则它的 8 个邻域点满足 2 21 8 1 1 2 N k CR kR k 9 1 RR 如果 P 是分歧点 则它的 8 各邻域点满足 2 22 8 1 1 6 N k CR kR k 9 1 RR 这样就可以找到特征点 并记录它们的类型和位置 为了提取特征点的属性 就需要对特征点所在 纹线的情况进行了解 因此引入纹线跟踪技术 顾名思义 纹线跟踪就是从纹线的一端出发 沿着纹线 的走向 到达该纹线的另一端 传统的算法是直接对灰度纹线进行跟踪 这种算法实现起来过于复杂 本文采用了一种新的快速纹 线跟踪算法 8 邻域编码纹线跟踪算法 用 8 邻域编码来同时表示当前点的类型和 8 邻域像素的状态 然后通过查表的方法来判断所要跟踪的下一点 该算法避免了 8 邻域信息的重复计算 速度得到了显著 提高 图图 2 18 特征提取模板特征提取模板 2 算法设计 8 邻域编码是图像处理中一种常用的技术 由于细化二值图像中每个像素点只需 1 比特的数据 0 指纹自动识别系统 17 或 1 就可以表示 那么 如果把 P 点 8 邻域像素数据按一定顺序放入一个字节 8 比特 中 就可以 用该字节数据来表示 P 点的 8 邻域信息 称之为点 P 的 8 邻域编码 对于图 2 2 所示的 8 邻域点 我们 定义 8 邻域编码顺序如图 2 19 所示 图图 2 19 P 点的点的 8 邻域编码邻域编码 则 P 点的 8 邻域编码公式为 2 23 8 1 1 P2 k c k NR k 虽然 8 比特的 8 邻域编码在理论上有 256 种可能值 但对于 8 邻域的细化二值指纹图像 由分析可 知 只有 60 种数值 而且对应于某种特定的类型 则仅对应几个数值 根据该数据 就可以准确识别 该中心点的类型和 8 邻域状态 然后用查表的方法判断下一个待跟踪点 分析细化二值指纹图像可以发现 虽然某点的 8 邻域灰度值有各种组合 但是一幅 8 邻域最简的细 化图像上的纹线点只有如下 3 种情况 而且每种情况也只有有限的若干种组合 其中 端点和分歧点就 是我们在特征提取中要提取的特征点 1 Cn P 1 Sn P 1 称为端点 即 1 各中心点的 8 邻域中只有 1 个黑点 2 Cn P 3 Sn P 3 称为分歧点 即 1 个中心点的 8 邻域中共有 3 各黑点 3 Cn P 2 Sn P 2 或者 Sn P 3 称为连续点 即 1 各中心点的 8 邻域中有 2 个或 3 个黑点 下面简要给出 8 邻域编码纹线跟踪算法的步骤 1 对细化二值指纹图像的各像素点进行 8 邻域编码 并保存 2 当前点为指定起始点 x y 指定起始方向 Dc 设初步步长 L 0 3 判断是否达到规定步长 是则终止 否则根据 Dc方向与坐标增量表更新当前点 x y 4 由当前点 8 邻域编码查编码与类型表 判断是否为端点或分歧点 是则终止 否则继续 5 求 Dc的补码 从连续点方向表中选与该补码不同的方向编码作为新的 Dc 且步长为 L L 1 返 回 3 具体流程图如图 2 20 指纹自动识别系统 18 图图 2 20 8 邻域编码纹线跟踪算法流程图邻域编码纹线跟踪算法流程图 这样就将一幅指纹图像转换为了一个由细节点组成的平面点集 在细节匹配中 对应脊线将被用 来对需要进行匹配的两个平面集进行校准 而且校准的参数 也就是两个点集中任意一对脊线间的旋 转角度 将被用作为判断它们所对应的细节点能否看做是匹配的细节点的条件 指纹所提取的特征点图像如图 2 21 所示 a 指纹细化图像指纹细化图像 b 指纹图像特征点指纹图像特征点 图图 2 21 指纹细化图像与指纹特征点图像指纹细化图像与指纹特征点图像 六 特征匹配算法分析与设计 指纹自动识别系统 19 1 算法分析 指纹匹配是指纹识别中的一个重要问题 目前的指纹识别系统主要采用基于节点的匹配方法 我 们研究的也是基于点模式的细节匹配 该方法通过某种策略分别从两枚指纹中选取一个节点作为参照 节点对 在进行节点匹配时先将参照节点对齐 然后再评估其他节点的匹配程度 令表示第一幅图像中的 m 个细节点 我们将第一幅图像称为模 pppTpppT 111mmm P x x yy 板图像 表示第二幅图像中的 n 个细节点 我们把第二幅图像称为 qqqTqqqT 111nnn Q x x yy 输入图像 为了把细节点转换到极坐标系中去 要在模板细节点集和输入细节点集中各选一个参照点 作为相应的极坐标系中的原点 并算出其他细节点相对于参照点的极坐标 对模板点集中的每一点 Pi i m 和输入点集中的每一点 Qj j n 定义 rotate i j 为将 Pi和 Qj当作参照点对时 从输入图像到 模板图像的旋转角度 如果 Pi和 Qj可以被当成一对对应点 即它们分别对应的脊线相似性到一定程度 则 rotate i j 将 取 0 360 间的一个值 否则我们定义 rotate i j 取值为 400 以表示 Pi和 Qj不能作为一对对应点 注 意 rotate i j 400 表示 Pi和 Qj对应的脊线相似性到了一定程度 则它们 Pi和 Qj 是不是对应点对及 rotate i j 的取值将由如下算法决定 用 R 表示细节点 Pi对应的脊线 r 表示细节点 Qj对应的脊线 匹 配 r 与 R 用式 2 24 计算这两条脊线间的差异 2 24 L i 0 L i 0 1 Diff dist R r L 1 Diff ang R r L didi ii 其中 L 是记录的脊线中的点个数 R di 和 r di 分别表示从脊线 R 与 r 上的点 i 到对应的细节点的 距离 di R ai 和 r ai 约分别表示连接脊线 R 与 r 上的点 i 与对应的细节点的直线间的夹角 ai 2 算法设计 我们的细节匹配算法步骤如下 1 对每一个 i i m 和每一个 j 1 n 如果 rotate i j 400 即细节点 Pi和 Qj不能被当作对应 细节点对 则重复此步并选择另一对 Pi和 Qj 否则转向步骤 2 如果所有的细节点对都已考虑过了 则转向步骤 5 2 将 Pi 和 Qj 当作参照细节点 将输入点集和模板点集中的细节点都转换成极坐标 3 将极坐标中的模板细节点和输入细节点按极角递增方向排序 并连接成串 表示如下 2 25 spppTpppTsqqqTqqqT i111mmmj111nnn P r e r e Q r e r e 其中和表示对应的极半径 极角和相对于参照点的细节点方向 ppp iii r e qqq jjj r e 4 用后面将要介绍的方法匹配串和 找出匹配分数 记录为 m score i j 然后转回步 s i P s i Q 骤 1 5 找出 m score i j 中的最大值 把它当作输入细节点集与模板点集的匹配分数 如果匹配 指纹自动识别系统 20 分数高于一个预先设定的阈值 则认为输入图像与模板图像来自一个指纹 否则认为它们来自不同指 纹 在介绍匹配串和的方法之前 我们先介绍一下限界盒及其大小 如图 2 22 所示 s i P s i Q 图图 2 22 限界盒示意图限界盒示意图 一个限界盒是放在模板细节点上的一个盒子 限界盒的大小用 angle size 和 radius size 来表示 这个盒子的一对边的极角为常数 另一对边的极半径为常数 用 angle size 表示极半径为常数的那对 的极角差异 2 26angle size angle high angle low 用表示极角为常数的那对边的极半径的差异 2 27radius size radius high radius low 有的文献中使用了一个固定大小的限界盒 即在所有的模板细节点处 angle size 和 radius size 取 同样的值 在本文介绍的方法中 它们的值将随细节点的极半径人小而改变 使用可变大小的限界盒 是为了使算法对非线性形变更为鲁棒 匹配和的算法描述如下 s i P s i Q 1 用式 2 26 和式 2 27 决定每一个模板细节点的限界盒的大小 置m score i j 0 2 进行如下循环 for int k 1 k m k for int l 1 l N l P L e if template point k 和input point l 满足condition1 m score i j 调整限界盒 指纹自动识别系统 21 上述过程中 condition1定义为 e true if A condition1 rotate k l 400 false otherwise 在接线盒内 pq LK e if e e 360 mod 360 180 A 180 otherwise pq LK if 360 mod 360 180 A 180 otherwise condition1 是将 template point k 和 input point l 看作对应点对的条件 其含义是 input point l 应该在 template point k 的接线盒的内部 这两个细节点的方向差异应小于 我们设置 30 rotate k l 应小于 400 即 Pk和 Ql对应的脊线不相似 根据上面的算法 我们设计了这套匹配算法 算法对图象效果很清楚有比较好的匹配结果 对图 象一定的形变和旋转所带来的误差有比较好的消除 而对指纹图象处理后细化效果不好的指纹匹配结 果识别效果不理想 四 总结 一 课题小结 由于指纹的唯一性和不变性 指纹识别系统的准确性和快速性 指纹识别己成为当前最流行 最 方便 最可靠的个人身份认证技术之一 本文针对指纹识别技术进行了深入研究 提出的指纹识别系 统流程包括指纹预处理 特征提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论