基于卷积神经网络的离线笔迹鉴别系统
来源:用户上传
作者:季明涛 梁大伟 戴宏康 傅明明
摘要:笔迹鉴别方法,主要通过对比分析手写字符的统计学特征、纹理特征、结构特征等来辨别书写者的身份。传统的笔迹鉴别对专家经验、从业年限等有较高要求,效率较差。现在计算机人工智能技术的发展,为笔迹鉴别提供了一个新的方向。设计的系统使用web技术构建系统前端,利用多层卷积神经网络和全局平均池化构建后端笔迹鉴别模型,在CASIA-HWDB标准中文数据集上进行训练、验证和测试。测试结果表明,在10人的笔迹样本模型中,识别准确率达100%。
关键词:卷积神经网络;笔迹鉴别;准确率;预处理;软件开发
中图分类号:TP391.52 文献标识码:A
文章编号:1009-3044(2022)15-0075-04
1 引言
随着我国法治建设不断深入,笔迹鉴别作为一种重要的刑事科学技术在司法鉴定领域的重要性日益突出。传统的笔迹鉴别完全依靠人工眼力识别,存在困难程度高、准确率低、时效性差等缺点。21世纪初期,国内外的L. Schomaker[1]、何震宇、尤新革[2]、Fiel[3]等人先后利用计算机视觉技术、图像处理技术、深度学习等提高笔迹鉴别的准确率。尤其是Fiel等人利用卷积神经网络(Convolutional Neural Network, CNN)提高了笔迹鉴别的准确率,证明了CNN在笔迹鉴别上的优势。本文将着眼于利用CNN对汉字笔迹的纹理、字形和笔画等特征准确识别并提取,构建CNN离线笔迹鉴别模型,通过广泛收集笔迹数据进行CNN网络训练和测试,验证模型用于离线笔迹鉴别的有效性。此外,利用web网页作为模型载体,设计UI界面,便于用户操作,实现不依赖于文本内容的自动化笔迹鉴别。该系统可用于司法、考古等领域。
2 系统设计框架
如图1,本系统主要分为前后两端,前端主要用于上传样本和呈现结果,后端用于存储数据和算法。其中算法是整个系统的核心,分为图像预处理和CNN模型两部分。
3 图像预处理
图像预处理的目的是使模型更准确地识别笔迹特征,提高笔迹鉴别准确率。该工作主要包括两方面,一方面是消除影响鉴别准确率的因素,如纸张固有背景线、残余墨迹等;另一方面是为提高鉴别准确率创造条件,如字符切割。以图2为例,分析图像预处理过程。
3.1 消除影响鉴别准确率的因素
消除影响鉴别准确率的因素的操作主要有去背景线、灰度化和二值化。去背景线是利用计算机的取色器提取纸张背景线的信息,再通过调色板将背景线去除[4]。图像灰度化是对去除背景线的图像使用加权平均法,得到最合理的灰度图像[5]。最后,根据图像的灰度直方图求出最佳阈值,将大于阈值的像素点的值设置为255,作为背景像素,小于最佳阈值的像素点的值设置为0,作为字体像素。对图2进行操作,图3为经过消除影响图片鉴别准确率的因素的结果,图片尺寸为769×1019。
3.2 字符分割
该文章提出的笔迹鉴别方法不是依赖于文本内容,而是依靠笔迹特征鉴别样本的书写者。并且经实验表明,单个字符比整个笔迹页面图像输入模型更有利于提取笔迹特征,所以本文的图像预处理包括字符切割。本文的字符切割共分为两步:行切割和块切割。
1)行分割
行分割采取等距滑动窗口的方法,首先设定分割后最小方块的边长,即分割后每行的高度。以D3的图像高度除以边长得到不重复分割的结果行数。但是从图2中看出,并不是每行字都在一条直线上,所以为了充分提取笔迹特征,将不重复分割的行数,但多分割的行是与原来的行有重叠内容,如图4,每行高80。
2)块分割
块分割采用随机滑动窗口法。首先设置自变量[factor]值,设[factor=0.1],将行宽[×factor]取整得到分割数量101,而每个方块的边长为80,只需13个方块即可分割完所有内容。设置自定义因子[factor]扩大分割数量可重复提取每个汉字的每一个特征,采用随机滑动窗口法还可提高每行两端特征被提取次数,提高识别准确率。图5为块分割后整幅图像的部分情况。
4 模型构建
CNN主要由卷积层、池化层、全连接层这三个部分组成。由这三部分搭建的体系结构决定其适合高维问题[6],尤其是在图像分类、图像语义分割、图像目标检测等方面具有优势[7]。这正好满足笔迹鉴别对样本图像处理、提取笔迹特征的需要。图6是本文构建的CNN模型的结构。
4.1 卷积层
卷积层的主要功能是通过卷积核采用滑动窗口机制逐步扫描输入的图像,从而提取图像特征。从图像的第一列第一行像素点开始,将卷积核的权重值与图像上对应的像素值点乘后累加,并将结果作为输出特征图相应位置的值,然后按照从左到右从上到下的顺序完成整个图像的卷积操作得到卷积层(如图7[8])。
4.2池化层
池化层也被称为下采样层,卷积层是其输入层,在对图像进行特征降维和特征提取起到重要作用。常见的池化方法有两种,分别是最大池化和均值池化(如图8)。最大池化就是选取窗口中的最大值作为该区域池化后的值,均值池化是计算窗口内数值的平均值作为该区域池化后的值。该模型采用平均池化法。
4.3全连接层
CNN的结构中多个卷积层和池化层之后,连接着一个以上的全连接层,为了整合卷积层或者池化层中具有类别区分性的局部信息,将经过多轮卷积和池化后的二维特征图转化为一维特征向量,再采用softmax函数表示每个类别的概率值,起到分类作用。
4.4模型训练
基本模型框架已经搭建,为进一步完善模型,需要数据集对模型训练,以确定卷积核大小等参数。模型训练采用CASIA-HWDB标准中文数据集,在该数据集中取每位书写者的五份材料,三份作为训练集,一份作为验证集,一份作为测试集。
nlc202207151054
转载注明来源:https://www.xzbu.com/8/view-15435983.htm