APP下载

基于ARM的指静脉识别系统设计

2020-05-18郅富标

广东交通职业技术学院学报 2020年1期
关键词:端点嵌入式灰度

郅富标

(河南工业和信息化职业学院,河南焦作454000)

在信息时代,个人信息安全受到人们的广泛关注,而身份认证作为其中的关键技术,被广泛应用于司法、电子商务、财经、智能楼宇等方面[1]。第一代的生物特征识别技术分为人体生理特性和人体行为特征两类。基于人体生理特征的识别主要包括指纹识别、掌纹识别、指腹折痕识别、手形识别、人脸识别、虹膜识别等,而基于行为特征识别技术则包括步态识别、字迹签名识别、语音识别等等。上述人体特征和表面信息大都暴露于人体的表面,受到外界环境的影响较大,使得身份认证的鉴别与辨识准确性有所下降,同时有可能被违法分子复制、伪造,从而造成极大的损失[2]。

手指静脉识别技术作为第二代生物识别技术,有效地解决了第一代生物特征识别技术存在的各种问题,避免了上述弊端。手指静脉识别技术自出现以来,受到了广泛关注,其主要优点如下[3-5]:

①无接触方式采集:手指静脉图像进行采集不需要接触采集面,只需将手指悬浮在采集窗口即可,不但能够避免测试者心理上产生抵触情绪,还更加方便卫生。

②特征数据源于内部:指静脉识别技术采集的手指静脉血管分布图像,特征数据源于手指内部,不会受到皮肤表面污染等因素影响,也不像指纹容易出现老化、磨损等不便,不存在受到外界环境影响而导致识别率下降的情况,极大地降低了复制和伪造的危险。

③活体识别:手指静脉识别技术是一种活体检测的技术,仅在血液流动情况下才能扫描到静脉图像,具有更高的安全性。

④成本低:随着摄像头的广泛应用,采集装置的价格大幅降低,用其采集静脉图像鉴别身份,能明显降低开发成本。

⑤唯一性和稳定性:任意两个人的手指静脉图像都是完全不同的,同一个人的不同手指,静脉纹路也大不相同,即使随着身体的发育、年龄的增长,其静脉也不会发生本质的变化。

本文基于ARM Cortex-M微控制器和WinCE 6.0技术,设计了一个完整、独立运行的嵌入式手指静脉识别系统,构建实现了身份认证平台,并采用了图像处理算法对图像进行处理,利用Haosdorff距离匹配算法完成手指静脉特征的匹配。该指静脉识别系统可以实现较高的图像处理和辨识精度,具有体积小、成本低、便携性高的特点。

1 工作原理及流程

医学研究发现,任何两个人的指静脉图像都不会完全相同,即便同卵双胞胎之间也存在较明显的差异。同时,静脉识别作为活体识别技术,仅当血液流动并富含养分时才能实现。当接受红外线照射时,静脉血管中血液包含的血红蛋白会显著吸收掉近红外线,而肌肉和骨骼等部位则基本不会吸收近红外线,由此可形成指静脉血管清晰明显的图像。

基于ARM的指静脉识别系统的设备分为红外图像采集、图像处理与特征提取和数据存储与识别三个基本部分。首先通过嵌入式采集装置获取使用者的相关静脉图像信息,通过图像预处理及特征提取获得手指静脉的特征,然后将该手指静脉特征添加到特征数据库,根据数据库中的使用者信息进行比对,识别判定其身份是否合法。

2 系统平台的设计

图1 系统框架

系统平台的设计中,采用基于ARM Cortex-M内核的杭州晟元技术公司的AS608微处理器及其外围设备包括图像采集模块、人机交互模块等来构建整个手指静脉识别硬件系统。同时构建了嵌入式WinCE操作系统,并进行了驱动程序的烧写,最终完成了整个系统平台的构建。平台的整体构架如图2所示。

图2 系统平台结构

2.1 AS608微控制器核心模块

本设计的微控制器核心模块采用杭州晟元技术的AS608,采用ARM Cortex-M内核32位微控制器,工作频率144 MHz。AS608支持多个外设:1个USB2.0全速设备接口,2个UART接口,1个语音PWM输出接口,集成3.3 V、1.8 V电源转换LDO,内置双路环振,是一系列可向上兼容的高能效、易于使用的处理器,主打小型化和高效化,针对智能设备或移动设备进行优化设计,常用于移动平台等智能终端。ARM Cortex-M,通过在PC端安装编写的交互软件控制整个嵌入式指静脉识别系统的运行,可通过AS608自带的USB2.0接口连接电脑。

2.2 红外光源

本设计选用红外发光二极管作为嵌入式系统的红外光源。红外发光二极管的原理与普通发光二极管相近,只是使用了不同的半导体材料,可以辐射红外光或近红外光。科学研究表明,静脉透射光量在850 nm波长附近最少,因而近红外光源选择这个波长成像效果最优。本设计选用Vishay制造商生产的型号为TSHG5210的高速发光二极管作为红外光源,其峰值波长为850 nm,正向电压1.5 V,反向电流10 mA,结电容125 pF,截止频率18 MHz。设计选择串联直线阵列红外发光二极管,确保各发光二极管的电流相同,辐射强度相同,这样采集到的手指静脉图像纹路更加清晰。

环境光对静脉成像有一定影响,为了尽可能消除可见光的干扰,在红外光源上增加红外滤光片。滤光片可以选取所需辐射波段的光,通过吸收大部分波长的光线而让特定波长的光线通过来实现。红外滤光片一般透过的波长为750~1 000 nm。本次设计选用型号为IR780的红外滤光片。

2.3 手指静脉成像模块

静脉识别技术采用CMOS传感器,相比于CCD传感器,CMOS传感器价格更低,并且在近红外光波长频段的光谱敏感度比可见光高出五至六倍。由于指静脉图像不需要极高分辨率,因而选用130万像素的CMOS传感器OV9650模组,由30针的CMOS图像传感器和微调镜头组成。

2.4 W inCE操作系统的构建

Windows Embedded Compact(Windows CE)是微软公司嵌入式、移动计算平台的基础,是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,多应用于数据采集。

WinCE6.0采用模块化的设计方式,本设计中的嵌入式系统所用到的基本功能主要包括Active Sync支持、文件系统支持、USB支持、摄像头支持、多媒体支持等。在新建工程完成后进入BSP的设定界面进行具体的选择。配置系统完成后可以点击WinCE映像创建,等待创建成功即可。创建完成后,即可得到匹配本设计硬件的WinCE6.0系统文件,在ARM_Release文件夹下可以得到STEPLDR.nb0、STEPLDR.bin、Eboot.nb0、Eboot.bin和NK.bin四个文件。烧写WindowsCE6.0系统需要将开发板通过USB-Device线连接到电脑,运行串口工具DNW需要安装相应的USB驱动程序。串口连接成功后,窗口的标题栏将显示串口号以及波特率信息。

3 指静脉识别算法的选择

为了更好的判断所采集的图像,本设计采用了图像灰度归一化、Niblack阈值分割、中值滤波、纹路细化、特征点提取与匹配等步骤完成识别。所采用的基于豪斯多夫(Haosdorff)距离的特征匹配算法,经过实验验证,结果均符合要求。

3.1 图像灰度归一化

OV9650采集到的图像是24位彩图,需要进行灰度化处理,即对于彩色图像的R、G、B三个分量,分别找到一个值以将其转化为灰度图像。假设彩图的三基色分量分别表示为R0、G0和B0,灰度化处理后的灰度值为Gnew表示。使用加权平均值法,根据科学实验和理论推导,分别取0.299、0.587、0.114作为R0、G0和B0的权值,得到的灰度图像最佳[6]。公式表示为:

由于手指厚度不同,并且不同位置的光强不同,灰度化后的手指静脉纹路图像的灰度分布会存在较大的差异,因而,还要将整张图像灰度统一,将所有的图像都转换成灰度值具有相同均值和方差的标准图像,即灰度归一化。这样能确保图像后续匹配的成功率。8位灰度图像的灰度级为0~255。灰度归一化的方法较多,均值方差归一化、直方图均衡化等方法均可实现。本设计采用线性灰度变换法:

设一个任意像素点(i,j),其灰度值为f(i,j),则由公式(2)可以得到灰度归一化后的灰度值为f'(i,j),如式(2):

式中max及m in对应于原图的最大和最小灰度值,图3为灰度归一化后的指静脉图像。

图3 灰度归一化后的图像

3.2 图像分割

图像分割是静脉提取的关键步骤。分割后的图像有若干个区域,各区域内具有相同的或相近的性质,而区域之间存在较明显差异,是图像分析的前提。本文采用Niblack阈值分割算法,即逐点阈值的方法,这是一种简单的局部动态阈值算法,将图像二值化。对图像中每个像素点[7],在它的邻域内,计算邻域内像素点的均值和方差,如果假设像素点(i,j)处的灰度值为,则邻域内均值和方差分别由公式(3)和(4)得到:

则该点(i,j)的阈值为

式中k为修正系数。修正系数根据具体图像而定,此处设(100,200)。经过阈值分割后的图像如图4所示。

图4 图像分割后的指静脉照片

3.3 滤波去噪

指静脉图像经过灰度归一化和阈值分割后,需要通过滤波来消除噪声。相比于其他滤波法,中值滤波可以有效去除椒盐噪声,对于图像中的线条和边缘保留得更加清晰完美。鉴于指静脉图像的关键信息是线条,选用中值滤波法最为合适。中值滤波是用一个含有奇数个像素的滑动窗口,正中间那个像素的值用窗口中各像素值的中值来代替,对滤波器数组中的数据进行排列,采用冒泡法将数据从小到大排列将窗口中心点的灰度值用窗口内各点的中值代替[8]。本设计选择55的滤波模板进行滤波,经过中值滤波后的图像如图5所示。

图5 中值滤波后的指静脉图像

3.4 纹路细化

经过滤波去噪后的指静脉图像依然粗糙,纹路粗,端点和交叉点都占据太多像素,特征点数据太多,不利于特征提取和匹配,因而需要对纹路进行细化。图像细化是在保留图形拓扑性质的情况下,使线宽变为1像素的操作,目的是得到二值图像的骨架。

本设计采用4连通细线化算法,图像细线化算法可以通过MFC智能程序向导中的bwmorph函数直接实现。纹路细化后的图像如图6所示。

3.5 特征提取

图6 纹路细化后的指静脉图像

细化后二值化的指静脉图像中像素点只有两种:背景点灰度值为0,前景点灰度值为1。点的提取一般有分以下几种:①端点:当指静脉位于手指一定深度或近红外线透射量不够时出现。②分叉点:由单一的静脉段分裂为两段静脉段时出现。③双分叉点:当两个分叉点靠得比较近时出现。

根据上述3种细节点引用文献[9]中细节点提取的方法如下:

提取端点:以端点为中心提取N*N区域(本设计N取3),并删除该区域中没有与端点相连接的点。计算特征点与范围边界的连接数,如果数目为1,就将该细节点作为端点,同时保存该点与水平线的角度,否则不成立。提取分叉点:以一个分叉点为中心提取N*N区域(本设计N取3),并删除在该范围内不与该分叉点相连接的点,计算特征点和该范围的连接数,当连接数目为4时,可认为该分叉点是双分叉点,同时并保存分支之间的角度,否则不成立。

图7 静脉图像特征点

经过提取得到的所有特征点以坐标形式存在,分为端点与分叉点两类,以数组的形式保存到文本文件中。最终的特征匹配,是将此文件中的端点和分叉点两个点集进行豪斯多夫距离匹配,计算各个点集中点到对方点集的最小距离。

3.6 Hausdorff距离匹配算法

对图像信息进行匹配,常见的相似性度量包括相关系数、距离、角度等。Hausdorff距离匹配算法是通过将两个二值图像的特征点以点集形式表示并比较两个点集的相关性,作为二值图像之间的相似性度量[10]。给定两个有限空集A={a1,a2,...ap}和B={b1,b2,...bp},则A,B之间Hausdorff距离定义为

其中,

||α||为定义在点集AB上的某种距离范数,H(A,B)称为双向Hausdorff距离,h(A,B)和h(B,A)分别为从点集A到点集B、从点集B到点集A之间的单向Hausdorff距离。一般情况下,h(A,B)不等于h(B,A)。h(A,B)和h(B,A)之间的最大值定义为Hausdorff距离。只要计算h(B,A)和h(A,B)的最大值,即可获得两个点集之间的相似程度。最大值越小,相似度越高。

运用Haosdorff距离匹配算法,可以对两张图片上特征点的坐标点集进行相似度计算,对于任意两张指静脉图像,先对端点坐标点集进行匹配,将得到的两个单向Hausadorff距离中的最大值作为两个特征点集相似度度量值(越小越相似),与预设的阈值(根据实验获得)比较,再对交叉点的坐标点集进行相同操作,若满足预设阈值,即判断为匹配,否则不匹配。

4 实验结果及分析

本设计硬件部分采用基于ARM Cortex-M内核的AS608芯片和OV9650图像传感器模组构成硬件平台,如图8所示。在完成了嵌入式指静脉识别应用软件开发后,进行了连接PC验证实验。指静脉识别工具连接电脑,打开PC端的控制程序,设备连接成功后,记录入指纹,然后验证指纹,如图9显示验证成功。

图8 指静脉识别装置实物图

对于未登记的用户,在经过3次验证后识别出其未登记的陌生人身份。通过在控制程序中获取空ID,可以添加多个用户,本设计的最大用户数为500个。经过多次实验验证,通过对500个样本进行实验,识别率达到94.88%。

5 结论

图9 指静脉认证成功

本文基于ARM Cortex-M微控制器和WinCE 6.0技术,设计了嵌入式手指静脉识别系统。实验结果表明,该手指静脉识别系统可以实现较高的图像处理精度和辨识精度,具有体积小、成本低、便携性高,简单易操作的特点。作为第二代生物识别技术,手指静脉识别优于指纹和虹膜识别,具有极广泛的应用前景,市场巨大,未来必将普及到生产生活中。

猜你喜欢

端点嵌入式灰度
采用改进导重法的拓扑结构灰度单元过滤技术
非特征端点条件下PM函数的迭代根
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
不等式求解过程中端点的确定
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基丁能虽匹配延拓法LMD端点效应处理
基于像素重排比对的灰度图彩色化算法研究