2021579
基于社会发展对于字符识别不断增长的需求,从二十世纪六、七十年代开始,国内外相继展开了对于字符识别相关方面的研究,从早期按照像素匹配识别发展到传统的机器学习特征提取匹配直到如今基于深度神经网络。字符识别的预期未来需求包括突破手写体汉字字符识别困难,应用于电子档案记录,全球搜索的书籍和历史文档,摄像头拍摄的文本场景、视频文本[1-2]等等。
计算机性能的改善和数据喷涌式的爆发,使深度学习在传统机器学习上不断发展,最关键就在于自动提取学习特征,降低了手工特性设计可能的耗时。卷积神经网络(CNN)常用于图像处理,有能力从大量数据中学习复杂的、高维的、非线性的映射,同时演示了深层处理技术对图像处理的重要性[3-4]。
在很多文献中,字符识别直接分成印刷体与手写体。而本文根据国家电网项目的实际需求,将扫描文档中手写体日期作为研究对象,分为手写体数字识别和汉字识别,数字部分为手写体数字识别,而汉字部分主要针对一些特定的印刷体汉字。通过将这两者结合,同时针对实际运用过程中可能引入的干扰做出相应的增强预处理,并对比在不同训练参数组合下LeNet-5的识别效果,优化调整参数,得到使模型实现最佳效果的训练参数。解决了实际项目中对于手写体日期的识别需求。
融合LeNet-5改进的扫描文档手写日期识别
张成1,戴俊峰1,熊闻心2
1.国网湖北省电力有限公司信息通信公司,武汉430077
2.武汉大学电子信息学院,武汉430072
摘要:研究LeNet-5在扫描文档中手写体日期字符识别的应用,由于文档扫描的过程中会引入各种噪声,特别是光照和颜干扰,直接使用LeNet-5算法不能取得较好效果。先在整份文档中对特定待识别字符的进行定位和划分,并对划分出的字符图像进行去噪、灰度化和二值化处理等预处理,接着将字符图像分割成一个个单个字符,然后在LeNet-5网络基础上结合模型匹配法实现对手写体日期字符的识别。分析在不同参数组合下的识别效果,调整算法模型参数有效地提升了模型对于实际对象的性能,实现出一种能够对手写体日期字符集实现较好识别效果的算法。实验结果表明了算法的有效性,并应用于具体工程实践。
关键词:深度学习;卷积神经网络;LeNet-5;字符识别
文献标志码:A中图分类号:TP399doi:10.3778/j.issn.1002-8331.2002-0015
Improved Handwritten Date Recognition in Scanned Documents Combined with LeNet-5 ZHANG Cheng1,DAI Junfeng1,XIONG Wenxin2
1.State Grid Hubei Information&Telecommunication Company Limited,Wuhan430077,China
2.School of Electronic Information,Wuhan University,Wuhan430072,China
Abstract:This paper studies the application of LeNet-5in handwritten date characters recognition in scanned documents. As various noises will appear in the process of document scanning,especially light and color interference,using LeNet-5 algorithm directly can not get good results.This article firstly gets the location and division of the particular character to be recognized in the whole document while the divided character image is processed by denoising,graying and binariza-tion.For the next step,character image is segmented into a single character and then the article realizes the recognition of handwritten date characters on the basis of LeNet-5network combined with model matching method.By comparing the recognition effect under different combination of parameters and adjusting the parameters to improve model performance for practical objects,an algorithm that can achieve a better recognition effect for handwritten date character set is realized. Experimental results show that the algorithm is effective and can be applied in practical engineering.
Key words:deep learning;convolutional neural network;LeNet-5;character recognition
基金项目:国网湖北省电力有限公司2019年科技项目(52153318004G);国家自然科学基金(6147
1272)。
作者简介:张成(1982—),男,硕士,高级工程师,主要研究方向为电力行业中信息通信和图文信息处理,E-mail:。收稿日期:2020-02-03修回日期:2020-07-08文章编号:1002-8331(2021)09-0207-05
207
2021579
1基于LeNet-5的手写体日期识别
1.1算法整体框架
根据对于扫描文档中的手写体日期字符特点的观察研究,设计的算法首先要对目标图像进行一连串具有针对性的预处理,其中包含图像定位、图像去噪、灰度化和二值化;然后将经过预处理后的图像进
行字符分割放入待识别字符集;将待识别字符集分别运用模板匹配法和LeNet-5网络进行识别,最后进行相关处理整合即可得识别结果完成整个算法实现。图1为体现整个算法设计思路的流程图。
1.2目标图像的预处理
图像预处理是在对字符图像进行分割和识别前的一个关键步骤,特别是在实际项目运用中,具有针对性的图像预处理能有效地提高待识别字符图像的质量,从而能极大程度上提高字符识别率。本文的图像预处理包括[5]:特定字符图像的定位、图像去噪、图像灰度化和图像二值化。
1.2.1特定字符图像的定位
本文主要研究的是扫描文档中印章下的手写体日期,那么在信息密集的扫描文档中确定目标字符图像的定位并划分[6]是首要步骤。(1)根据印章的形状为圆形,而一般文档中几乎不出现圆形,于是在文档图像中确定的圆即为印章。(2)运用对圆的检索确定了印章在整幅图像中的位置,根据印章的位置向四周扩大印章外接矩形框进行裁剪,这样能够很大程度上保证手写体日期完整地被切分出来。(3)在切分出的图像上再进一步对目标图像单独裁剪出来,将目标图像与其他不相干信息区分。如图2所示。1.2.2图像去噪
由于原始扫描图像本身、扫描环境、扫描设备等原因,扫描文档图像可能会夹带着一定程度的噪声,
并且伴有光照和颜干扰。为了降低干扰对识别率的影响需要进行去噪处理[7-9],对于噪声对图像质量的影响,选用了高斯滤波,对于光照便选用了较为常见的伽马校正。在实际项目进行中,对于文档中印章下的手写体日期识别,扫描图像中常含有印章这样很明显特别的干扰,如果不去除干扰图像印章直接灰度化和二值化将会影响后续的识别准确率。本文研究观察选择通过印章通常为红而手写体日期字符一般为黑这一规律实现印章的去除。对已经定位并剪裁好的彩图像分离红分量设置一定阈值从而进行印章的去除,如图3所示。
经过分离红分量,图3明显干扰减少,能提高图像分割的准确率,而伽马校正与高斯滤波的效果在这一步并不明显,由以下二值化图像效果进行对比。
1.2.3图像灰度化和二值化
根据人眼对于绿最敏感,对于蓝最迟钝,对于红敏感度居中的视觉特性来选择权重,本文选择加权平均法来实现图像灰度化,根据公式(1)对图像的三个分量进行加权平均能得到效果较好的灰度图像[10]:Y=0.3R+0.59G+0.11B(1)紧接着运用最大类间方差算法(OTSU)方法确定阈值对上述灰度图像进行二值化[11],如图4所示。
由二值化图像可以看出有伽马校正与高斯滤波可以使得字符形态更加清晰突出,像素更为连续,目标与背景差别更大,为后续的分割和识别奠定了更好的基础。
1.3字符图像的分割
图像分割是进入字符识别前极为关键的一环,字符切分准确与否也关系着字符能否被准确识别。常见的两种切割字符图像的方法:投影分割法和连通域分割法[12]。本文采用连通域分割法将字符分割成一个个单独的图像,同时要注意按照从左到右的顺序(也就是按列的从小到大)排列保存,每一行代表每一个分割出的单个字符的信息,从左到右依次是位置x、y和长宽w、h,如图5所示。
输入扫描图片图像预处理
图像定位图像去噪图像灰度化图像二值化
模板匹配
字符分割
字符识别
LeNet-5网络
输出识别结果图1
算法的整体框架
图2定位裁剪后的日期图像
图3
去除印章后的图像
(b)
有伽马校正与高斯滤波(a)无伽马校正与高斯滤波
图4
图像经过灰度化和二值化的效果图
(b)
有伽马校正与高斯滤波(a)无伽马校正与高斯滤波
208
2021579
1.4目标图像的字符识别
字符识别是模式识别中的一个分支,利用计算机来模仿人的视觉神经,通过计算分析将图像中的字符转化成机器能读取识别的信息。目前已经提出的方法有基于模板匹配的识别、基于人工神经网络的识
别、基于支持向量机的识别、基于决策树的识别等等[13]。这些方法的基础还是建立于对字符本身特征进行提取、分析和学习。目标图像中字符既包含手写体数字又包含着年、月、日这样的汉字字符,这两种字符要分开识别才能保证识别率。
1.4.1日期中年、月、日的识别
由于所识别的对象是日期中的汉字字符,字符为印刷体,个数不多,字符字体变化不大,所以本文采用了实现较为容易的模板匹配的方法[14]。模板匹配法的基本原理是根据待识别字符制作出标准的模板,对于待识别字符集便生成对应的模板库,识别结果是将待识别字符与模板库中的标准模板进行比较判断相似度从而得出的。模板匹配法具体实现是将分割后的二值化字符的尺寸大小与模板库中模板大小统一,然后将其与所有的模板进行匹配[15],最后相似度最高的对应模板即为识别结果。该方法存在着抗噪性能差,计算量大的特性,对待识别字符的图像质量有较高要求,适用于与模板大小、形态差别不大的字符的识别。
(1)首先从某个完成预处理的图像中抠出字符图像来制作字符的模板,如图6所示。
(2)然后将模板在二值化图像中进行模板匹配,效果如图7所示。
同时记录下三个字符在图片中的位置(x,y,w,h)分别为:(129,38,43,44)(240,42,35,42)(355,44,30,40)
(3)根据之前分割单个字符的位置信息,可以在字符集中判断出年、月、日,如图8。
只要在分割字符的时候加入相应的判断条件,便可以将年、月、日这三个字符识别出来,并将这三个汉字字符与手写体数字字符区分开来。1.4.2日期中手写体数字的识别
(1)字符归一化
由于字符图像本身大小有差别对字符的识别会造成很大影响[16],为了提高字符的识别率需要对经过分割和区分出来的待识别手写体数字字符图片进行大小归一化[17]如图9所示。
将字符归一化能够与训练集形态更为相似,从而更加适应模型,提高识别效果。
(2)LeNet-5模型识别
LeNet-5是Yann LeCun设计出的对于手写体数字识别效果非常好的卷积神经网络,可以称得上是早期卷积神经网络中最具代表性的模型之一[18-19],也因此本文选择针对手写体数字部分构建LeNet-5网络。LeNet-5模型由2个卷积层、2个池化层(抽样层)和3个全连接层共7层组成[20-21],图10为LeNet-5的网络结构示意图。
将归一化完成的字符图像放入已经设置好参数训练完成的LeNet-5网络中进行手写体数字的识别。
2测试结果与分析
本章算法测试环境为64位Windows10操作系统,8GB运行内存的计算机,运用Python编程语言并在Python中配置了Tensorflow、Opencv。
MNIST数据集:选择经典的MNIST数据集作为手写体数字识别模型的训练集,载入LeNet-5的数据输入层。MNIST是一个含有60000个训练样本和10000个测试样本,总共70000个样本的手写体数字库。其中含有数字0~9的训练数据集和测试数据集两种图片,每张图片都已经经过了预处处理与大小归一化,大小为28×28,均为黑底白字。
2.1算法测试对象
本文将收集的样本分成有印章和无印章干扰的测
图5
分割成单个字符并按顺序排列后的图像
图6
制作的模板图像
图7
将模板在图像中进行匹配的效果图
图8
分割出的单个字符的信息
图9
字符图像归一化
Gaussian
connections
Full connection
Full connection
Subsampling
Convolutions
Subsampling
Convolutions
INPUT
32×32
C1:feature maps
6@28×28S2:f.maps
6@14×14
C3:f.maps
16@10×10
S4:f.maps
16@5×5
C5:layer
120F6:layer
84
OUTPUT
10
图10LeNet-5网络结构示意图
209
2021579试样本。总样本中将分割错误的字符去除后有效手写体数字个数共有266个,本实验的识别准确率按单个数字字符来算。
随机选取10个同学写出共40个手写体日期作为无印章测试样本来进行识别测试,图11是部分无印章的测试样本。
图12为有印章的测试样本。
由于连通域分割法无法对相互粘连的字符进行有效分割,所以在制作手写体数字样本时应该注意不能过于随意连笔。
2.2测试识别效果与分析
2.2.1不同参数下的识别率(1)对于batch 的选取
由于在模型执行反向传播时会运用梯度下降算法,如若载入所有样本进行训练将会大大增加训练的时间复杂度,所以将总体样本分成一个个batch 来进行参数寻优。在控制其他参数不变的条件下,改变batch 的大小,所出现的误识别率和运行时间如表1所示[10]。
根据图中的比较信息可以发现,batch 增多,使误识别率随之增大,识别时间随之减少,综合误识别率和识别时间这两个因素考虑,本文决定将batch 选取为50,希望能使LeNet-5网络性能达到比较好的效果。
(2)对于learning rate 的选取
learning rate 便是每次切线旋转的幅度,加大learning rate 会一定程度上加快拟合的速度,但同时如果一味加大learning rate 可能会造成切线旋转过度而无法收敛,模型误差很大。
在batch =50,epoch =40的同一条件下进行算法测试如表2所示。
在对learning rate 的对比测试过程中,learning rate 为0.01时训练模型无法收敛。对比测试结果显示对于这个模型learning rate 取0.001时最为合适。
(3)对于epoch 的选取
在batch =50,learning rate =0.001同一条件下分别在MNIST 训练集和自己制作的测试集上进行算法测试如表3所示。
对于日期识别会更看重识别的准确性,所以epoch 选取80。
进行一系列的相关对比实验后,得出当训练参数选择epoch =80,batch =50,learning rate =0.001时,该算法中的LeNet-5网络对于测试样本能够达到最佳的识别效果。
2.2.2对于有无特定去噪处理的识别效果对比
由于一般文档中手写体日期与印章紧密相联,一般常用的图像去噪的方法对此是没有太多效果的,而本文设计的算法能够去除这些特定字符在特定条件下的噪声干扰,从而完成字符识别。以下是对于同一份手写体日期对比有无去除印章的识别效果,图13为测试样本。
(1)无去除印章的手写体日期识别
将图像进行除去除印章外的其他预处理,如图14所示。
从图14中其实很明显可以发现印章对于手写体日期的干扰,然后对图像进行字符分割,如图15所示。
如图15,由于印章的干扰根本无法进行正确的分割,
进而完全无法实现正确的识别。
图11
无印章干扰的测试样本
图12有印章干扰的测试样本示例
表1
不同batch 下的训练效果
训练样本个数(batch )
2550100200
误识别率/%
7.8011.1317.6163.16
识别时间/s
111887978
表2
learning rate 对识别率的影响(batch =50,epoch =40)
Learning rate 0.010.0010.0001
MNIST 训练集识别率/%
≈15
>98>98测试样本识别率/%
90.9823.08
表3
epoch 对识别率的影响
(batch =50,learning rate =0.001)
Epoch 4080100
MNIST 训练集识别率/%
>98>98>98
测试样本识别率/%
90.9891.3589.85
未识别的网络图13
测试样本
图14
带有印章干扰的二值化图像
图15
带有印章干扰的字符分割
210
2021579
(2)有去除印章的手写体日期识别
将图像进行去除印章和一系列的预处理,如图16所示。
将去除印章后的图像进行字符分割,效果如图17所示。
去除印章干扰后对字符图像分割是比较准确的。最后将分割后的图像进行识别,结果为:2018年3月27日,这里识别的结果比起未去除印章干扰的图像提升效果还是很明显的。
根据以上测试结果对比可以发现,本文算法的预处理部分能够针对实际项目中手写体日期这样的特定对象进行较好的处理,从而能够识别印章下的手写体日期,增强了一般算法的抗噪性能从而提高识别率,同时更加还原生活中的真实场景,增加了实际应用的可能性。
2.3实验效果展示
以下为部分测试结果效果图,识别率为91.35%,如图18效果图所示。
3结束语
本文主要研究对象针对的是扫描文档中手写体日期的识别,特别是有印章、颜和光照等噪声干扰的手写体日期,通过构造一系列针对性的预处理,增强了一般算法的抗噪性能,另一方面通过相关对比实验寻合适的LeNet-5网络训练参数,从而实现了更有效的识别,更加还原生活中的真实场景,增加了LeNet-5网络实际应用的可能性,更符合实际的文档识别项目需求。
需从以下几个方面寻求下一步更好的效果:手写体形态的差别大、大小不一、笔画粗细不一等不确定因素,这些因素一方面使得图像的前期处理不能合适地贴合每一个字符。字符分割的模块使用的是连通域分割法,于是对于字符粘连的情况不能进行有效分割,而日常生活中书写数字时,经常会出现连笔。基于深度学习的网络一般都为端到端,且此LeNet-5网络层数不多,改进的方法有限。
参考文献:
[1]徐胤,袁浩巍,李智.基于卷积神经网络和TensorFlow的手
写数字识别研究[J].上海电气技术,2018,11(1):31-34. [2]肖进胜,谢文娟,肖胜华,等.基于MAP-CA的视频多点处
理系统的研究与实现[J].计算机应用,2004(7):54-57. [3]KETKAR N.Convolutional neural networks[M]//Deep learning
with Python.Berkeley,CA:Apress,2017:63-78.
[4]AHRANJANY S S,RAZZAZI F,GHASSEMIAN M H.
A very high accuracy handwritten character recognition
system for Farsi/Arabic digits using convolutional neural networks[C]//Fifth International Conference on Bio-Inspired Computing:Theories and Applications,Liver-pool,United Kingdom,2010.
[5]弓耀辉.图像文字识别中的预处理技术研究综述[J].信息
通信,2017(9):291-292.
[6]陈政.车牌识别系统研究综述[J].现代信息科技,2019,
3(11):193-195.
[7]肖进胜,朱力,赵博强,等.基于主成分分析的分块视频噪
声估计[J].自动化学报,2018,44(9):1618-1625.
[8]XIAO Jinsheng,TIAN Hong,ZHANG Yongqin,et al.
Blind video denoising via texture-aware noise estimation[J].
Computer Vision and Image Understanding,2018,169:1-13.
[9]陈岩,李洋洋,余乐,等.基于卷积神经网络的手写体数字
识别系统[J].微电子学与计算机,2018(2):71-74.
[10]邓长银,张杰.基于改进LeNet-5模型的手写数字识别[J].
信息通信,2018(1):109-112.
[11]尹晓伟,王真真,孟庆林,等.基于改进的LeNet-5手写数
字识别研究[J].信息通信,2019(3):17-18.
[12]邢萌.基于TensorFlow手写数字识别模型设计与实现[J].
电子技术与软件工程,2019(2):56.
[13]黄睿,陆许明,邬依林.基于TensorFlow深度学习手写体
数字识别及应用[J].电子技术应用,2018,44(10):6-10. [14]刘振飞.基于OpenCV的银行卡号识别系统[J].电子技术
与软件工程,2019(11):63.
[15]EL-SAWY A,EL-BAKRY H,LOEY M.CNN for hand-
written arabic digits recognition based on LeNet-5[C]//
International Conference on Advanced Intelligent System
and Informatics,2016:566-575.
[16]胡德敏,程普芳.一种改进的LeNet网络[J].电子科技,
2019,32(3):53-56.
[17]崔丽.基于深度学习的字符识别技术研究[J].自动化技术
与应用,2018,37(11):120-125.
[18]刘建伯,娄洪亮.基于改进LeNet-5的油井井号识别方
法[J].自动化技术与应用,2019,38(1):75-80.
[19]张啸,周连喆,张琳琳.基于改进LeNet-5的面部表情识别
方法[J].计算机与现代化,2019(10):83-87.
[20]李瑞辰,姚宇峰,蒋元华.基于LeNet-5的编组站站内机车
车号识别系统的研究[J].铁路计算机应用,2019,28(9):16-20.
[21]褚莹,陶纪宇,凌力.基于改进LeNet-5的交通标志识别算
法研究[J].微型电脑应用,2019,35(9):58-61.
图16
去除印章干扰的二值化图像
图17
去除印章干扰后的字符分割图18部分实验效果图
211