基于小波神经网络的掌纹识别方法的研究
摘要:为提高掌纹图像识别率,首先利用手掌的几何轮廓对所采集到的掌纹图像进行预处理,进行分割得到感兴趣的区域。再利用小波变换对掌纹图像分别进行多层分解,进而提取小波特征。最后利用BP神经网络进行分类。通过仿真实验表明,与单一的神经网络方法进行掌纹识别相比,这种将小波分析与神经网络相结合的方法收敛步数少、用时短、具有较高的识别率。
关键词:掌纹识别;BP网络;小波分析
0 引言
近年来,掌纹识别作为一种新兴的生物识别技术,越来越受到人们的重视。与常见的指纹、虹膜、人脸等生物特征识别技术相比,掌纹有许多独特的优势,包括识别率高、普适性强、采集设备价格低廉、用户可接受性好等,作为生物识别领域的新兴生物特征,已经得到国内外许多研究者的重视。
小波变换是将信号或图像分层,按小波基展开,根据图像信号的性质和事先给定的处理要求确定展开到哪一级为止,可以控制计算量,满足实时处理的需求。图像经过小波变换,其低频部分保留了绝大部分信息和能量。同时,在图像的敏感位置(如轮廓线、突出点等),小波变换后生成的特征矢量的模会相对较大,这些优点有利于掌纹的识别。人工神经网络是人们模仿人的大脑神经系统信息处理功能的一个智能化系统,目前广泛地应用于模式识别、复杂控制等领域。反向传播网络(Back-Propagation Network,简称BP网络)是将误差信息反向传播,对非线性可微分函数进行权值训练的多层前馈型神经网络,其结构简单、可塑性强,被广泛用于掌纹识别中,并收到良好的效果。
本文提取了一种基于小波变换和神经网络相结合的掌纹识别方法,首先采用小波变换对掌纹图像进行特征提取,再利用BP网络对掌纹图像进行分类和识别,得到较高的识别率。
1 图像预处理
由于不同时间不同手掌存在不同程度的旋转和偏移,因此首先要对通过采集设备得到的掌纹图像进行预处理,以便于以后的特征提取。采集到的图像包含很多内容,但我们感兴趣的只是掌纹所在的位置。因此在首先对掌纹图像进行感兴趣区域(ROI)的提取,包括边缘检测点、定位基准点、建立坐标点,最后分割出含有丰富信息的ROI区域。主要步骤如下:
(1)选择适当阈值对图像进行二值化处理,如图1 2)所示;
(2)对二值图像进行边缘检测,得到掌纹轮廓,如图1 3)所示;
(3)跟踪掌纹边缘得到基准点K1和K2,将过K1、K2的直线作为X轴,将直线K1、K2的中垂线作为轴建立坐标系,如图1 4)所示;
(4)在所建立的坐标系中,分割出的掌纹中心区域作为ROI,如图1 5)所示。
2 掌纹特征提取
2.1 小波分析
小波分析方法是一种窗口大小固定但其形状可改变,时间窗和频率窗都可改变的时频局部化分析方法。即在低频部分有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,对信号有自适应特性。
离散小波变换定义:将连续小波变换的尺度a和时间位移b进行离散化,就得到离散小波变换。通常a的离散化按照2的幂级数进行,即:a=2-j(j=0,1,2…)。
2.2 掌纹特征的提取
本文利用二维离散小波变换函数dwt2对图像进行小波分解后,再用upcoef2函数对分解后的图像重构,最后用wcodemat函数进行量化编码。从而达到了去掉图像的高频部分而仅保留低频部分的效果。图2为经过小波处理的掌纹图像。其中,图2(a)为经过预处理之后的掌纹图像;图2(b)为小波分解之后的图像;图2(c)为经过第一次压缩之后的掌纹图像;图2(d)为经过第二次压缩的掌纹图像。由图可以看出,经小波分解后把图像分解成低频L1和高频H1两部分后,在下一层的分解中,又将上一层的低频L1继续分解成低频L2和高频H2两部分。压缩后的图像去掉了将近一半的系数。将二次小波分解后的低频向量作为人脸识别的特征矢量,可以降低神经网络的数据处理量,缩短神经网络的训练时间。
反向传播(Error Back Propagation-BP)算法是多层感知器的一种有效学习算法,它把一组负荷样本的输入输出问题变成一个非线性优化问题,使用了最优化中最普遍的梯度下降算法,用迭代运算求解权值相应于学习记忆问题,加入了隐节点使得优化问题的可调整参数增加,从而可以得到预测负荷的精确解。
BPNN是一种有一个输入层、一个输出层、一个或多个隐含层的常用的前馈网络,它每一层上包含了若干个节点,每个节点代表一个神经元。同一层上的各节点之间无耦合连接关系,信息从输入层开始在各层之间单向传播,依次经过各隐含层节点,最后达到输出层节点。其结构如图3所示。
3.1 输入层的设计
在图像经过二维小波处理后,每一幅图像就可以用一个向量来表示,提取每一幅图像的低频部分作为神经网络的输入。这样可以减少神经网络的输入维数,降低神经网络的数据处理量。
3.2 隐层的选择
隐层的神经元数目与问题的要求、输入/输出单元的数目都有直接关系,数目太多会导致学习时间太长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。参照以往实验,本次采用了公式n1=n+m+a(m为输出神经元数,n为输入单元数,a为[1,10]之间的常数)来确定隐层的神经元数目,取得了较好的效果。
3.3 输出层的设计
输出层的维数可根据使用者的要求确定。如果将BP网络用做分类器,类别模式一共有m个,那么输出层神经元个数为m或log2m。在实验时采用了20个人的掌纹图像,因此类别总共有20个,即m=20,所以应取输出层神经元个数为20或log220,本次选取的输出层神经元个数为20。
4 实验结果和分析
本文实验是借助香港理工大学的Poly-U掌纹图像库进行的。Poly-U掌纹图像库中包含40人的掌纹图像,每人10幅图像,共400幅,每幅原始图像256个灰度级,分辨率为129×129。本次试验随机挑选20人,每人10幅的图像中,选择5幅用来作为样本数据进行训练,另外5幅作为测试样本用来进行检验。掌纹图像首先经过图像预处理,再经过小波变换来4为未经过小波变换处理的神经网络训练图,图5为经过小波变换处理的神经网络训练图。图6为两种方法下的不同掌纹检测样本的识别效果图。
- 蓄电池内阻精确测量方法的研究(07-29)
- 红外线测温仪自校准误差比对方法的研究(06-05)
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)