基于深度卷积神经网络的离线手写签名鉴定
2018-03-19魏海宏
◆魏海宏 刘 新
基于深度卷积神经网络的离线手写签名鉴定
◆魏海宏 刘 新
(湘潭大学信息工程学院 湖南 411105)
本文对签名技术的研究背景和发展状况做了简单介绍,描述了在线和离线鉴定系统的优缺点。考虑大部分人对自己的签名有独特的写法和设计,并不同于其对平常文字的书写,综合比对了国内外笔迹鉴定公开数据库,针对个人签名设计、开发了一套基于Android离线签名鉴定系统,并建立了更具实用性的签名数据库xtu_302sg。本文使用深度卷积神经网络(Convolutional Neural Network,CNN)提取签名图片特征做身份鉴定,相对于传统方法取得了不错的效果。
离线签名;卷积神经网络;身份鉴定;信息安全
0 引言
近年来随着我国经济发展和国际间交流日益频繁,例如‘一带一路’战略的提出和推进,在政治、经济和文化等多种领域,政府、企业及民间组织合作达成的各种各样的协议书、合同、法规条款等都需要当事人或组织代表签名认证。如果签名被伪造,可能会导致灾难性的后果,因此实现个人签名快速高效鉴定、保护信息安全具有十分重要的研究价值和应用价值。
手写签名鉴定系统一般分为:在线(动态)鉴定系统和离线(静态)鉴定系统俩大类。在线鉴定系统需要使用特殊的设备记录签名时相关信息,在每个取样的时间点都有一组由位置、速度、压力、角度或者其他跟笔迹相关的动态信息构成的特征序列。而离线鉴定系统,只有签名者的签名图片,可供提取的特征较少,因此相对前者来说鉴定的难度更加大。个人签名的身份鉴定是通过抽取签名中能够与其他人有所区别的特征进行比对后确定的,传统方法抽取的特征既包含“个人”信息特征,也包含签名字符本身的特征,导致鉴定结果并不理想。很多人对自己的签名有独特的设计和书写,并不同于平常文字的书写,笔者发现CASIA、IAM和HIT-MW等离线数据集数据量较少或者大部分数据都是针对平常文字的书写而不是个人签名。针对上述问题,第一本文使用卷积神经网络(Convolutional Neural Network,CNN)提取签名图片(标注个人身份)特征取代传统方法,提取了可靠性强的“个人”信息特征。很多实验证明,CNN在图像分类,目标物检测和人脸识别等领域效果十分突出。第二笔者设计了一个Android签名App和签名数据库xtu_302sg用来收集大量的签名数据。使用本文的方法在xtu_302sg数据集上初步测试获得了83.67%的正确率,与传统方法结果比较正确率有所提升。
1 数据采集和预处理
在本文的数据采集过程中,为了签名鉴定的通用性以及可实用性,本文利用笔者自己设计的Android App来收集实验模型训练和测试所需的数据,该App需在Android 5.0及以上版本运行,后台部署在Linux服务器,用户只要按照自己姓名顺序在指定方框区域逐个书写姓名字符完成签名提交即可,签名界面和部分签名图片见图1。
用户使用该App签名时,每次书写的起始位置,字的尺寸可能不同,这些因素会对签名鉴定结果的正确率产生严重的影响,因此为提高正确率,需要对采集的签名图片做归一化处理。手写签名的归一化处理可以分为线性归一化和非线性归一化,本文采用线性归一化算法对二维签名图片进行平移和缩放来消除上述位置、尺寸差异,通过此法可以最大化保证手写签名汉字的形状和结构特征,失真较小。尺寸和位置归一化公式如下:
图1 APP签名界面和部分签名图片
公式1中,和分别为X轴上签名汉字图片的最大值和最小值,和相应分别为Y轴上的最大值和最小值。缩放比例ScaleX、ScaleY,为签名图片标准尺寸X*Y和书写尺寸间的比例系数,将图片按上述缩放比例缩放进行尺寸归一化。将签名汉字图片标准尺寸的中心作为原点平移做位置归一化(如图2、3)。
图3 归一化后图
2 深度卷积神经网络设计
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks,CNN)。卷积神经网络(CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
机器学习里,模型越复杂越具有表达能力,越容易牺牲对未来数据的解释能力,而一味专注于解释训练的数据,这就是过拟合。过拟合会导致训练数据效果非常好,但是遇到测试数据效果会大打折扣,模型泛化能力弱。虽然说在很多问题上,我们无法穷尽所有状态,不可能将所有情况都包含在训练集上,但是可以通过增大训练集数据量来减少过拟合现象的发生。笔者在训练过程中,发现如果只使用原始签名图片数据集训练时,测试的结果往往不是很理想,容易出现过拟合,后采用减笔画方法(将签名汉字随机去掉一笔或者多笔笔画)扩充原始签名图片数据,可以有效的抑制过拟合。当获得了大规模的样本数据后,还可以采用较深的卷积神经网络。但是在实验中又发现,当模型的层数增加到一定数量时,结果的精度几乎不增加,而且由于模型的层数过大会导致训练非常缓慢,训练时间大幅激增。另一方面,随着传播深度的增加,梯度的幅度会急剧减小,会导致浅层神经元的权重更新非常缓慢,不能有效学习。这样一来,深层模型也就变成了前几层相对固定,只能改变后几层的浅层模型。综合考虑这几个方面,最终确定的网络包含5个卷积层和2个全连接层,在部分层之间加入最大池化层和ReLU层,最后一层使用softmax分类器。网络模型结构如图4所示。
图4深度卷积神经网络模型结构
本文卷积神经网络的输入为120*120签名图片,第一层和第二层卷积层使用96个5*5大小,步长为2卷积核,后都接大小为3*3,步长为2的最大池化层用来减少运算量和数据维度,第四层到第七层都是使用96个5*5大小,步长为2的卷积核进行滤波,再接一个大小3*3,步长为2的最大池化层,这个池化层可以使池化的区域产生重叠,能够在一定程度上降低过拟合。最后在俩个全连接层后加一个droupout层,在当样本较少时,可以防止过拟合,丢掉一些节点的连接,随机让某些隐含节点不工作。
3 实验结果与分析
本文在笔者自己的收集的数据集上做了实验,并且与一些传统方法做了对比分析见图5,本文实验使用了600个人的签名图片,使用本文方法取得了83.67%的正确率。通过以上实验数据以及和传统方法的比较可以说明,本文提出的方法和卷积神经网络模型使用较小的样本就可以获得较高的签名鉴定正确率。
方法实验人数正确率 基于GMM60066.67% 基于局部特征60071.33% 基于梯度60078% 本文方法60083.67%
4 结束语
在本文中,首先我们开发了一整套的基于Android离线手写签名鉴定系统,方便我们收集数据和为以后商业应用或者开源研究打下了良好的基础。其次,我们使用深度卷积神经网络抽取可以明显判别签名身份的相关特征,同时我们研究了实验数据数量对过拟合的影响,采用随机减笔画的方法可以产生大量数据。尽管结果的正确率离实际应用还有一段距离,但是未来应该可以在网络模型以及离线、在线特征融合等方面做更大的突破。
[1]罗琼.智能手机在线手写签名认证系统设计[D].武汉理工大学,2014.
[2]魏运玉.基于移动平台的手写体笔迹鉴别算法研究[D].西安电子科技大学,2013.
[3]高彦宇,杨扬.脱机手写体汉字识别研究综述[J].计算机工程与应用,2004.