微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM的手指静脉识别系统

基于ARM的手指静脉识别系统

时间:10-22 来源:3721RD 点击:

手指静脉识别技术是一种通过手指中静脉特征信息对人体身份进行认证的技术[1],作为第二代生物认证技术它有很高的防伪性,正吸引越来越多的学者进行研究。与其他生物识别技术相比,手指静脉识别技术具备以下主要优点:(1)由于手指静脉血管分布于身体内部,所以不需考虑皮肤表面因素。(2)手指静脉识别是进行活体检测的技术,具有更高的安全性。(3)随着摄像头的广泛应用,其价格非常便宜,用其采集静脉图像极大降低了开发成本。手指静脉识别技术可以应用的领域非常广,如银行、法院等保密安全系统;智能楼宇、学校门禁及考勤等公共系统。这些应用场合不仅要求识别算法的快速性,还要求识别设备小型化、便携化以及稳定性。所以摆脱计算机的约束,在嵌入式系统上实现手指静脉识别成为今后发展的必然趋势。本文实现了一种基于ARM的嵌入式手指静脉识别系统,采用的ARM11处理器具有低成本、低能耗、高性能等特征。嵌入式操作系统采用微软的Windows Embedded CE 6.0(WinCE 6.0),它是一个开放、可裁剪、32 bit的实时嵌入式窗口操作系统。

1 嵌入式系统总体结构

比较完整的手指静脉识别系统应具备采集和识别这两个基本的功能。首先通过嵌入式采集装置获取使用者的相关信息,并将该使用者的手指静脉特征添加到手指静脉特征数据库;然后根据数据库中使用者信息与采集的手指静脉图像比对,判定其身份是否正确。为此,将该嵌入式手指静脉识别系统分为硬件平台、嵌入式操作系统和应用软件三部分。

嵌入式系统硬件主要由嵌入式微处理器S3C6410及其外围扩展电路组成。其中,S3C6410是一款基于ARM11内核的微控制器,其主频达667 MHz,具有丰富的外围接口控制器,可以满足图像识别所需性能要求。嵌入式操作系统采用 WinCE6.0,其模块化设计使得嵌入式系统和应用程序开发者能够方便地根据需求定制产品,同时还具有100%开放WinCE 6.0内核源代码。采用微软的多媒体DirectShow技术,在Visual Studio 2005环境下开发图像采集应用程序,在PC机上调试成功后移植到嵌入式系统平台下运行并实现身份识别。

2 嵌入式系统硬件设计

系统硬件设计采用模块化设计原则,把嵌入式系统硬件平台分为微处理器核心模块、手指静脉成像模块、自动调光控制模块和辅助操作模块。其硬件结构如图1所示。

本设计选取S3C6410作为嵌入式微处理器,其上外接DRAM接口、Nand Flash接口以及丰富的总线接口电路。同时S3C6410还集成了电源电路、复位电路、RS232接口电路和USB接口电路等部分。其中,DRAM接口用于连接动态存储器,本设计采用Mobile DDR存储器,用于运行操作系统及存取应用程序。Nand Flash则用于固化嵌入式操作系统Windows CE内核、手指静脉识别软件等,以及储存采集的图像等数据资料。

手指静脉成像模块包括红外光源、红外滤光片和图像传感器。本设计选用微型OV9650图像传感器模组,它由30针的CMOS图像传感器和手动微调镜头组成,需要为其提供必须的电源。摄像头电源电路如图2所示。通过S3C6410的摄像头接口从S3C6410获取+5 V电源,分别转换为3路电压值为摄像头电路供电。

本文通过转接板来实现摄像头模组与S3C6410的连接,其接口电路如图3所示。其中,J1用于 S3C6410摄像头接口与转接板的连接,U10则是摄像头模组与转接板的接口。

对于近红外光源,选用波长为850 nm、型号为TSHG5210的高速红外发光二极管,设计中排成直线形阵列。由于环境不同,可见光对手指静脉成像影响也有所不同,因此,在镜头前放置型号为IR780的近红外滤光片来滤除可见光。

自动调光控制模块使红外光源能够根据被采集对象手指的不同粗细进行自动调光,使摄像头接收到的光强不变,采集到的图像亮度适中。本设计在原来研制的积分调节电路[2]基础上改进为带PID控制器的红外光强自动调节电路。当采用PID电路进行串联校正时,可以使得系统型别提高一级;同时还为系统提供两个负实零点,进行调节时,可进一步提高系统稳定性,改善系统动态性能。PID控制器电路图如图4所示。

辅助操作模块包括LCD、USB鼠标和8×8矩阵键盘等,用于对嵌入式系统进行控制。

3 嵌入式识别系统应用软件开发

本文采用多媒体DirectShow技术来设计摄像头图像采集应用程序。为了完成对图像数据的处理,创建多个过滤器并连接,数据流从源过滤器经过中间过滤器移动到渲染过滤器,最终提供给用户。在这个过程中完成对数据的读取、解码、将数据输出到相应设备上。本文将视频预览和视频捕捉封装成视频采集过滤器,如图5所示。其中,"智能Tee"是为了调节PCI总线分流数据。

通过Visual Studio 2005开发环境的MFC智能设备应用程序向导创建一个基于对话框的应用程序;然后创建类、设计采集界面以及编写程序,实现视频采集与预览、图像保存等功能。所用到的主要函数如下:
GetFirstCameraDriver():获取系统中注册的第一个视频捕捉设备名。
FreeDShow():释放创建DirectShow接口对象。
PreviewCamera():用于预览视频,同时负责DirectShow接口的初始化工作。
SnapPicture():抓拍视频中的一幅图片,并以文件形式保存。

此外,把手指静脉识别算法加入到应用程序中,并移植到WinCE 6.0操作系统下。该软件功能包括:录入手指静脉图像并保存所有相关信息至数据库中,测试当前采集手指静脉图像与数据库中图像是否匹配;调取数据库中手指静脉图像进行算法研究。

当需要用本系统进行手指静脉识别时,先启动操作系统,用户从可视化界面输入相应信息,开始采集图像。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top