基于Java技术的泰语脱机手写模式识别研究
2017-11-30文竹
文 竹
(广西国际商务职业技术学院,广西 南宁 530007)
基于Java技术的泰语脱机手写模式识别研究
文 竹
(广西国际商务职业技术学院,广西 南宁 530007)
近年来无纸化办公的应用需求越来越多,人们开始将过去重要的手写资料以各种方式保存在计算机中。然而常见的拍照扫描等方式只能以图片存储,更多时候人们需要的是ASCII码。如果人工录入,则会耗费庞大的人力和物力。为了解决这些问题,需要研究能将手写体转换为电子文档的脱机手写识别系统,实现手写体文字的自动识别。文章通过分析脱机手写识别的国内外研究现状,探讨了泰语脱机手写模式识别的意义,并提出了实现泰语脱机手写模式识别系统的技术路线与实施方案,以期加强中泰的经贸往来,提高两国旅游服务等行业的工作效率,助推中国“一带一路”发展战略。
模式识别;脱机手写;神经网络;算法
泰语是泰国的官方语言,目前全球有约6 800万人口使用泰语,文字资料记载极为丰富。自2002年泰国所在的东盟区域建成自由贸易区后,其与中国的政治、经济合作十分紧密。中国开启“一带一路”发展战略后,更是加强了与泰国的经贸往来,泰国在中国的地缘战略建设中意义重大。笔者在查阅资料时发现,目前国内外都没有专门针对泰语的脱机手写识别研究,因此,研究脱机手写泰语识别系统无论对于中国还是泰国都有十分积极的意义。本研究目的是结合泰语文字的书写特点,利用经典的模式识别、机器学习和人工神经网络技术,对脱机手写泰语识别进行深入研究,并最终使用Java技术完成脱机手写泰语识别系统的设计。脱机手写泰语识别系统目前有巨大的市场前景,脱机手写识别也是当今模式识别、机器学习、人工神经网络领域的热门研究内容。
1 脱机手写识别的国内外研究现状
文字识别是模式识别的一种。模式识别是机器识别、计算机识别或机器自动识别,目的在于让机器自动识别事物。文字识别就是将待识别的信息映射归类并将该信息标签化存储到计算机中对应文字类别的模式识别。
目前国内外的文字识别主要有印刷体识别和手写体识别两大分支。印刷体识别又称为光学字符识别(Optical Character Recognition,OCR),是从电子设备(例如扫描仪或数码相机)获取纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。到目前为止,许多公司都开发出了基于印刷体识别的应用软件,在实际生活中也被大量地运用;手写识别是针对人的手写体文字进行识别,该技术起步较晚,并且手写文字存在书写变形、文字风格差异大和文字不固定等特点,这些特点给手写体识别的实现带来了很大难度。手写体识别又可以分为联机手写识别和脱机手写识别。联机手写识别也称为在线手写识别,是一种将用户在触摸板、手写板、屏幕等设备上的手写轨迹转化为计算机中对应的文字的技术。联机手写识别特点在于需要的存储容量较少,识别率高,更贴近实际应用,因此生活中已经被大量应用;与印刷体识别相似的是,脱机手写识别同样是通过扫描仪或数码相机通过输入文字图像的方式获取纸质上或其他可视部分的文字信息,不同的是脱机手写识别是针对人的手写体进行识别。脱机识别过程比联机识别少了用户输入的笔画顺序,而且容易受噪点、光照、书写风格影响,所以识别难度较大。
2 泰语脱机手写模式识别的意义
到目前为止,国内外都没有成熟的脱机手写识别系统。单独针对泰语的脱机手写识别研究也毫无进展。目前出现的识别系统都为印刷体识别,不受书写风格、噪点、光照等影响,所以字符识别是图像识别和人工智能领域中一个非常活跃的分支,一方面是由于问题本身的难度使之成为一个极具挑战性的课题,另一方面,是因为字符识别不是一门孤立的应用技术,其中包含了模式识别领域的其他分支都会遇到的一些基本的、共性的问题。也正是由于字符识别技术的飞速发展,才促使模式识别和图像分析发展成为一个成熟的科学领域。
在联机手写字符识别中,计算机能够通过与计算机相连的手写输入设备获得输入字符笔画的顺序、笔画的方向以及字符的形状,所以相对脱机识别来说其具有更多的可用信息,从而识别相对容易一些。但是,联机识别有一个严重的不足,即要求输入者必须在指定的设备上书写,然而人们在生活中大部分的书写情况是不满足这一要求的,比如入境泰国时所填写的入境资料、开具支票等。如果需要计算机去识别这些已经成为泰文的东西,就属于脱机手写识别技术了。针对泰语的脱机手写识别不但具有很高的应用价值,同时也具有很高的理论价值。首先,由于经济的发展,中国和泰国金融市场化进程的日益加快,票据业务发展很快,票据数量也与日俱增,其中包括个人凭证、支票、发票、进账单等均需要处理大量的信息。而目前,票据录入仍然依赖人工处理,使得票据管理工作相对落后。如果能通过脱机泰语手写识别系统实现信息的自动录入,无疑会大大促进传统人工处理方式中存在的工作量大、成本高、效率低、时效性差等问题的解决。因此,针对泰语的脱机手写识别研究有着重大的现实意义和十分广阔的应用前景,一旦研究成功并投入使用将产生巨大的社会和经济效益。其次,全球约有6 800万人口使用泰语,泰语一共有辅音字母44个,元音字母和符号32个,识别种类较小,有助于深入分析及验证一些新的理论。
3 研究目标与内容
本文主要研究泰语文字的书写特点,利用经典的模式识别、机器学习和人工神经网络技术,对输入到系统的手写泰语数据进行图像识别并输出对应的泰语字母。脱机手写泰语识别系统会搭建一个实验版本的系统进行实验,选取最合理、最有效的特征提取方法、机器学习模型来搭建系统,并收集样本训练该系统,最终使用组合特征提取方式、反向传播(Back Propagation,BP)神经网络等技术在Java开发环境中实现该系统。具体研究内容如下。
3.1 对泰文文字的研究
对泰文文字进行比较深入的分析。包括泰文字符集、泰文字符的书写方法、泰文文字的组字规律、文字独有的拓补特性和泰文手写文字产生的形变等等。
3.2 图像预处理
对图像进行预处理,以消除图像的干扰信息,得到统一规格的图像。
3.3 脱机手写泰文文字特征提取
针对泰文文字识别,对泰文特征提取方法进行研究,以便计算机将文字特征数值化后输入到系统中进行识别。
3.4 分类器设计
手写识别的最关键一个环节就是分类器的设计。近几年来,很多研究者都证明了一些经典的分类器在手写识别上都展现出良好的性能。本文将对几种经典的分类法的优缺点进行对比研究,并选择性能最优的分类法作为脱机手写泰语识别系统的分类器。
3.5 脱机手写泰语识别系统设计、测试和评估
使用Java开发搭建一个实验版本的系统进行多次实验,选取最合理、最有效的特征提取方法、机器学习模型搭建系统,并收集样本训练该系统。最后,选择若干组手写样本对识别系统进行测试,评估识别效果。
4 实现系统的技术路线
4.1 技术路线
4.1.1 手写泰文笔迹图像的预处理
针对手写泰文图像在采集、扫描和保存过程中存在的各种问题,提出一套泰文笔迹图像预处理算法。对现有的用于笔迹图像去噪的算法,进行详细的实验分析论证,最后对笔画没有破坏的自适应中值滤波算法进行图像去噪,最后设计泰文图像归一化的整个过程。
4.1.2 手写字符识别算法
将对近邻分类法(K-Nearest Neighbor,KNN)(欧式几何法)、朴素贝叶斯分类法、神经网络分类法等方法的优缺点进行对比,最后选择性能最优的一个作为脱机手写泰语识别系统的分类器。
4.1.3 基于Java技术完成脱机手写泰语识别系统的设计
脱机手写泰语识别系统目标是在输入系统的手写泰文数据的图像中识别出对应的泰文字母。该系统会搭建一个实验版本的系统进行多次试验,选取最合理、最有效的特征提取方法、机器学习模型搭建系统,并收集样本训练该系统。
4.2 技术可行性
由于本文运算量较大,为了缩短训练、减少处理时间和响应时间,项目要选择运行效率更高的运行环境。Java语言运行效率高,简单、易用且跨平台,同时提供了一些易用的图形处理接口、用户界面接口。用户拍照并传输到PC端再进行识别比较麻烦,Java语言拥有良好的可移植性,将为本文移植到Android系统实现手机拍照识别提供极大的便利。
4.3 实施方案
本文所研究的目标是将输入到系统中的手写泰语数据图像识别出对应的泰语字母,泰语一共有辅音字母44个,元音字母和符号32个。经过团队的努力,已经搭建好了一个实验版本的系统进行多次实验,以选取最合理、最有效的特征提取方法、机器学习模型搭建最终的脱机手写泰语识别系统。经过大量的数据测试,脱机手写泰语识别系统最终使用组合特征提取方式、BP神经网络并在Java开发环境中实现。
脱机手写泰语识别系统总共有6个功能模块,包括:手写图像数据提取、预处理、特征提取、训练、识别、结果显示[1]。
从数据流图的角度来说本系统主要有4个模块。
(1)图像预处理:将原始图像经过灰度化、二值化、细化、归一化后得到规格统一的归一化图像。
(2)特征提取:将归一化的图像进行特征提取,并将这些特征转换成特征序列。
(3)训练:用特征序列进行监督式学习,将分类器训练后的结果存储到分类器数据库。
(4)识别:用分类器数据对特征提取后的特征序列进行分类,得出识别结果。
脱机手写泰语识别系统的非功能需求包括2个方面。
(1)从载入文件到识别,系统不超过1 s即可返回结果。
(2)在随机抽取的样本测试中,系统识别精度应该在85%以上。
系统主要工作流程可以分为:加载文件流程、识别流程。在系统启动时,首先清空显示界面,当用户点击“选择识别文件”按钮,弹出文件选择框让用户进行选择。当用户选择的文件格式符合要求(.jpg/.png)时,将图像加载到内存中,并显示到用户界面上。若文件格式不属于这两种格式则提示文件不符合要求,可以重新选择。当用户点击识别按钮时,首先判断用户是否选择了识别文件,若没选择会返回提示信息,否则进入下一阶段。在预处理阶段,系统判断图片规格是否符合识别要求(图片长宽是否合适),若不符合要求,则提示错误信息,否则进入下一流程。经过预处理、特征提取、分类后最终得到结果显示在用户界面上[2]。
针对手写泰语而言,需要提取的特征维度为65维度,经过筛选后剩下20个特征,这样,我们就确定了输入层的节点数为20个。脱机手写泰语识别系统一共要识别辅音字母44个元音字母和符号32个共76个字符,若将输出层节点代表N(N为整数)位二进制数,则输出层节点数应该满足logn76lt;N,满足此时的同时取最小值,即N=7。为了使BP神经网络保持一定识别精度的同时减少训练时间,脱机手写泰语识别系统设置一层隐藏层。中间层节点数我们设置为输入层节点数的两倍加一,即41个节点。为了让网络训练保持一定训练速度的同时不出现不稳定的现象,脱机手写泰语识别系统选取的学习速率为0.1。闸值和权值初始值通过随机浮点函数确定,精度保留小数点后一位。随机数的范围为[-0.7,0.7]。
神经网络的学习过程主要有6个部分:初始化、信号传播、误差计算、误差校正、误差判定、循环训练。学习开始的时候系统会连接权及闸值初始化,然后进入学习模式,在信号传播期间计算中间层各单元的输入、输出和计算输出层各单元的校正误差,校正误差的同时调整中间层至输出层之间的连接权及输出层各单元的输出闸值,接下来更新学习输入模式并判断全部模式训练是否结束,如果还未结束则重复该过程,如果已经结束则更新学习次数。
神经网络训练完成后,网络暂时存在内存中,需要永久性存储以便下次识别。JSON是一种轻量级的数据交换格式本,使用方便,便于查询,因此本文使用JSON做数据存储格式。本文使用JSON-Java工具包,将文件存储成.json格式。
目前研究团队已经初步设计出的脱机手写泰语识别系统,人机交互界面主要有客户版和实验版两个版本。客户版主要功能为选择待识别图片、图片预处理并展示、识别。实验版功能更强大,除了含有客户版的功能外,还增加了图片批量识别、特征提取方式选择、分类器选择、训练、结果输出、实验统计等功能。实验版有助于在实验阶段对系统进行调试、训练、实验和总结并完善。项目团队对于几种特征提取方法和分类器进行了对比实验,从而找出针对脱机手写泰语字母识别系统的最佳性能识别方法。本次实验从260人中采集了17 500份手写样本。为了降低实验的难度,本次实验规定手写样本必须风格统一。其中,随机提取2 310份样本作为测试样本,其余的作为接下来研究的训练样本。已经进行的实验中,分别对网格、外围、直方图、组合特征进行了对比实验,测试样本为2 310份测试时选用BP神经网络做分类器,实验结果如表1所示。
表1 实验结果
泰语字符中,有多个字母有较高的相似度,这使得泰语手写识别系统的研发具有一定难度。本文拟利用广西与东盟、泰国之间的便利条件,抽取更多样本资料进行实验,在特征提取中,采用弹性网络加外围特征的组合特征提取方式,争取使得特征有较好的区分度。本文使用BP神经网络作为分类器,可以借助当前最流行的BP神经技术进一步提高识别精度。
5 结语
泰语手写识别系统研发所取得的进展,将极大地提高数据录入和处理的效率,并允许各种设备有读取环境中丰富的泰语文字信息的能力。可以将泰语文字识别技术应用于大规模数据统计中。例如,留学生成绩单录入、出入境税单申报、出入境表格填写、中泰合资企业财务信息处理等,使用脱机手写泰语识别技术将大大提高这方面的工作效率。此外,随着我国“一带一路”政策的实施,与泰国方面的金融、基础建设、铁路、航空、旅游、医药等方面的合作日益增加,有大量财务、税务、金融领域的单据需要进行处理。使用脱机手写泰语识别技术有利于加强中泰的经贸往来,提高两国旅游服务等行业的工作效率,助推中国“一带一路”发展战略。
[1]张翠芳.Zhang并行细化算法的改进[J].计算机应用技术,2016(6):69-71.
[2]杨金伟,段会川.脱机手写数字识别方法[J].计算机工程与设计,2008(20):5379-5382.
Research on Thai handwritten pattern recognition based on Java technology
Wen Zhu
(Guangxi International Business Vocational College, Nanning 530007, China)
In recent years, there is an increasing demand for paperless office applications, and people have begun to store important handwritten information in computers in a variety of ways. However, common scanning methods such as pictures can only be stored as pictures, more often people need ASCII code. If you manually enter, it will spend a huge amount of manpower and material resources. In order to solve these problems, it is necessary to study offline handwriting recognition system that can convert handwriting to electronic document, and realize automatic recognition of handwritten text. By analyzing the current research situation of offline handwriting recognition at home and abroad, this article discusses the meaning of Thai offline handwriting pattern recognition and puts forward the technical route and implementation plan of Thai offline handwriting pattern recognition system in order to strengthen Sino-Thai economic and trade exchanges, improve the efficiency of tourism and other industries in the two countries and boost China’s development strategy of“One Belt, One Road”.
pattern recognition; offline handwriting; neural network; algorithm
文竹(1982— ),女,贵州铜仁人,讲师,硕士;研究方向:大数据,数据挖掘。