1、第 卷第期年月计算技术与自动化C o m p u t i n gT e c h n o l o g ya n dA u t o m a t i o nV o l ,N o J u n 收稿日期:基金项目:教育部科技发展中心高校产学研创新基金项目(C );上海市教育科学研究一般项目(C );上海第二工业大学青年学术骨干培育项目(E G D X Q D )作者简介:蔡宝(),男,江苏南通人,硕士,工程师,研究方向:图像处理与信息识别技术.通信联系人,E m a i l:c a i b a o s s p u e d u c n文章编号:()D O I:/j c n k i j s j s y z
2、d h 手写公式识别和计算研究蔡宝,周英敏,顾鸿良(上海第二工业大学 工程训练与创新教育中心,上海 ;百度上海研发中心,上海 )摘要:针对手写数学公式的识别和计算问题,提出了一种基于卷积神经网络的字符训练方法.利用计算机视觉对数学公式图片进行预处理,采用卷积神经网络进行二维矩阵转换,得到了对应的字符符号,通过后缀表达式计算了识别结果.运用S o f t m a x函数训练了字符模型,统计和分析了几种类型的数学公式识别和计算结果.实验结果证明,通过训练字符能有效提高正确率,该方法可为复杂手写数学公式识别和计算提供参考.关键词:数学公式;识别和计算;图片预处理;卷积神经网络;后缀表达式;模型训练中
3、图分类号:T P 文献标识码:AR e s e a r c ho nH a n d w r i t i n gF o r m u l aR e c o g n i t i o na n dC a l c u l a t i o nC A IB a o,Z HOUY i n g m i n,GU H o n g l i a n g(E n g i n e e r i n gT r a i n i n ga n dI n n o v a t i o nE d u c a t i o nC e n t e r,S h a n g h a iP o l y t e c h n i cU n i v e
4、 r s i t y,S h a n g h a i ,C h i n a;B a i d uS h a n g h a iR&DC e n t e r,S h a n g h a i ,C h i n a)A b s t r a c t:A i m i n ga t t h er e c o g n i t i o na n dc a l c u l a t i o no fh a n d w r i t t e nm a t h e m a t i c a l f o r m u l a s,ac h a r a c t e r t r a i n i n gm e t h o db a
5、s e do nc o n v o l u t i o n a l n e u r a l n e t w o r k i sp r o p o s e d C o m p u t e r v i s i o n i su s e d t op r e p r o c e s sp i c t u r e s o fm a t h e m a t i c a l f o r m u l a s,a n dc o n v o l u t i o n a l n e u r a l n e t w o r k i su s e d t op e r f o r mt w o d i m e n s
6、 i o n a lm a t r i x t r a n s f o r m a t i o n,a n d t h e c o r r e s p o n d i n gc h a r a c t e rs y m b o l sa r eo b t a i n e d,a n dt h er e c o g n i t i o nr e s u l t sa r ec a l c u l a t e db ys u f f i xe x p r e s s i o n s T h ec h a r a c t e rm o d e l i st r a i n e db yS o f t
7、 m a xf u n c t i o n,a n dt h e r e c o g n i t i o na n dc a l c u l a t i o nr e s u l t so f s e v e r a l t y p e so fm a t h e m a t i c a l f o r m u l a sa r e c o u n t e da n da n a l y z e d T h ee x p e r i m e n t a l r e s u l t s s h o wt h a t t h e c o r r e c t r a t e c a nb e e f
8、 f e c t i v e l y i m p r o v e db y t r a i n i n gc h a r a c t e r s,a n d t h em e t h o dc a np r o v i d ear e f e r e n c e f o r t h er e c o g n i t i o na n dc a l c u l a t i o no f c o m p l e xh a n d w r i t t e nm a t h e m a t i c a l f o r m u l a s K e yw o r d s:m a t h e m a t i
9、 c a l f o r m u l a;r e c o g n i t i o na n dc a l c u l a t i o n;p i c t u r ep r e p r o c e s s i n g;c o n v o l u t i o n a ln e u r a ln e t w o r k;p o s t f i xe x p r e s s i o n;m o d e l t r a i n i n g计算机技术的飞速发展加速了信息的全球化,各行业和领域与计算机技术的结合不仅重新定义了生产和生活,也改变了人和人的交流方式.人工智能作为一门新兴的学科,它与其他行业的紧密
10、联系也改变了行业传统的生产方式,为行业带来了自动化,例如计算机视觉领域的人脸识别、自动驾驶、智能语音交互机器人等,这些改变都影响了各个行业和领域.在诸多工程领域中均有繁多数学公式的推导计算工作,为了保障其准确性和高效性,需要占用大量的人力资源对手写数学公式进行收集和整理.相对于普通的手写文字识别,数学书写的形式多样性和结构复杂性导致其识别和计算难度大大提升,因此开发一套准确率较高,并可以用来识别数学手写公式并对其进行计算的工作变得很有意义.数学公式识别是光学字符识别的重要组成部第 卷第期蔡宝,等:手写公式识别和计算研究分,Z h e l e z n i a k o v在其论文中对数学公式识别的
11、概念进行简单阐述.随着电子数学板和计算机技术的发展,手写体公式识别引起了越来越多学者的关注.数学公式识别本质是利用图像识别技术进行的,数学公式识别和计算通常可分为三部分:字符识别、结构分析以及数学计算.数学公式中的字符识别不仅仅包含了符号的识别,同时还包含了符号的分割和分类等.传统的字符分割方法一般包含基于连通域的切割方法和基于坐标轴投影的方法.此外,F a s t R c n n网络结构和基于卷积神经网络回归网络结合的方式也可用于字符分割,以此提升字符切割的准确率.结构分析一般采用句法分析的模式自上而下地分析整个数学公式,可以根据操作码分组建立符号关系树从而进行公式结构的分析.数学计算一般采
12、用Z h a n g提出的后缀表达式算法计算,基于端到端神经网络的手写体数学公式识别系统可将字符识别和结构分析整合到一起,减轻了由于符号分割引起的累计误差,在此基础上给出的树形结构解码器,解决了在识别数学公式时结构泛化性不足的问题.针对手写数学公式的识别和计算问题,开发了一套基于卷积神经网络(C NN)的公式计算和识别系统.数学公式识别和计算流程如图所示,一般基于传统的识别包含字符分割、字符识别以及结构分析和语义建立等阶段,基于深度学习的公式识别采用了端到端的识别方式,计算方式采用后缀表达式的计算方法.图公式识别和计算流程图数学公式书写的多样性体现在同级别运算符前后顺序的改变、表达式简化程度等
13、方面.数学手写的结构性体现在指数函数等计算位置的变化会导致数学公式的含义和结果发生根本性的改变.简单使用字符匹配完全无法解决这些问题,从数学公式的识别和计算着手,构建了一个基于数学公式的自动识别和计算系统,该系统主要贡献如下:()提出了一种基于手写数学公式拍照上传的在线计算算法框架,算法框架以数学公式的计算和识别为核心,通过数学公式图片的在线上传,实现单个或批量手写公式的快速识别与计算.()在MN I S T数据集上对数据进行符号扩充形成新的数据集,它包含了 万个样本,扩充后的数据集可更为准确地对字符进行识别处理.手写公式识别和计算模型本系统的算法流程图如图所示,主要包含图片上传、灰度处理、图
14、片滤波、边界检测、字符分割、C NN分类器识别、文法和结构分析以及利用后缀计算树对公式进行计算等过程.为了保证系统开发的可行性和准确性,本系统所涉及的配置项目与需求如表所示.图算法流程图表系统配置表配置项目配置需求G P UNV I D I A T i G BC P UI n t e l i KC P U GH ZP y t h o n M y S Q L T e n s o r F l o w O p e n C V 图片预处理对公式图片的灰度化、高斯滤波、轮廓检测以及字符识别和提取字符骨架的处理过程如图所示,本系统主要利用O p e n C V和P y t h o n对图像进行处理.图图像
15、处理过程()图像灰度化:灰度化处理就是将色彩图像计算技术与自动化 年月转化为灰度图像的过程,图像灰度化的算法主要有种:最大值法、平均值法和加权平均值法.本系统采用了加权平均值法,它能够得到更易识别的灰度图像.()图像高斯滤波:高斯滤波是对图像进行特征提取的关键步骤,主要包括图像的边缘、角点、纹理等,在O p e n C V中采用了一个矩阵高斯核进行加权运算,离散高斯核矩阵计算公式如式()所示:Hi,j e(ik)(jk)()式中:为 方 差;k为 核 矩 阵 的 维 数.在O p e n C V中使用c v S m o o t h函数实现滤波,该函数原型为:v o i dc v S m o o
16、 t h(c o n s t C v A r r s r c,C v A r rd s t,i n t s m o o t h t y p e C V_GAU S S I AN,i n tp a r a m,i n tp a r a m,d o u b l ep a r a m,d o u b l ep a r a m);p a r a m 和p a r a m 代表滤波窗口的宽度和高度,p a r a m 代表式()中的值,p a r a m 代表非对称高斯核.()轮廓检测:轮廓检测首先需要计算拐角点,在O p e n C V中使用多边形拟合函数a p p r o x P o l y D P
17、(c o n t o u r si,c o n p o l yi,p e r i,t r u e),然后判断图形的点数,再通过p u t t e x t函数显示图形的形状,最后使用r e c t a n g l e()进行矩形绘画即可.()字符切割:字符切割采用水平投影法,在O p e n C V中用数组统计图像每行黑色像素点的个数,选用最优的阀值记录Y轴的坐标,优化Y轴的切割点,设置感应区域后得到切割图片.()提取字符骨架:骨架提取也称为二值图像细化,在p y t h o n数字图像处理的m o r p h o l o g y子模块中,S k e l e t o n i z e()函数和m
18、e d i a l_a x i s()函数都可用于骨架提取.卷积神经网络分类采用C NN通常可以解决图像处理的两个核心问题:其一是图像处理的数据量太大,其二是图像在数字化的过程中很难保证原有的特征,导致图像处理准确率不高.C NN网络能很好地将复杂的问题简单化,将大量参数进行降维,使其成为少量的参数后再做处理.C NN网络利用了类似视觉的方式保留了图像的特征,有效地识别出类似的图像.C NN网络包含三大主要结构:卷积层、池化层、全连接层.卷积层主要作用是提取特征,池化层主要作用是数据降维,避免过拟合,全连接层主要作用是将学习到的特征表示映射到样本的标记空间.C NN卷积神经网络分类器如图所示.
19、图C NN卷积神经网络分类器本节对数学公式图片的卷积分类过程如下:预处理完后的公式图片转换为 的二维矩阵,利用的卷积核对 的二维矩阵进行卷积形成 的二维矩阵,随后用的矩阵最大池化形成 二维矩阵,经过两轮卷积之后图片转换为特征二维矩阵,经过全连接层之后转换为 的特征向量,再经过线性分类器从而得到字符的符号.结构分析结构分析的作用是对识别的结果进行处理,最终形成一棵结构树,本文采用的是分析结构线的方法,结构分析过程如图所示.图结构分析 公式计算在将数学符号进行分类后,采用后缀表示法进行求解,这种后缀表达式又称为逆波兰表达式,通常计算机计算中缀表达式需要考虑优先级、括号等,而计算后缀表达式只需要一个
20、栈即可,后缀表达式运算过程为:从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算,并将结果入栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果.第 卷第期蔡宝,等:手写公式识别和计算研究手写公式的识别和计算过程本系统整体架构如图所示,整个系统的体系结构图可以抽象成四部分,分别为对外接入层、业务接入层、核心算法层和数据库.其中对外接入层是直接面向用户开放,可以批量计算或者单个计算用户输入公式.业务接入层主要是设计图片处理和公式计算相关接口.核心算法层主要包含数学公式识别模型和数据公式计算模型.数据库主要用来存储数据结果和大量
21、的数据图片.图系统架构图 手写公式识别与计算通过随机采集 个数学公式样本,对采集的样本进行拍照上传,通过该系统进行识别与计算.本节仅以混合运算、指数运算和函数运算的识别和计算过程为例,具体过程如图图所示,主要包括运算公式、字符提取和识别计算.()混合运算图混合运算()指数运算图指数运算()函数运算图函数运算 交叉熵损失函数求导为了提高公式中字符识别的准确率,需要对字符模型进行训练,首先定义损失(l o s s)函数,对S o f t m a x(柔性最大值)交叉熵损失函数进行求导,然后在T e n s o r F l o w中运用S o f t m a x交叉熵损失函数计算l o s s值.在
22、神经网络中,S o f t m a x函数作为分类任务的输出层,可以认为S o f t m a x输出的是几个类别选择的概率,神经网络的反向传播中关键的步骤就是求导.S o f t m a x函数公式如式()所示,ai代表的是第i个神经元的输出,网络神经元zi的输出如式()所示,其中,wi j表示第i个神经元的第j个权重;b表示偏移值.aiezikezk()zijwi jxi jb()在神经网络反向传播中,需要求解一个损失函数,损失函数表示的是真实值与网络估计值的误差,知道误差后才能修改网络中的权重.损失函数有很多形式,本文使用的是交叉熵函数,交叉熵的函数公式如式()所示:Ciyjl nai(
23、)首先求出损失函数l o s s对于神经元输出(zi)的梯度,如式()所示:CzijCjajajzj()然后分别对Caj和ajzj进行推导,推导过程如式()和式()所示:Caj(yjl naj)ajyjaj()ajzjezjkezkziezjkezkez i aiaj()将式()式()的运算过程合并,得到S o f t m a x交叉熵损失函数求导结果为:CzijCjaiajziijCjaiajziijCjaiajziijyjaj(aiaj)yjaj(ai(aj)ijajyj(yj(ai)ijajyjaiyiyiaijyjyiaiyi计算技术与自动化 年月 基于T e n s o r F l
24、o w的模型测试在T e n s o r F l o w中实现程序如下:d e f g e t_s o f t m a x_l o s s(f e a t u r e s,o n e_h o t_l a b e l s):p r o bt f n n s o f t m a x(f e a t u r e s e)c r o s s_e n t r o p y t f m u l t i p l y(o n e_h o t_l a b e l s,t f l o g(t f c l i p_b y_v a l u e(p r o b,e,)t f c l i p_b y_v a l u e(A
25、,m i n,m a x):输入一个张量A,把A中的每一个元素的值都压缩在m i n和m a x之 间.小 于m i n的 使 其 等 于m i n,大 于m a x的使其等于m a x.l o s s t f r e d u c e_m e a n(c r o s s_e n t r o p y)r e t u r nl o s s通过训练后字符识别正确率和l o s s值如表.表字符识别结果统计表字符类型xl o gs i nl i m()正确率 l o s s值 再对 个不同样本类型的手写公式进行测试,按照公式类型进行分类,统计出每种公式类型的识别正确率,结果统计如表所示.表测试结果统计
26、表序号类型样本总个数正确样本个数正确率算术 分式 根式 指数 函数 定积分 方程式 求极限 求导数 混合运算 合计 根据表的统计结果,对 种不同类型的数学计算公式计算正确率进行了统计,对于结构形式比较简单的算数运算、根式运算以及指数运算等,正确率均高于,对于结构复杂但形式单一的函数运算、方程运算、导数运算、混合运算,正确率约为 ,对于结构复杂且形式也复杂的分式运算和极限运算,正确率较低,约为 ,主要原因是由于书写问题导致的识别失败和计算错误.结论提出了一种可行的在线计算系统算法框架.该框架具有一定创新性,使用卷积神经网络模型识别字符,精度较高且适应性较强,对于数学计算拓展了属性文法,使其适用于
27、常规数学计算题的自动求值.随着人工智能的不断发展,在线数学公式识别和计算扮演着越来越重要的角色,本文主要研究了在线手写体公式识别和计算,对公式识别多样性和结构性进行了相关研究和实验,采用了端到端的解码器和译码器进行公式识别算法,同时利用基于后缀表达树对结构化的公式进行求解,后续针对错误率较高的复杂运算情况进行进一步调优,从而进一步提升系统的鲁棒性和泛化性.参考文献Z HE L E Z N I AKOVD,Z AY T S E V V,R A D YV ON E NK OOO n l i n eh a n d w r i t t e nm a t h e m a t i c a le x p r
28、 e s s i o nr e c o g n i t i o na n da p p l i c a t i o n s:as u r v e yJ I E E E A c c e s s,:牛小明,毕可骏,唐军图文识别技术综述J中国体视学与图像分析,():张桢铖,周迪斌,朱江萍基于机器视觉的轴承压印字符识别J计算机系统应用,():刘婷婷,程涛,金冈增,等基于支持向量机的数学公式识别J华东师范大学学报(自然科学版),():余以春,闫红梅临时停车场自动收费系统J计算机系统应用,():蒲秀夫,宁芊,雷印杰,等基于二值化卷积神经网络的农业病虫害识别J中国农机化学报,():杨明雄基于F a s t
29、e r R c n n的离线数学公式识别切割技术的研究与实现D成都:电子科技大学,L I NG,Z HAN GY,XUG,e t a l S m o k ed e t e c t i o no nv i d e o s e q u e n c e su s i n g DJ C o n v o l u t i o n a lN e u r a lN e t w o r k s F i r eT e c h n o l o g y,():J I NF,YU ED A ne q u i v a l e n t i n d e n t a t i o nm e t h o d f o r t h e
30、 e x t e r n a l c r a c kw i t had u g d a l e c o h e s i v e z o n eJ J o u r n a l o fE l a s t i c i t y,():Z HAN GJ,D UJ,Z HAN GS,e ta l W a t c h,a t t e n da n dp a r s e:a ne n d t o e n dn e u r a l n e t w o r kb a s e da p p r o a c ht oh a n d w r i t t e nm a t h e m a t i c a le x p r e s s i o nr e c o g n i t i o nJ P a t t e r n R e c o g n i t i o n,:赵睿卓,高金华,孙晓茜,等基于树形语义框架的神经语义解析方法J中文信息学报,():马世拓,班一杰,戴陈至力卷积神经网络综述J现代信息科技,():高宇鹏,胡众义基于K e r a s手写数字识别模型的改进J计算技术与自动化,():
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100