网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 微控制器 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  基于DSP的指纹识别模块的实现    3星级
基于DSP的指纹识别模块的实现
[作者:不详    转贴自:E代电子    点击数:    更新时间:2005-7-21
【字体:
摘要:介绍了用硬件实现的独立指纹识别系统。讨论了指纹识别的算法概述、设计方法及其在DSP板上的实现。
 
 
随着指纹识别技术的不断发展和成熟,高度的精确性使其已应用到身份认证的各个领域。与其他生物统计学特征相比,指纹特征更容易提取、更可信,且特征尺寸也很小。这些特点使指纹识别系统在有限资源平台上实现并维持一定性能(FAR、FRR及匹配时间等)成为可能。
本文讨论了指纹识别系统的设计和实现方法。介绍运用细节的脊线形状特征作为本算法的基础;基于这种思想,建立了指纹识别算法流程。该算法很容易在任何平台上实现。笔者选择了高效的DSP平台,设计了一个专业的用来单独实现指纹模块的DSP板。最后,讨论了这种指纹识别系统的现状和未来的发展。
1 细节脊线的形状特征
指纹图像上各种各样的线条被称为脊线,脊线之间的空白称为谷。指纹的细节特征是指纹识别的依据,最常用的细节特征是脊线的端点和分*点。图1显示了端点和分*两个细节特征。端点就是脊线的终点,分*表示一条脊线从一条路径在Y型结合点变为两条路径。细节比较运用细节类、坐标(x,y)以及方向作为比较的特征。
一种运用细节脊线形状特征进行指纹识别的新思想。细节脊线形状是指脊线与作为指纹图像相关特征的细节进行关联后所得的形状。当一个细节在被提取和记录时,可以得到其关联脊线分割后的迹线点。这些细节和迹线点能够描述脊线,特别是其对应的细节位置。这种新方法是基于迹线点的相对距离来描述脊线的形状。这种描述方法更为精确,因为这种相对距离不会因指纹在获取中的位移和旋转而改变。这也是该方法相对其他特征点求取方法的优势。
如图2所示,细节和其轨迹点能够用来描述脊线,特别是连接到具体的细节位置。脊线上轨迹点的采样间隔被设定为一固定值D,如果5个点被采样作为1个细节点和4个轨迹点,用3个相对参数d1、d2、d3对脊线形状进行描述。
对于固定的采样间隔D,为了增加精确度,使用内插法定义正确的轨迹点位置。因而,指纹图像的重要数据(脊线形状数据)能通过一种独立于位移和旋转的简单途径获得。每一个参数能够以6bit的数据表示。因此一个有25个细节脊线形状的指纹图形能够以6×3×25位=56.25字节存储。
2 识别流程
指纹识别系统如图3所示,可以分为存储和匹配两部分。记录的目的是提取指纹特征(模板)。在比较处理过程中,将输入的指纹图像特征与模板进行匹配,通过比较决定匹配结果。
图4显示了该指纹识系统的算法处理过程,主要过程包括:
·图像处理——获得高质量的二值图像;
·纹路细化——获得细化后的二值图像;
·细节提取——提取端点和交*点形状;
·细节比较——比较模板和输入图像的细节。
图像处理的目的是把输入的灰度图像转化为高质量的二值图像。指纹图像是一种噪声较大的图像,因此需要图像增强减少这些噪音,并增强脊线。

  
第一步,使用高通滤波器和低通滤波器预滤波进行平滑处理。通过第一次二值化处理,过滤后的灰度图像转化为二值图像。第一次二值化处理后,每个二值图像块的方向被提取,并且最大方向被计算出来。然后,过滤后的灰度图像沿着已经查明的方向通过方向滤波器进行平滑处理。最终的二值图像通过对最后的灰度图像进行第二次二值化处理后得到。
经过图像预处理,指纹二值图像被细化以便脊线图案成为一个像素宽的连接线段。图5中a、b、c分别为原始输入灰度指纹图像,以及细化前和细化后的二值图像。
详细的细节是从细化后的二值图像中提取的。详细的分支被发现后,就从分*点或终点开始描绘轨迹。包括细节点的至多五个点被作为完好的细节标准提取。然后,通过这些点,细节的形状数据被计算出来。这种形状数据作为特征数据和细节类型以及它们的位置都被记录下来。

    两个指纹的匹配指数是基于细节形状的相似程度、细节的类型和它们的位置计算出来的。位移和旋转作为评估两个指纹匹配指数的考虑因素。
3 DSP平台的优化
为了达到快速识别的目的,图像处理通过对指纹输入图形进行块处理取得。这种方法同时可以减少对内存的要求。由实验得知:16×16像素高通滤波和4×4像素的低通滤波可以得到最好的预滤波效果。为了计算一块16×16像素的最大方向,方向滤波器被屏蔽在块图像上。然后,用5×5的方向滤波器屏蔽灰度级图像。
表1给出了DSP平台实现的内存要求。内存优化主要集中在达到最小运行内存?穴图像输入缓冲、预滤波中间结果和输出二值图像?雪的要求。对于当前应用,从传感器接收的图像大小为224像素×288行。图像被传感器逐行扫描,在缓冲区满了以后,进行块处理并得到一行二值图像。这个处理过程不断循环重复。

表1 内存需求

类  别
名  称
大小(word)
程序
指纹算法
查表
应用
8492
462
3672
数据
工作区应用数据
18414
397
模板
数据和状态(*)
990
其他
堆栈等
640
合计
内部
外部(*)
32077
990

表2 处理时间

功  能
名  称
Mcc
Mcc/s
图像处理
捕获图像
预处理
后处理
细化
19.50
13.35
14.04
8.04
302.27
206.94
217.67
124.63
特征提取
细节(全旋)
6.45
100.03
匹配
比较(全旋)
比较(1/4旋)
4.20
1.20
65.10
18.60

表2给出了DSP的处理时间。某些部分的编码进行了汇编语言级的优化,特别是对接口(传感器和Flash EEPROM)的匹配处理和细化。一个重要的性能衡量是匹配时间。匹配时间可以用公式表示为:t=p+f+c×u(t:匹配时间,i:图像处理时间,f:提取时间,c:比较时间u:总的用户个数)。在100MHz的DSP上实现一对一的全旋转匹配,时间大约为:t=558+64+42×1=664ms。

    本算法提供两种选择:全旋和1/4旋。全旋转使得算法对指纹输入处理更加强健。通过1/4旋转,可以缩短匹配时间,但是,这限制了指纹输入的旋转在±45°。表3给出了这两种选择的比较结果。

表3 速度选项和匹配时间

旋转
比较时间(ms)
2秒内的n个用户
全旋
42
32
1/4旋
12
114

4 硬件实现
图6显示了指纹模块的方框图。板上有作为主要处理器和控制器的DSP、FPGA,以及作为外围设备的指纹传感器、闪存、RS-232以及LED接口。这个板最高可以100MHz工作,以5MHz的速率从指纹传感器上采集数据。
这块板最初设计集中于高性能和稳定性。在确立了稳定模块之后,致力于减少板子占用的空间以降低制造成本。

    本文对指纹识别算法进行了发展,优化了DSP平台的设计实现,并在此基础上设计出了一个用于指纹识别的完整系统。该系统可以实现高性能的独立指纹识别。当然,仍有许多地方可以改进。例如,还可以进行指纹分级算法来提高匹配处理的速度。这种指纹验证在电子商务等领域的应用也在不断发展,并且这种算法可以被嵌入到单片LSI中。
 
 
 
  • 上一篇文章:TMS320C6201/6701 DSP处理器与FLASH存储器的接口设计
  • 下一篇文章:基于DSP在射频识别系统中的应用
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于单片机和串行总线技术的热量表...
     数字温度传感器详解
     用AD8302实现RF/IF幅度和相位测量系...
     一种简单的10MHz频率源兼分配放大器...
     维氏电桥振荡器
     检验液晶显示器的简易测试仪
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号