车永刚 (中海油田服务股份有限公司船舶事业部,北京 101149)
肖春雨 (龙凤热电厂,黑龙江 大庆 163711)
雷 声 (中国石油天然气管道局天津设计院,天津 300457)
孙 巍 (哈尔滨工程大学船舶工程学院,黑龙江 哈尔滨 150001)
基于环形BP神经网络的指纹匹配算法
车永刚 (中海油田服务股份有限公司船舶事业部,北京 101149)
肖春雨 (龙凤热电厂,黑龙江 大庆 163711)
雷 声 (中国石油天然气管道局天津设计院,天津 300457)
孙 巍 (哈尔滨工程大学船舶工程学院,黑龙江 哈尔滨 150001)
针对传统BP神经网络算法收敛慢、抗旋转畸变效果差的问题,设计了一种多输入、单输出的三层前馈神经网络,该网络的输入层呈n层环状结构,隐层中的第n个神经元接受输入层第n环所有神经元的数据,对于每个输入层的神经元,仅采用一个权值连接至对应的隐层神经元;输出层的唯一一个神经元接受隐层中所有神经元的数据,对于每个隐层神经元,仅采用一个权值连接至输出层神经元。试验结果表明,单权值连接方式提高了网络的收敛速度,环状结构的设计具有较好的抗旋转畸变的性能,使得匹配速度和匹配精度均有所提高。
指纹匹配;图像处理;BP神经网络
目前的基于神经网络的指纹匹配算法,主要的思想是在整幅指纹图像的灰度数据基础上,以灰度差的绝对平均值(MAD)[1]作为匹配准则。对于2幅指纹图像来说,设待识指纹图像A的大小为M×N,那么对于同样大小的模板指纹图像B,2幅图像间的偏移量为:
(1)
式(1)中d的极小值即为匹配成功的特征点。由式(1)可见,如果待识指纹在二维空间内产生了旋转畸变,则d值会增大。这个特点说明了在指纹识别的应用中,传统BP神经网络只具有平移不变性,并不具备旋转不变性,在处理旋转畸变较严重的图像时,会出现较大的误差;另外,传统BP神经网络在输入层中的节点和隐层中的节点通常采用2个以上的权值连接[2],这种结构的神经网络只有当每个输入空间都恰好包围各自的样本时,输出层的输出数据才能接近期望数值,如果样本中的噪声影响比较严重,容易造成权值的误差调整值不稳定,使系统不能很快收敛甚至收敛失败。样本训练中由于迭代次数较多,使得收敛速度慢,学习效率低。
根据传统人工神经网络算法的缺陷,笔者设计了一种多输入、单输出的三层前馈神经网络,该网络的输入层呈n层环状结构,隐层中的第n个神经元接受输入层第n环所有神经元的数据,对于每个输入层的神经元,仅采用一个权值连接至对应的隐层神经元;输出层的唯一一个神经元接受隐层中所有神经元的数据,对于每个隐层神经元,仅采用一个权值连接至输出层神经元。输入层的环形结构划分规则为:根据图像尺寸选定大小为N×K窗口,以指纹中心点为中心的N×K的矩形区域为第1环,3N×3K大小的矩形区域为第2环,5N×5K大小的矩形区域为第3环,依此类推。图1给出了在3×3大小的模板下神经网络的结构图。
对于一个n环网络,则需要具有n环的输入层和n个隐层神经元,其方程可表示为:
图1 改进的BP神经网络示意图
由于外环比内环的数据量更多,所以噪声对数据的影响也不同,所以隐层中激励函数的参数ai可以不同,i值较大的情况下则可以选择较大的ai值。输入层到隐层之间,以及隐层到输出层之间仅采用一个权值连接,权值为1或0,这样可以减少算法的计算量,使计算速度提高。以指纹的中心点为匹配中心,将待识指纹的分叉点特征模板在数据库中已有的指纹模板中滑动,滑动路线即为搜索线路,计算每次滑动得到的待识特征点的匹配结果,最优解即为待识图像的目标点。从而将匹配搜索问题转化为函数的优化问题。输入层的数据提取中,以指纹中心点为圆心,将指纹图像分割为多个环形区域,每个环形区域内的特征点数据采用多对一映射的方式传递至隐层进行处理,在每一环的数据进行加权平均后,可以对噪声影响进行一定程度的平滑处理,由于环形结构的设计,使得算法具有很好的抗旋转畸变的性能。
根据指纹图像的频率场得出指纹纹线的平均宽度,特征点坐标取为模板图像的中心点坐标,选取大小为M×L的模板图像,滑动窗的大小为N×K。滑动窗中参与匹配运算的区域为Ω(n,k),n∈[2,N-1],k∈[2,K-1],由模板大小确定。
将指纹图像模板在滑动窗中的待匹配区域内的所有分叉点数据看成以该窗中心点为圆心的隐层神经元的输出数据,并将其输入到输入层的神经元中,得到的结果为该滑动窗中心点的匹配值。匹配中心点定为在匹配结果中选取匹配值最大的点。算法流程如下:
步1 将神经网络的输入层、隐层、输出层的节点数输入;输入模板图像的分叉点数据;
步2 计算模板的θ1,θ2,θ3,θ4;
步3 以指纹中心点作为滑动窗的初始目标中心,计算y1,y2,y3,y4,xout;
步4 滑动窗移至下一目标中心,重复步2和步3,直至遍历所有目标中心;
步5 遍历结束后,将求得的xout进行加和并设定阈值,大于该阈值则认为匹配成功,小于该阈值则判为匹配失败。
笔者改进的算法实际上是一个3层前馈神经网络,输入层分为n环,第n(n=1,2,3,…)环中的所有神经元与隐层中第n个神经元之间采用一个权值连接,权值为0或1;隐层中的所有神经元与输出层的唯一一个神经元之间采用一个权值连接,权值为0或1,是简化了的3层前馈神经网络,可以使收敛速度提高,减少样本训练的时间。
为了测试改进的BP神经网络的收敛速度,笔者使用文献[3]中所使用的传统BP神经网络和笔者的改进BP神经网络进行了对比测试。网络训练中提取了来自国际指纹竞赛数据库(FVC2000)[4]中的100枚指纹对文中所述的改进BP神经网络进行了训练,使用的BP网络输入层含有25个神经元,隐层含有3个神经元,输出层含有1个神经元,精度要求为10-6,训练结果如图2所示。
图2 算法收敛速度比较
表1 算法提取分叉点的结果
由图2(a)和图2(b)的比较可得,传统的BP神经网络的训练次数为198次,改进后的BP神经网络的训练次数为135次,在调整权值后,收敛速率得到了较大提升。
针对传统BP神经网络匹配算法训练时间长,抗旋转畸变效果差的不足,在网络结构和权值上进行了改进,改进后的BP神经网络输入层采用了环状结构,权值的连接方式也被简化,这种算法在训练时收敛速度较快,而且可以极大的降低指纹图像旋转造成的影响,能够进一步有效地降低误识率。试验结果验证了算法的有效性。
[1]毛雁明,杨慧玲.一种新的立体匹配算法[J].计算机技术与发展,2011,21(3):105-108,104.
[2] Lin H,Wang Y,Jain A K. Fingerprint Image Enhancement:Algorithms and Performance Evaluation [J].IEEE Trans Pattern Analysis and Machine Intelligence,1998,20(8):777-789.
[3]尹义龙,宁新宝.改进的指纹细节特征提取算法 [J].中国图像图形学报,2002,7(12):1302-1306.
[4]何正友,钱清泉.BP神经网络结构及其学习算法[J].西南交通大学学报,1999,34(4):436-440.
2012-10-26
车永刚(1963-),男,高级工程师,现主要从事自动控制系统设计及应用方面的研究工作。
TP183
A
1673-1409(2013)01-0022-03
[编辑] 洪云飞