康志辉
(厦门软件职业技术学院,福建厦门 361024)
基于二维Gabor变换与神经网络的签名识别算法研究
康志辉
(厦门软件职业技术学院,福建厦门 361024)
在借鉴国内外优秀的签名鉴定技术基础上,提出一种先将签名转化为图片进行预处理,将经过预处理后的签名图片当做纹理,采用多尺度的Gabor滤波器在不同尺度不同方向上处理,然后使用PCA方法提取特征值,最后经过人工神经网络来训练样本,实现签名识别。实验测试表明,该方法能够达到较高的识别率。
签名识别;特征提取;Gabor滤波器;PCA;人工神经网络
图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。图像模式识别,又称图形识别,就是通过计算机用数学技术方法来研究模式的自动处理和判别。在图像模式识别过程中,需要运用图像处理的一些技术,比如在模式识别的预处理过程中,就需要用诸如去噪、提取特征等技术。图像处理技术为图像模式识别提供了实现的可能。签名识别,也被称为签名力学辨识。鉴于每个人都有自己独特的书写风格,提高签名真伪辨识率的意义就显得尤其重要。利用计算机模拟人类对于文字的感知,模拟人类对签名真假的判断,在民事诉讼、商业纠纷、银行等领域得到了广泛应用。为了能够提高签名的识别率,本文在研究国内外优秀的签名鉴定技术基础上,提出了一种基于二维Gabor变换与神经网络的签名识别方法。
1.1 签名识别步骤
(1)收集签名样本,将样本处理为图片。
(2)预处理签名图片。预处理的过程较为复杂,先后顺序依次为:去除无用背景,灰度化,图像去噪,二值化,倾斜矫正,归一化。
(3)签名图片特征提取。签名的特征值就是能够反映这个签名者的书写风格。理论上,不同人的签名样本提取出的特征值是不同的。图像模式识别的关键就在于特征提取。计算机之所以能够做到模式识别,关键就在于通过计算机可以从样本中提取出能够代表样本的特征值。借助这些特征值,运用各种分类器就能够完成识别。
基于二维Gabor变换与神经网络的签名识别方法是将预处理后的图片当做纹理进行处理。采用二维Gabor滤波器在4个尺度、8个方向上处理图片。然后用主成分分析法(PCA)进行降维,提取出32个特征值。
(4)签名识别。在模式识别中,采用BP网络模型。通过特征提取,从40张签名样本中能够得到40组(每组32个)特征值,将BP神经网络的输入层结点设置为32个,训练一个BP模型。由于本方法是用于签名鉴定,即只需要鉴定出签名是真实的还是伪造的,所以输出层结点只需要设置1个即可。输出层结点输出为1,表示该签名是真,反之为假。通过大量的实验实证,将采用的BP神经网络隐藏层设置为一层8个结点的效果较好。
1.2 签名识别流程
签名识别是一个典型的模式识别,基本流程是先从样本库的40张样本中提取特征值,再用这些特征值训练一个BP模型,然后再提取待识别签名图片的特征值,并将它们输入到训练后的BP模型中,最终得到识别结果。
图1 图像模式识别流程
2.1 签名样本的采集
收集40份签名样本,并将其处理为图片。
2.2 签名样本的预处理
预处理过程包括去除无用背景、灰度化、图像去噪、二值化、倾斜矫正、归一化。
2.2.1 去除无用背景
设计一个取色器来完成去除无用背景处理。首先,在原图中截取一小块区域在取色器中放大显示。截取的这块区域要包含签名的某部分。然后,在取色器中获取签名的RGB值。最后遍历原图,将原图的RGB值与取色器中获取的RGB值对比,如果在某一范围内,则接受,保留该点,否则,拒绝该点,设置为白色。这个范围是通过设定一个阈值来实现的,实验证明,阈值设为30时能够达到较好的效果。
图2 去除无用背景前
图3 去除无用背景后
2.2.2 灰度化
在RGB模型中,当R=G=B时,彩色表示一种灰度颜色,其中R=G=B的值即为灰度值。灰度化有多种方法,具体如下所述。
(1)分量法:将彩色图像的RGB值作为三个灰度图像的灰度值,根据需要选取一种灰度图像。
(2)最大值法:将彩色图像中RGB分量亮度的最大值作为灰度图的灰度值。
(3)平均值法:将彩色图像中的RGB三分量亮度求平均得到一个灰度值。
(4)加权平均法:将彩色图像中的RGB三个分量按照权重计算灰度值。
在本方法中,灰度化除了计算灰度值外,还要将一幅三通道图转换为单通道图。因为一般的图片包括拍摄下的签名图片都是三通道图,为了方便后续操作,需要将三通道图转化为单通道的灰度图。
图4 灰度化前
图5 灰度化后
2.2.3 图像去噪
现实中的图像在数字化和传输过程中经常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。减少图像中噪声的过程称为图像去噪。去除无用背景后的图片(如图3所示)可能会出现断续,存在孤立点等情况。这些都属于模式识别中的干扰,要尽量消除,否则将影响到识别率,应采用中值滤波器和高斯滤波器进行去噪处理。
中值滤波是一种常用的非线性平滑滤波器。其基本原理是把图像或数字序列中某一点的值,用该点的某个领域中各点值的中值代换,其主要功能是让周围象素灰度值差比较大的像素,改取与周围像素值接近的值,从而可以消除孤立的噪声点。
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的效果很明显,对比图6和图7可以发现,图7中签名笔画内那些空洞的部分被填充了,签名的边缘部分得到了保护。
图6 图像去噪前
图7 图像去噪后
2.2.4 二值化
图像的二值化,就是将图像像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的、只有黑和白的视觉效果。从去噪后的图7中可以看到,去噪后的图片比较模糊。虽然签名已经从图像中提取出来了,但是签名图像中构成签名笔画的这些像素点的灰度值不是同一的,范围在[0,255]之间。需要将这些灰度值统一成一个值,因此将字体的灰度值设置为0(黑色),背景设置为255(白色)。图像二值化后如图8所示。
图8 二值化后
2.2.5 倾斜矫正
签名图片通常为人工拍摄的,不可能很端正,而且因签名者签名的习惯不同,字体也会存在不同程度的倾斜。倾斜矫正就是将倾斜的签名样本矫正到正确的位置。倾斜矫正的难度在于精确估算字体倾斜的角度。通过分析可以看出,签名样本即使倾斜了,在整体上也是位于一条倾斜的直线之上,因此可用最小二乘法线性拟合直线0,然后计算该直线与水平位置的夹角,这个夹角就是应该矫正的角度了。本系统中如果将字体上每个像素点的位置当做一个坐标来拟合直线,计算量会很大。因此,只取文字的下边缘,即图片中每一列最底下一个不是白色的像素点作为坐标。虽然精确度不及将字体的所有像素点当做坐标参与计算,但是计算量却大大减少了。通过实验,经过修改的最小二乘法倾斜矫正的效果显著。
图9 倾斜矫正前
图10 倾斜矫正后
2.2.6 归一化
图像归一化就是通过一系列变换(即利用图像的不变矩寻找一组参数,使其能够消除其他变换函数对图像变换的影响),将待处理的原始图像转换成相应的唯一标准形式,该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性。之所以要对签名图片进行归一化处理是因为拍摄所得的图片大小不一样,如果图片过大将会加大特征提取时的计算量。图片中除了签名字体外,其余部分都是无用的。所以归一化时只需要将字体所在的部分截取出来就行。本方法将字体归一化为256×256大小的图片,所以要对原图进行缩放。图像缩放时使用双线性插值的方法,保持原字体的形态不变。
图11 归一化前
图12 归一化后
2.3 签名样本特征提取
本方法的特征提取是用二维Gabor滤波器对签名样本进行滤波,然后用PCA方法进行降维。在识别方案中,采用4个尺度8个方向时效果更加明显。通过实验,可以获取到不同尺度不同方向的滤波器滤波后的签名图片。受篇幅所限,文中展示几张经过二维Gabor滤波器处理后的实部图像。
图13 尺度0方向0
图14 尺度1方向3/8π
图15 尺度2方向4/8π
图16 尺度3方向2/8π
通过观察,可以看出Gabor滤波器的特点,即在与滤波器方向平行的纹理响应得比较明显。
一幅签名图片经过二维Gabor滤波器在4个尺度8个方向上处理后,能够得到32张类似图13~16的图片。这32张图片充分表现了该签名样本的特征。接下来采用PCA方法从得到的32张图片中提取出能够表现原签名样本特征的特征值。具体做法如下:将这32张图片组成一个行为256×256,列为32,值为每个像素点灰度值的矩阵,然后用PCA方法求得32个特征值。这32个特征值可以理解为对该矩阵贡献最大的值。受篇幅所限,文中仅展示五幅签名样本所提取的特征值,见表2。
表2中的每一列表示的是一幅签名的特征值。直观地观察这些数据发现,这五幅签名的特征值差别不是很大。这5张签名来自同一个人,是签名样本库中保留的样本。
表2 五幅签名样本提取的特征值
2.4 签名识别
签名识别分为两个步骤。
(1)训练一个BP模型
经过特征提取的签名样本,能够得到多组(与训练样本图片数一致),每组32个特征值,表2列出了5张签名样本的特征值。本方法所采用的BP模型为3层神经网络,如图17所示,其中n=32,m=1。
训练样本的过程:每一组特征值(一张签名图片提取的特征值算一组)分别从输入层的32个结点输入,此时的输出结点输出值设置为1,表示真实签名。经过多次迭代,神经网络的权值不断地修改,此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
图17 BP模型
(2)识别签名
识别签名是指对一幅签名图片进行判定,做出接受或者拒绝的选择。识别签名同样需要对预测图片进行特征提取,得到一组特征值,如表3所示。
表3 待识别签名特征值
将待预测签名图片提取的32个特征值,输入到BP模型的32个输入层结点,经过计算能够在输出层输出一个数。当这个数与1的差值在某个范围内,则接受该签名,反之则拒绝。这个范围是通过设定阈值来实现的。实验证明,阈值设定在0.05~0.02之间。阈值设定为0.05可以理解为相似度在95%以上才能接受。
经过以上两个步骤的操作,对表3中的数据进行验证,当隐层结点为8时,得到输出结果为0.949956。因此,判定表3中的签名图片不是真实的。
本文研究的方法是将签名图片当做纹理进行处理,应用二维Gabor滤波器和主成分分析法(PCA)提取特征值。从签名图片的细节入手,能够完整地提取出一幅签名图片的特征值。在训练样本方面,采用多层人工神经网络,充分利用特征值。实验证明,识别率较高。因为本签名识别方法,所能得到的关于真实签名的所有特征,仅仅局限于图片上的信息,但是人类书写动力定型并非固定不变,签名的动态变化范围很大,仅从字形上,有时可能无法区分真实签名和伪造签名。
[1]张伟.汉字笔迹鉴别算法的研究[D].哈尔滨:东北林业大学,2009.
[2]刘培锋,张文斌,王祁.灰度图像下车牌定位与分割算法研究[D].哈尔滨:哈尔滨工业大学,2008.
[3]孟明,吴仲城,余永,等.基于笔段特征和HMM的在线签名认证方法研究[J].模式识别与人工智能,2007,20(1):95-100.
[4]Lee T S.Image Representation Using 2D Gabor Wavelet. IEEE Trans on PAMI[J].1996,18(10):959-971.
[5]向伟,文久富.基于Gabor小波和PCA的掌纹识别方法比较研究[J].西南民族大学学报:自然科学版,2010,36(3):450-453.
[6]李钰,孟祥萍.基于Gabor滤波器的图像纹理特征提取[J].长春工业大学学报:自然科学版,2008,29(1):78-81.
[7]严鸿,管燕萍.BP神经网络隐层单元数的确定方法及实例[J].控制工程,2009,S2:100-102.
A Research on Signature Verification Based on 2D-Gabor Transform and Neural Network
KANG Zhi-hui
(Xiamen Institute of Software Technology,Fujian Xiamen 361024,China)
Based on the domestic and foreign excellent signature verification technology,a new method is proposed to pre-process the signature into the image.After preprocessing of signature image as a texture,Gabor filter is used in multi-scale processing at different scale and at different directions.Then use PCA method to extract the characteristic value,finally,use the artificial neural network to train the samples and realize signature recognition.Through the experiments,this method can achieve higher recognition rate.
signature recognition;extract image feature information;2D-Gabor filter;PCA;Artificial Neural Network
TP391.41
A
1673-2022(2016)04-0044-05
2016-09-12
2014年福建省中青年教师教育科研项目(科技A类)“软件技术专业校内生产性实训基地建设的探索与实践”(JAS14914)
康志辉(1982-),男,福建龙海人,副教授,高级工程师,软件工程硕士,主要从事计算机与网络技术方面的教学工作。