基于J2EE的手写体公式识别系统的设计与实现
2021-03-22刘祖赢陈庭轩
刘祖赢 陈庭轩
摘要:手写体识别现已应用到多个行业之中,常见的如财务系统、税务系统、金融系统等领域,手写体识别的出现大大提高了各行各业的工作效率及精准性。对于教育行业,手写体识别主要用于课程作业的识别,该系统基于该需求,运用JavaEE技术开发了一个基于Tensorflow框架的手写体识别算法的公式识别系统,使用spring MVC作为应用框架,以tomcat作为服务器进行部署。该系统能对公式进行识别以及计算,对在线教育领域具有优良的应用价值。
关键词:JavaEE;手写体识别;在线教育;spring MVC;公式计算
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2021)06-0074-02
Abstract: Handwriting recognition has been applied to many industries, such as financial system, tax system, financial system and other fields. The emergence of handwriting recognition greatly improves the efficiency and accuracy of all walks of life. For the education industry, handwriting recognition is mainly used for the recognition of course assignments. Based on this demand, the system uses JavaEE technology to develop a formula recognition system based on a tensorflow algorithm, uses spring MVC as the application framework, and Tomcat as the server for deployment. The system can identify and calculate the formula, which has good application value in the field of online education.
Key words: JavaEE; handwriting recognition; online education; spring MVC; formula calculation
1 背景
随着全球互联网技术的飞速发展[1],线上教育逐渐走进人们的视野。传统教育以教师和学生的课堂互动和学生课后自主练习为基准,每一个环节都需要教师直接或间接进行把控。考试和考试阅卷是学校主要教学工作的一部分,传统的纸质阅卷费时费力,而且阅卷过程烦琐且易于出现错评误评[2],而现如今兴起的深度学习技术则缓解了教师的这一大痛点。手写体识别技术可以帮助教师在阅卷、批改作业等环节脱离纸质板书,将老师从重复且枯燥的客观题批阅中解放出来[3],节省教师的体力和时间的同时还能避免纸质板书出现的谬误,助其在教学领域取得更好的成就。
数学公式能包含大量的信息,一位职业数学家即使不懂日语,仅仅通过看公式,也能看懂部分日语写的数学专著,并且看出这本书是否值得翻译[4],由此可见数学公式在学术和教育中的重要性。基于以上问题和方法,本项目实现了一个将手写体公式板书识别为计算机能识别的公式字符串的智能识别系统。
2 手写体识别算法
图像识别问题作为人工智能的一个重要领域,是近年来的研究热点,并已经取得了突破性的进展[5]。手写体识别算法作为图像识别的一个大分支,也处于发展热潮。手写体识别可以分为联机识别和脱机识别两大类,联机手写体也就是用户在触屏设备或手写板上书写的同时,算法就对其进行实时识别,由于待处理数据是实时的,联机识别的最大的好处就是可以克服原始数据中的噪声,因此识别难度也相对较低;而脱机识别指的是用户将手写体数据在电子设备或纸质媒介上提前书写好,然后保存为图片或通过相机拍摄为图片再交由手写体算法进行识别,由于处理流程中增加了一次保存操作,因此也不可避免地带来了更多干扰和噪声,让识别也更困难。考虑到广大师生平时的使用习惯,本系统采用的是脱机识别算法,便于师生们先完成公式或算式再提交给系统进行识别。
本系统的脱机手写体识别算法为由陈庭轩等人提出的一种基于Adam-SGD融合优化CNN集成学习算法[6]。单独使用Adam优化算法后期可能会因震荡而无法收敛引起错过最优解,而SGD优化算法相比Adam优化算法收敛速度慢但结果一般较好,该算法在模型训练时结合Adam优化算法和SGD優化算法,既能获得Adam优化算法的快速收敛,又能利用SGD优化算法获取最优解。
3 系统的总体设计与实现
3.1 系统总体设计
本公式识别系统主要分为三个模块:手写体识别、公式重组与计算、前端页面。手写体识别算法负责对公式字符的识别,获取到字符识别结果之后重组为公式并计算与判断该答案是否正确,最后将识别的结果以及提交答案是否正确展示给用户。在确定系统的基本架构之后,系统流程设计如图1所示。
3.2 公式计算
在手写体识别算法获得识别结果之后,便需要对公式进行重组和计算。本系统数学公式的计算采用的是谷歌公司的Aviator开源框架,该框架可用于动态的公式计算、规则匹配。相比传统方式中对数学表达式直接解析和计算的纯解释执行,Aviator框架直接将表达式编译成JVM字节码,交由JVM虚拟机执行,这使得Aviator框架更加轻量和高效。
JAVA语言是一门半编译半解释型的语言,也就是说在JAVA语言中,既存在直接编译为计算机能识别的机器语言的热点代码,也存在编译为只有JAVA虚拟机JVM能识别的字节码的非热点代码,而Aviator框架就是利用JAVA虚拟机规则来运行。它将自己的运行规则编译为JVM能理解的 .class文件,同时用户代码也会被编译为.class文件,最终一同交由虚拟机来执行,省去了在JAVA代码层面的调用,这种方式带来的是更加高效和简洁,Aviator框架基本原理如图2。
3.3 系统实现
3.3.1 MVC设计模式
本系统基于J2EE技术实现,其中视图界面基于Spring MVC框架。J2EE是SUN公司面向各大企业环境为中心而开发的一种以应用程序为主题的计算机网络平台[7],而MVC是一种设计模式,即模型(Model)、视图(View)、控制器(Controller),其中模型封装了应用程序所需的数据,视图负责呈现用户请求的页面,控制器则负责处理用户发起的请求。Spring MVC是一种基于java的MVC设计模式的轻量级框架的实现,本系统之所以基于Spring MVC,一是因为它的轻量、高效和强大的约定式编程,二是它提供了完善的文件上传能力。
Spring MVC在收到客户请求后,会首先将请求发给控制器,由控制器进行处理和响应之后得到结果,而控制器会将底层对数据的处理工作交由模型层进行处理,最后这个结果会交给视图解析器进行解析,然后便可把视图展现给用户,Spring MVC整体请求模式如图3。由于系统采用了B/S架构,将系统部署在服务器上之后,用户只需要准备好浏览器,即可在PC端和移动端开始使用。
3.3.2 基于MVC模式的系统实现
当在PC端打开本系统时,用户点击浏览选择提前书写好的公式;在移动端打开时,可选择本地文件,也可以调用相机进行拍照上传。在用户确定选择的公式图片之后,图片会展示给用户。此时可以点击开始识别,后端Controller首先会将用户选择的图片上传至服务器指定位置;待图片上传成功后不能立即进行识别,因为原始图像中还含有各种噪声,而噪声就是对识别目的而言无价值的信息,它们容易对后续识别过程造成不良影响[8],需要先进行去噪处理以及灰度调整,然后再将图片交给手写体识别算法进行识别。得到识别结果之后系统将会进行公式重组与计算,最后就能将结果交给用户了。最终结果展示包括原式图像、经过预处理的图像、公式识别结果和公式计算结果,如果原式带有计算结果那么还会对原结果是否计算正确进行判断,系统基本界面如图4及图5所示。
4 结束语
文字书写作为人们日常生活中无处不在的一部分,随着通信技术、计算机处理能力和存储容量的迅速提高,以及各种数据信息处理技术的出现[9],使得在线手写体识别能够进入实际应用阶段且识别精度高。基于对传统手写体识别算法的优化,本公式识别系统识别准确率高、速度快、精简易用,对教育、教学领域具有一定的研究价值。
参考文献:
[1] 王飞,孙锬锋,蒋兴浩.在线签名认证综述[J].信息安全与通信保密,2015,13(5):107-111,116.
[2] 李彩虹,尹督荣.自动阅卷系统仿真[J].计算机仿真,2020,37(9):157-161.
[3] 言俐光.阅卷系统中手写体字符的提取与识别[D].苏州:苏州大学,2019.
[4] 程进.基本数学公式识别技术的研究[D].沈阳:沈阳工业大学,2005.
[5] 沈荣,黄晨.深度学习在笔迹鉴定中的应用研究[J].電子设计工程,2020,28(21):159-163.
[6] 陈庭轩,陈文敏,王正阳.基于融合优化算法和集成学习的数字识别研究[J].信息通信,2020,33(4):15-17.
[7] 孙媛.讨论JAVA语言的现状及发展[J].科技传播,2010,2(13):197,184.
[8] 户其修.基于OCR开源框架的常用公式识别系统的研究与实现[D].北京:北京邮电大学,2019.
[9] 许泽宁,肖利君,刘志文.基于移动手机的在线签名技术的应用开发[J].信息化研究,2020,46(4):62-66.
【通联编辑:谢媛媛】