采用MTK+DSP的双目视角非接触3D指纹识别系统
已有 827 次阅读2015-1-10 16:34
[color=#333333][b]3D指纹信息采集 Android [/b][/color]
[color=#333333][i]采用指纹信息作为身份识别手段的应用已经很广泛,但传统的指纹信息识别身份时存在容易被仿造的缺点。3D指纹信息不但可以进一步提高[url=http://www.ednchina.com/SEARCH/ART/%D6%B8%CE%C6%CA%B6%B1%F0.HTM]指纹识别[/url]率而且可以很好地克服该缺点。在此主要介绍利用[b]双目视角[/b]技术采集3D指纹信息,提出了一种3D指纹信息采集的解决方案。详细介绍了以MTK平台作为控制平台,DSP芯片做算法处理的硬件设计。该设计的硬件成本低且安全性高。在C/S结构的系统设计中,通过测试该硬件方案可以直接在客户端上采集信息,便携性好。[/i]
近代指纹识别系统就指纹的采集方式而言总体可分为接触式和非接触式。接触式的识别方式,如指纹锁,手续简化识别率较高,但由于模仿手指蘸墨压印的方式,得到的指纹图像容易被模仿,反侦查能力差,同时容易受手指的环境条件干扰;非接触式的指纹识别系统,可以排除手指环境及压印等外部因素,进一步提高了识别率,却有脊纹不明显而失配率高的缺点。新近提出的基于双目视角的非接触式3D指纹识别系统,解决了二维指纹图像脊纹不明显而失配率高的问题,但以计算机为处理中心,系统体积大,便携性差,硬件成本高。
为了完成指纹信息库的建立及信息的网络化要求,一个完善的指纹采集系统按功能把系统划分为客户端和服务器两部分。以往的采集系统客户端大多仅仅完成信息采集任务,把采集的信息通过网络上传至服务器,由服务器完成对比算法任务后,再将信息识别的结果通过网络传递给客户端,这样的系统实时性不高,且便携性不好,客户端离开服务器后无法单独完成信息识别任务,独立性较差。
本文提出了一种双目视角的非接触式3D指纹识别系统的方案,应用该方案能够很好地解决以下问题。
(1)指纹信息采集采用双目视角光学采集模块,具有识别率高,不易被模仿,反侦察能力强的特点。
(2)客户端采用联合MTK 和DSP作为嵌入控制双核心,将传感器采集的指纹信息通过DSP器件做识别算法,并由MTK 集成平台完成与服务器无线方式的信息传递。
[b]1 3D指纹信息采集原理[/b]
[b]1.1 3D指纹[/b]
3D指纹是一种新兴的技术手段,能深刻地呈现手指上的山脊和山谷般的纹线。通常,采用非接触的工作方式采集而成,具有以下优点:
(1)真实性高,排除了挤压带来的皮肤扭曲,获得的指纹自然舒展;
(2)环境容限率好,各种条件的手指皮肤条件,如干湿、肮脏等,都不影响正常采样;
(3)舒适程度高,非接触式模式下采样,可以实现隐秘采集指纹,抵抗反侦查的各种虚假手段成功率高;
(4)兼容性好,3D 指纹展平后可以兼容现有二维指纹数据库。
[b]1.2 双目视角[/b]
双目视角(Binocular Vision)成像技术可以用于非接触3D 指纹图像采集,结合现有的两种3D 成像技术——多目视角(N-Views)和结构光(Structured-Light,SI)扫描,而形成的一种3D成像技术,其原理是:采用光投影的方式,在事物上投影出一定式样的结构光,形成一定角度的两台高清摄像头采集数据,经过后台处理该两组数据,还原出某一视觉范围内的3D 图像。该技术采集设备数量少、结构简单、采集速度快。
[b]1.3 双目视角3D指纹采集系统结构图[/b]
如图1 所示的双目视角3D 指纹采集结构图,即为本系统的采集传感部分。为了获得高清图像,本系统中选择了OmniVision 公司生产的800 万像素手机摄像头模组OV8820和三星公司生产的、具有1 920×1 080高清分辨率的A600B 投影仪。由于OV8820 具有移动产业处理器接口(Mobile Industry Processor Interface,MIPI)以及A600B具有高清晰度多媒体接口(HDMI),方便了系统的集成。
[img]http://image.ednchina.com/2015/3Dfingerprint01.JPG[/img][i]
图1 双目视觉的3D指纹采集原理[/i]
[b]2 系统总体设计[/b]
3D指纹识别系统采用了客户端/服务器(C/S)模式,如图2所示。服务器作为数据库管理中心,主要接收客户端的传输请求,解析指纹数据包的命令和建立数据库反馈识别结果。
客户端主要包括控制单元、指纹算法实现单元和信息采集单元三部分。控制单元完成三大功能:与服务器交互进行结果反馈、控制光学采集系统获得数据、与指纹算法核心有效沟通处理数据;指纹算法单元则进行复杂的图像处理;信息采集单元接收控制核心的控制命令,瞬间实现指纹采集并传输数据。本设计以双核MTK 和DSP 为双控制核心取代以往的单一内核,功能分离、权责分明,系统的实时性、稳定性以及开放性得到大大的提高。如图2 所示,MTK6577 芯片内部的双核CPU可以完美地实现控制与传输功能分离,TMS320C5515型DSP分担复杂的图像处理事务。
[img]http://image.ednchina.com/2015/3Dfingerprint02.JPG[/img][i]
图2 实时3D指纹识别系统的结构图
[/i]
[b]2.1 MTK平台[/b]
联发科技(Media Tek,MTK)平台,是一款通用的嵌入式手机开发平台;系统方案内部采用开放式的软硬件接口,具有强大的技术支持,用户可以快速地定制无线通信的应用。在本系统中,MTK平台作为控制核心,其功能从硬件底层来看是实现数据流的输入/输出;从3D指纹识别系统上层来看是实现双目视角的照相机驱动、结构光的产生和控制、图像数据的采集、与服务器无线传输通信等。MTK芯片的选择主要考虑了以下三个因素:
(1)控制投影仪产生结构光投影,需要支持高清晰度多(HDMI);
(2)控制双摄像头采集,需要高性能高速度的MTK芯片;
(3)为保证数据与服务器的实时无线传输,需快速的移动网络。
在MTK 公司的众多基带芯片中,MTK6577 是一款高性能的双核处理器。其主频只高达1.2 GHz,不仅芯片内核强大:采用Cortex A9构架,二级缓存高达1 MB,集成3G移动宽带连接,支持单模HSPA+网络,上传下载速度不低于5.6 Mb/s,集成了图像信号处理器、JPEG硬件编码和解码器,最高可以以15 f/s的速度进行800 万像素图像采集等;而且外围接口丰富,具有一个高清晰度多媒体接口(HDMI)和双摄像头接口。
[b]2.2 DSP功能[/b]
数字信号处理器(DSP)在本系统中作为控制核心的附属机构,主要实现与MTK 芯片之间指纹数据的输入和输出、指纹算法运行处理这两大功能。前一个功能主要是依赖于硬件外部接口间实现,而后一个功能偏向于DSP芯片内部资源。因此,在选型方面主要考虑以下因素:
(1)与MTK 芯片之间实现数据通信,需要专用的外部存储器接口(External Memory Interface,EMIF);
(2) 为了保证实时性,专用的快速傅立叶(FastFourier Transform,FFT)运算硬件器更有利于指纹图像算法的执行。
[i][/i]
TI 公司的TMS320C5515是一款高性价比的DSP芯片,专为生物模式识别应用而开发的。芯片采用定点数的TMS320C55xDSP 处理器核,内部有一个紧耦合式的FFT硬件加速器,主频可高达120 MHz,320 KB片上RAM,外加一个EMIF 接口,利于指纹识别系统的设计与开发。
[b]3 系统硬件设计[/b]
[b]3.1 双目视角的硬件接口[/b]
MTK6577 采用标准的移动应用处理器接口(Mobile Industry Processor Interface,MIPI)协议,方便了用户开发影像方面的应用。本文所设计的系统运用了MTK6577芯片自带的高速照相机串行接口(Camera serial interface,CSI)与相机模块OV8820 进行数据通信,并采用了串行相机控制总线(Serial Camera ControlBus,SCCB)控制相机进行采集事务,如图3所示。
[img]http://image.ednchina.com/2015/3Dfingerprint03.JPG[/img][i]
图3 双目视角的硬件接口
[/i]
[b]3.2 双控制核心协同接口设计[/b]
双目视角的3D 指纹识别系统采用了双核心的模式。考虑到指纹识别系统需要完成图像采集、处理、存储并与服务器进行传输等事务,本系统中采用了两片由Micron公司生产的SDRAM存储器MT48LC16M16A2,通过Altera公司的CPLD 芯片,形成大容量双动态的数据存取方式,协同双控制核心的工作事务,如图4所示。MT48LC16M16A2 存储器片是一款具有256 MB 的大容量,位宽为16 b,4 个大小为4 MB 大小的存储Bank,不但片内Bank间可以实现乒乓式数据存取,而且片间的乒乓式数据存取,极大方便指纹采集与处理、暂存与传输等事务交替运行。
[img]http://image.ednchina.com/2015/3Dfingerprint04.JPG[/img][i]
图4 双控制核心协同接口[/i]
[b]4 系统软件设计[/b]
整个基于双目视角的3D指纹采集系统软件的设计主要包括客户端模块、服务器端模块和C/S结构下的协同开发三部分,系统软件框架如图5所示。
[img]http://image.ednchina.com/2015/3Dfingerprint05.JPG[/img][i]
图5 系统软件框架
[/i]
[b]4.1 客户端模块设计[/b]
客户端模块基于Android平台进行开发的。在Android平台的应用层、应用框架层、组件库层和虚拟机等应用框架的基础上,开发了3D 指纹采集系统的指纹算法、图像采集等应用层的程序;在Android平台的Linux内核层经过可裁剪处理,改进双摄像头、增加结构光协同事务等硬件驱动。
客户端模块工作时,会请求与服务器连接,然后开启多任务多线程,监测采集事务,进行存储,指纹数据处理后,启动通信线程,发送至服务器,等待服务器匹配响应命令。
[b]4.2 服务器端模块设计[/b]
服务器端模块设计基于Java语言进行开发的,功能的实现采用报文侦听方式。如图5所示,当服务器启动时,首先加入到一个组播地址中,然后初始化Socket,并对规定的端口进行侦听。在客户端与服务器端连接请求并双方握手成功后,即进入等待请求解析命令等状态,可以接收客户端面的指纹数据,响应客户端的指纹匹配任务,根据匹配结果反馈给客户端。
[b]5 结语[/b]
[i][/i]
本文基于双目视角的3D 成像原理,采用MTK 和DSP相结合的方法构建了一套指纹识别系统。该方案采用的3D指纹识别技术使得指纹识别度高且反侦察能力强;采用C/S 结构的同时,在客户端就可以实现指纹信息的识别功能,具有很好的实时性和便携性。同时该方案与能达到相似性能的方案相比硬件成本低,非常适合即要求安全性高又要求便携性好的场所,如出入境关口等环境的信息检测。硬件系统经过反复测试,实现了客户端的指纹采集、数据的存储及3D指纹算法运算。
[/color]