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

发布者:小星星龙猫最新更新时间:2016-09-20 来源: eefocus关键字:ARM  手指静脉  识别系统 手机看文章 扫描二维码
随时随地手机看文章
手指静脉识别技术是一种通过手指中静脉特征信息对人体身份进行认证的技术[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操作系统下。该软件功能包括:录入手指静脉图像并保存所有相关信息至数据库中,测试当前采集手指静脉图像与数据库中图像是否匹配;调取数据库中手指静脉图像进行算法研究。

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

4 手指静脉识别算法

手指静脉识别算法是本系统软件的核心部分,目前该算法在计算机上已达到较高水平。但将其移植到嵌入式系统时,由于受嵌入式处理器硬件性能的限制,达不到预期的效果。因此,本文采用了一种适合于嵌入式系统的手指静脉识别算法。

4.1 图像预处理

(1)格式转换与灰度归一化。本文中通过图像采集装置采集的手指静脉图像是24 bit JPG格式的真彩图像,采用Imaging技术[3]循环解码将其转化为24 bit BMP格式的图像。

通过改变各个分量(R,G,B)的权重,把三个点合成一个点就可以将24 bit BMP图像转换成256色的灰度图像。本设计采用加权平均值法可以得到较合理的灰度图像,即:

(4)滤波与去噪。在经过前面图像分割后的特征图像中存在许多孤立点、块状噪声以及一些细小空洞。为了便于以后处理,必须填充这些细小空洞和除去噪声。首先采用中值滤波法,消除图像中的高斯噪声和脉冲干扰信号,接着进行面积去噪,以消去孤立的噪声。

(5)纹路细化。经过一系列处理后的图像静脉纹路很粗,所以采用改进的条件细化算法进行处理,即在条件细化后的静脉图像上,加入模板算法去掉分叉点处冗余的像素。目的是通过连续剥离图像最外层元素直到获得单像素的连通线,去掉冗余信息,且保留纹路的拓扑连接关系,以利于后续的特征提取。

其中,Np为点集P中元素的个数。

5 实验结果

把在PC机开发的应用软件移植到ARM11板,上电开启操作系统运行该软件,开始采集和测试手指静脉图像的效果图如图7所示。

本软件把图像采集、预处理等一系列过程合成到一起进行操作,实现一键完成,使其更加接近产品化。录入用户图像信息时,图像处理达到了每次约0.5 s的速度,令人满意。实验测试中,采集50个手指的静脉图像,每个手指采集4次,一共采集了200幅静脉图像,构成手指静脉数据库。根据本文的方法,来验证算法的匹配识别效果。测试1:1匹配识别,将每个手指的1个样本分别与其他3个样本进行比对完成识别,每次识别过程达到约0.4 s的速度,得到的结果如表1所示,达到了预期的效果。

本文构建了一种基于ARM技术的嵌入式手指静脉识别系统。设计的硬件平台稳定性好、集成度高;采用的WinCE 6.0界面友好、画面清晰;开发的识别应用软件可以开机启动,便于操作,使本识别系统具有很好的人机交互特性。同时针对嵌入式系统采用一套合适的手指静脉识别算法。实验表明,该手指静脉识别系统可以实现快速图像处理和识别,与基于PC机的识别系统相比,具有体积小、重量轻、易于移动与操作、易于集成等优点。

关键字:ARM  手指静脉  识别系统 引用地址:基于ARM的手指静脉识别系统

上一篇:基于ARM920T和Linux的SOHO路由器设计
下一篇:μC/OS-II实时操作系统内存管理的改进

推荐阅读最新更新时间:2024-03-16 15:10

ARM处理器的寄存器
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节。整个过程是按顺序执行。 **跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。其中,B指令用于执行跳转操作;BL指令在执行跳转操作同时,保存子程 序的返回地址;BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行,保存子程序的返回 地址,根据目标地址为可以将程序切换到Thumb状态。 **当异常中断发生时,系统执行完当前指令后,将跳转到相应的异
[单片机]
ARM开发板上uClinux内核移植
1.简述:     针对“如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植”的一个总结,其内容包括对Bootloader的功能分析和uClinux2.4.24发行版内核基础上针对S3C44B0X开发板进行修改的重点内容的逐一列举。 2.Bootloader 2.1Bootloader概述     Boot Loader 就是在操作系统内核运行之前运行的一段程序。通过这段程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。因此,正确建立uClinux的移植的前提条件是具备一个与uClinux配套、易于使
[嵌入式]
ARM汇编和内嵌汇编
一、ldr的确是个复杂的指令,现总结一下: 首先要判断我们用的是ldr arm指令还是伪指令。 当我们用的是arm指令时,它的作用不是向寄存器里加载立即数,而是将某个地址里 的内容加载到寄存器。而伪指令ldr的作用就是向寄存器里加载立即数。 (1) ldr伪指令 ldr伪指令的格式是 ldr Rn, =expr 其中,expr是要加载到Rn中的内容,一般可以是立即数或者label。 如果expr可以用8bit数据向右移偶数位得到,那么这条伪指令就被编译器翻译成mov指令。具体的移位情况可以去查阅资料。反之如果立即数很大,超过了12bit
[单片机]
第1天-ARM汇编指令CMP/CMN/TST/TEQ
译注:CMP 和 CMP 是算术指令,TEQ 和 TST 是逻辑指令。把它们归入一类的原因是它们的 S 位总是设置的,就是说,它们总是影响标志位。 CMN : 比较取负的值 (Compare Negative) CMN{条件}{P} , status = op_1 - (- op_2) CMN 同于 CMP,但它允许你与小负值(操作数 2 的取负的值)进行比较,比如难于用其他方法实现的用于结束列表的 -1。这样与 -1 比较将使用: CMN R0, #1 ; 把 R0 与 -1 进行比较 详情参照 CMP 指令。   CMP : 比较 (Compare) CMP{条件}{P} , status = op_1 - o
[单片机]
基于ARM的汽车黑匣子设计
0 引 言   汽车行驶记录仪俗称汽车黑匣子,是一种能够对车辆行驶速度、时间、里程以及其他状态信息进行记录的电子装置。行驶记录仪能够实时地记录车辆运行和驾驶员驾驶活动的有关信息,通过对车辆行驶速度、连续行驶时间、里程和其他运行状态等有关信息进行检查、监控、反馈和互动管理,能够有效地实现对驾驶员的行驶时间、行车速度、行车路线等进行全方位的约束和控制,遏制疲劳驾驶、车辆超速等严重交通违法行为,预防道路交通事故,规范车辆管理。统计资料表明,汽车黑匣子的使用,使交通事故率降低了37 %~52 %,大大减少了人员伤亡和财产损失,产生了显着的社会效益和经济效益。2003 年10 月,公安部交通安全产品质量监督检测中心发布了汽车行驶记录仪的国
[模拟电子]
基于<font color='red'>ARM</font>的汽车黑匣子设计
首款ARM架构Mac?苹果传秘密研发“Star”、和硕制造
之前曾数度传出苹果(Apple)考虑在Mac(麦金塔电脑)上改用自家设计的处理器、舍弃英特尔(Intel)处理器,美国知名财经媒体也曾在今年4月称,苹果最快2020年就会舍弃英特尔处理器,在Mac上改用自家设计的ARM架构芯片。而最新有消息传出,苹果正在研发一款代号为“Star”的新设备,而该款新设备有可能就是首款搭载ARM架构处理器的Mac产品。 日本网站taisy0、corriente.top 26日引述9to5Mac的报导指出,苹果正在秘密研发一款内部代号为“Star”、型号为“N84”的全新设备,且可能会在2020年问世。 报导指出,“Star”目前仍处于原型机(prototype)阶段,而试作机是委由代工伙伴和硕
[家用电子]
ARM LPC2101的无刷直流电机控制设计方案
阐述使用低成本的ARM7 LPC2101微处理器设计无刷直流电机的控制方案;详细地介绍微处理器、MOSFET驱动和MOSFET的原理设计和程序流程,以及与电机保护相关的技术及处理方法,如电机稳定运行状态机,降低电机噪声,软件防止电机陡转等。该方案可以应用在打印机、电动自行车、洁牙机等电机控制产品上。   LPC2101是基于16/32位 ARM7 CPU嵌入高速Flash闪存的微控制器,具备高性能,小体积封装,低功耗,片上可选择多种外设等优点,应用范围很广。其具备的多种32位和16位定时器、10位A/D转换器和每个定时器上PWM匹配输出特性,尤其适用于工业控制。   无刷直流电机是一种易驱动电机,适用于变速和启动转矩很高的应用
[单片机]
<font color='red'>ARM</font> LPC2101的无刷直流电机控制设计方案
基于ARM单片机的高精度电子秤设计与实现
1、系统框图简介 当秤盘上放入被秤物体后,电阻应变片受重力的影响产生形变,电阻值发生变化。应变片搭建的桥式电路会输出微弱的电压信号,微弱电压信号由HX711内部集成放大器放大后经过内部ADC进行采样转换后送到到MCU,接收到的数据信息经过线性拟合处理后送到LCD液晶显示。系统能完成称重、设置单价计算金额及金额累加、去皮及去皮范围限制等基本功能,还能实现时间、温度、报警、二维码支付等扩展功能。系统总体框图如图1所示。 图1:系统总体框图 2、理论分析与计算 2.1、电桥驱动电路分析 图2:差动全桥测量电路 如图2所示当被测负载作用在弹性臂梁上使其发生弹性形变;通过粘性物质使粘贴在感压装置上的电阻应变片发生形变,从而转化成
[单片机]
基于<font color='red'>ARM</font>单片机的高精度电子秤设计与实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved