《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 一种基于USB的指纹采集与识别技术研究
一种基于USB的指纹采集与识别技术研究
芦 焱 汪志红 陆 坤
成都理工大学核技术与自动化工程学院(610059)
摘要: 介绍了基于USB接口的指纹传感器MBF200的工作原理、硬件电路、基于指纹传感器的指纹识别系统的选择和定制以及采用极坐标的指纹识别算法。
Abstract:
Key words :

 摘   要: 介绍了基于USB接口的指纹传感器MBF200的工作原理、硬件电路、基于指纹传感器的指纹识别系统的选择和定制以及采用极坐标的指纹识别算法。
关键词: 指纹识别  MBF200  识别算法

   指纹识别技术是近年来发展迅速的一种高新技术。该技术利用人类指纹的惟一性和不变性这一生理特征进行身份鉴定。由于自动指纹识别系统(Automated Fingerprint Identification System,AFIS)具有难以伪造等优点,因而在金融、电子商务、以及安全性要求较高的行业如公安案例分析、户籍管理、考勤、门禁等系统都有相当广泛的应用前景。
  在指纹身份识别应用领域中,指纹采集是十分关键的环节。目前,常用于指纹采集的光学传感器、半导体传感器和超声波传感器中,技术成熟、性价比高、误识率(FAR)和拒识率(FRR)低的当属半导体型的硅芯片录入技术。本设计中采用的是电容式半导体指纹传感器。
1  基于USB的指纹采集系统
1.1 指纹传感器
  Fujitsu公司的电容式半导体指纹传感器MBF200是一款高性能、低功耗、低成本的接触式指纹获取器件。MBF200采用标准CMOS技术,80引脚VSPA封装(其中40个脚为NC);片内集成有8位A/D转换器,提供了8位?滋P、USB1.1和SPI三种总线接口(它们所允许的最高采样率分别为30fps、13fps、10fps);工作电压3.3~5V,功耗低于70mW,待机电流仅20?滋A;片内有手指自动检测电路(AFD),在手指接触传感面时,AFD电路将自动唤醒主机进行处理,从而大大降低了系统功耗;芯片集成了一个面积为1.50cm×1.28cm的300×256传感阵列(每个传感单元间距50?滋m),具有500dpi的分辨率,传感面具有超硬、耐磨和抗腐蚀的保护外壳,并能承受高达8kV的静电放电。MBF200传感器的结构框图如图1所示。
MBF200的工作原理:芯片背部的传感部件由按行列排布的金属电极阵列组成,工作时,每个金属电极充当电容的一个极,而触到传感器的手指作为电容的另一个电极,器件表面的一层钝化物质充当电容的电介质。手指皮肤纹路(沟/脊)对整个传感阵列呈现出不同的电容值,读出每个传感单元(电容)充放电值的变化就形成了指纹的图像。传感阵列由排成300行×256列的电极组成,片内2组采样-保持电路连到每1行传感电极上。指纹图像按行采集,1次1行。每1行采集分2相完成,第1相期间所选行的电极被预充电至Vdd电平,此时,内部控制电路使能第1组采样-保持电路保存该行电极预充电的电压值;第2相期间1个片内电流源对该行电极进行放电(反向充电),每1个传感单元的放电速率正比于其放电电流,经历一小段固定时长的放电后,内部控制电路又使能第2组采样-保持电路并存储下电极电压的终值。各个传感单元充/放电前后的电压差值反映了相应位置的指纹信息,经A/D转换后即得指纹的8位数字值。

1.2 USB接口设计
  本设计方案中采用芯片自带的USB1.1接口与PC机通信,并从外部E2PROM器件对MBF200进行配置。MBF200与外围电路的连接如图2所示。图中,AT25640是具有SPI接口的8KB串行Flash存储器。
 

  MBF200的USB接口有3个端点:端点0为控制传输端点,用于系统枚举和设置;端点1用于批量传输读入指纹数据;端点2用于中断传输。当产生中断事件时,中断状态寄存器的内容就会传到端点0。
  系统软件由设备驱动程序、固件程序和应用程序组成。设备驱动程序采用WDM模式;固件程序主要完成对指纹采集的控制,其流程图如图3所示;应用程序通过设备驱动程序实现对指纹采集器的控制、数据的传输以及指纹识别的实现(用VC++编写)。

2  指纹识别处理系统
  指纹识别的基本原理是:采用细节点坐标模型来做细节匹配。它利用指纹脊末梢与脊线分支点这2种关键点来鉴定指纹,最终决定二幅指纹图像是否来自同一个手指。
  本识别系统主要由指纹采集、图像增强、特征值提取、匹配识别四部分组成。指纹识别系统框图如图4所示。由于采用1:N的模式,所以加入了指纹细节点数据库,由离线和在线二部分构成。离线部分将采集指纹进行图像增强,特征值提取后将细节点保存到数据库中。在线部分将最后得到的细节点与数据库中的细节点进行匹配,判断采集到的指纹是否与数据库中的某一指纹相同,最后输出结果。
 

2.1 图像增强
  输入指纹图像的质量将影响到下一步指纹细节特征提取算法的性能。然而通过指纹传感器直接得到的指纹图像往往质量不高,主要是由于采集过程中一些人为的不一致接触和不均匀接触以及设备本身的噪声干扰等因素造成。这就需要在细节特征提取之前对采集到的指纹图像进行处理。其目的是使指纹图像清晰,轮廓更加明显。指纹图像处理分为3步:平滑、二值化和细化。平滑处理主要是去除干扰噪声,而又不使图像失真。二值化处理是使图像画面为黑白二值的图像,不呈现灰度的变化。二值化处理前后的图像如图5所示。细化是把纹线粗细不均匀的指纹图像转化成线宽仅为1个象素的条纹中心线图像。图像通过以上3步处理就可以得到清晰的指纹点线图,便于下一步的指纹细节匹配。

2.2 特征值提取及细节匹配
 

  其中L是记录的脊线中的点个数,R(di)和r(di)分别表示从脊线R与r上的点i到对应的细节点的距离,R(αi)和r(αi)分别表示连接脊线R与r上的点i与对应的细节点的直线同对应细节点方向的夹角。输入脊线与模板脊线的校准如图6所示。如果2条脊线的差异distance和angle小于预先设定的某个阈值,则认为是2个指纹设定的某个阈值,且认为2个指纹的这条脊线相似。当所采集的脊线都相似时就认为是同一个指纹。

2.3  指纹数据库的建立、查询、读写
  本系统应用Access数据库来建立指纹特征值库。特征值库中除了指纹特征值以外还包括与之相关的信息:num、姓名、性别、登录时间等,如图7所示。

  (1)数据库的建立。数据库建立并打开:
   hr=m_pConnection.CreateInstance(″ADODB.Connection″);
              //创建conenction连接
  hr=m_pConnection->Open(″Provider=Microsoft.Jet.OLEDB.4.0;\
  Data Source=TestDB.mdb″,″″,″″,adModeUnknown);
            //创建打开数据库
  (2)数据库查询。向数据库中插入新信息:当系统工作在离线状态时,需要向数据库中添加新的指纹信息及相关信息。
  void CDBDlgDlg∷Insert( );//插入函数
  m_pRecordset->AddNew( );m_pRecordset->GetFields( )->
  GetItem(″Data″)->AppendChunk(varBLOB);//添加记录
  (3)数据库读写。从指纹数据库中读取特征值:
   void CDBDlgDlg∷GetData( );//从数据库中读取数据
  登录时间显示:
  m_sTine.Format(″%d:%d:%d″,curTime.GetHour( ),curTime.GetMinute( ),curTime.GetSecond( ));
3  结  论
  本系统采用基于USB接口的指纹传感器实现了整个指纹识别系统,在实验中取得了满意的结果。该系统的优点是比对速度快,识别率高。系统可应用于考勤管理等诸多领域。
参考文献
1   Fujitsu Microelectronics America Inc.MBF200 Solid State  Fingerprint Sensor DataSheet.2003
2   Jain A,Hong L,Bolle R.On—Line Fingerprint Verification.  IEEE Trans on patten Analysis and Machine Intelligence,1997;19(4)
3   阮秋琦.数字图像处理.北京:电子工业出版社,2001
4   王侃伟,方宗德.嵌入式指纹识别系统开发.电子技术应用,2003;29(4)
 

此内容为AET网站原创,未经授权禁止转载。