当前位置:首页 期刊杂志

基于深度残差网络的文字识别算法研究∗

时间:2024-05-04

孟彩霞 王腾飞 王 鑫

(西安邮电大学 西安 710000)

1 引言

科学技术的飞速发展,给现代人的生活带来了翻天覆地的改变。房产证、名片等作为公民不动产、个人信息管理的有效工具,其识别与管理涉及到社会的很多方面。目前其信息的录入大多是靠人工实现的。而这种录入方法存在了诸多不足,因此如何利用现有的科技实现通过计算机进行自动录入,而人工只做一些简单的辅助操作成为一个急需解决的问题。

近些年来,图像处理技术与模式识别理论的发展,尤其是深度学习的发展为基于数字图像实现的汉字识别行业奠定了理论基础,而电子技术的迅猛发展带来的成本低、体积小、清晰度高的摄像头在移动终端的普遍应用为快速、便捷、低成本的汉字识别提供了技术平台。20 世纪六七十年代涌现出了第一批光学字符识别(Optical Character Recognition,OCR)系统[1~2],它们的功能有限,识别量小。这批OCR系统中最具典型意义的是Farrington3010[3]。目前,基于光学摄像头图像处理以及模式识别理论的OCR 在社会的各个行业得到广泛的应用。在光学字符识别的基础上发展起来的汉字识别作为一种新型的技术也在社会生活的各个方面得到了应用。随着国家信息化建设的发展,基于深度学习的文字识别技术备受关注。随着网络技术与数据库技术的发展,汉字识别的结果可以给很多行业带来极大地便利。

虽然光学字符识别技术已经是一个比较成熟的领域,但是由于中文字符种类繁多,其识别精度仍然有待进一步提高。为了提高识别精度,本文以一级汉字为研究对象,通过建立一级汉字训练数据库,在卷积神经网络的基础上引入深度残差网络模型结构,提出了一种基于深度残差网络的文字识别方法。

2 相关工作

中国的常用汉字有3500 个左右,参照GB2312-80 ,一级汉字有3755 个。由于汉字种类多,对应的训练数据相对较少,并且有多种书写的形式(如:隶书、仿宋、行书等),因此汉字的识别在机器学习中是一个非常棘手的问题。如何通过机器学习将中文汉字进行快速准确的识别是国内众多专家与学者一个急需解决的问题。Jun Du 等提出了一种基于卷积神经网络特征提取的在线手写汉字的识别方法[4],通过卷积神经网络进行特征提取,然后对特征进行线性变化,利用正则化优化网路参数进行在线手写汉字识别;Lu Liu 等提出了一种基于二次分类函数与深度信念网络模型相结合的手写汉字识别方法[5];Zhuoyao Zhong等提出了一种基于卷积神经网络的多种汉字字体多次池化的印刷汉字识别方法[6],在卷积神经网络的卷积层上提出一个多层池化层,显著地提高了识别正确率;Weixin Yang 等提出基于指定特征的卷积神经网络进行手写汉字的识别方法[7],通过对手写字体进行形变、非线性归一化、方向特征等的提取进行网络模型识别效果的提升;Yejun Tang 等提出了一种基于卷积神经网络与转移学习的方法[8],通过印刷汉字对一个卷积神经网络进行训练,将训练之后的网络模型的参数作为初始化权重,通过手写字体和繁体字等对网络模型进行再次训练得到最终的网络模型,最后将训练的模型用于汉字的识别;Xuchen Song等通过对图像进行旋转、尺度变换等对训练数据进行扩充,提出了基于卷积神经网络的形近字识别方法[9]。姚超等提出了一种基于级联分类器的手写相似汉字对别方法,在得到特征向量之后先利用二次判别函数进行分类,然后在利用支持向量机进行分类,得到最后的识别结果[10]。

3 深度残差网络文字识别算法

让机器以类人的方式进行快速的学习与准确的认知,是科学家们长期探索与追求的一大科学梦想,人工神经网络正是在这种背景下被提出的。传统的人工神经网络进行训练的一般步骤是先进行特征的提取,然后将提取的特征输入到网络中进行网络模型权重的训练。随着科技的不断发展,数据的数量与复杂度在不断增加,给传统的人工神经网络带来了一系列的挑战。如何提高网络模型的鲁棒性成为了一个新的问题。一个解决方案是提高网络模型的复杂度,将这个思想转移到人工神经网络上就是对人工神经网络的层数进行加深,因此深度神经网络应运而生。深度神经网络在图像分类领域带来了一系列的突破。它可以从原始数据中提取由低层到高层、由具体到抽象的、由一般到特定语义的特征,来实现对复杂数据的分析[11]。其中最著名的网络是深度卷积神经网络。

3.1 残差网络简介

网络模型的深度在图像分类领域发挥着非常重要的作用,许多视觉任务也都得益于非常深的网络模型。但是在对网络深度进行加深的同时又会导致网络模型的训练难度增加(网络模型损失函数出现震荡、过拟合等现象),因此对网络层次比较深的神经网络进行训练是非常困难的,而使用残差网络可以很好地减轻深层网络训练的负担,提高网络的深度[12]。

深度残差网络(ResNet,Residual Neural Network)[13],是微软亚洲研究院何凯明等四名华人提出的一种深度卷积网络模型。ResNet 最初的想法是在训练集上,深层网络不应该比浅层网络差。因为只需要深层网络多的那些层做恒等映射就简化为了前层网络。所以从学习恒等映射这点出发,考虑到一个网络要学习一个F(x)=x的映射比学习F(x)= 0 的映射更难,所以可以把网络设计成H(x)=F(x)+x,这样就完成了恒等映射的学习,又降低了学习难度。这里的x 是残差结构的输入,F是该层网络的输出,H是整个残差结构的输出。

图1 残差网络单元结构图

ResNet 的创新主要在于残差网络,这个网络的提出本质上还是要解决层次比较深的时候无法训练的问题。它的提出,极大地加快了深层网络的训练,模型的准确率大幅度提升,并且具有良好的扩展性和推广性。

3.2 残差单元设计

根据文字识别的相关算法,进行残差单元的设计。如图2 所示,每一个残差单元包含两层卷积神经网络,残差单元第一层卷积层有64 个卷积核,卷积核大小为3×3,然后通过一层双曲切线的激活函数实现非线性变换;第二层卷积层有128 个卷积核,大小与第一层一样,然后将输入与第二层卷积层的输出进行叠加作为最终的残差单元输出。

图2 残差单元内部网络图

3.3 深度残差网络模型

深度残差网络模型如下图所示,输入为(64,64)大小的一级汉字图像,经过第一层卷积层,卷积核个数为16,大小为(5,5),步长为1;然后进行最大值池化;第三、四、五层为残差单元;接下来是一层均值池化层;然后是一层Dropout 层[14],随机将20%的网络权重置为0,提高深度残差网络模型的鲁棒性并能在一定程度上防止过拟合。下面是将特征图变为一维特征向量的Flatten层,接下来是一层全连接层,神经元个数为3072;最后是Soft Max层进行一级汉字的分类。每层卷积之后都会进行批归一化[15](Batch Normalization,BN),用于加速训练和优化训练结果。每层卷积层与全连接层之后都会有激活函数,除去全连接层以外,激活函数全部为Tanh,第一层全连接层的激活函数为Relu,相比于Tanh,Relu 进行训练速度更快[16],但通过实验卷积层使用Tanh,网络更容易训练。模型的优化方法为随机梯度下降法[17](Stochastic Gradient Descent,SGD)。

图3 ResNet_OCR网络图

4 实验

4.1 实验环境

表1 实验环境与具体配置

4.2 训练结果

通过构建一级汉字数据库进行网络模型的训练。共有172730 幅一级汉字图像,并将其进行倾斜、添加噪声等变换,选取其中的60%进行训练,40%作为测试样本,采用随机梯度下降作为优化函数。每次迭代的数据大小为(batch size)为30 幅图像,共进行50轮训练,其训练结果如图4~5所示:图4为50轮训练中训练正确率与测试正确率变化图,图5 是50 轮训练中训练损失函数与测试损失函数变化图。从这两幅图可以看出,训练过程中损失函数是逐渐降低,正确率逐渐提高,过拟合现象不明显。其中训练正确率最高达到了98.9%,测试正确率最高达到了98.6%。

图4 训练正确率与测试正确率

图5 训练损失函数与测试损失函数

4.3 测试结果

从实际场景中选取1000 幅单一字符(宋体、隶书等)进行模型鲁棒性的测试,测试正确率为94.6%。

图6 模型测试字符数据

5 结语

本文提出了一种基于深度残差网络模型的文字识别网络模型,通过实验证明此网络模型可以很好地完成中文字符识别任务。但是其对形近字之间的识别鲁棒性还有待进一步提高。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!