CN106407874A - 基于笔迹坐标序列的手写识别方法 - Google Patents
基于笔迹坐标序列的手写识别方法 Download PDFInfo
- Publication number
- CN106407874A CN106407874A CN201610180051.6A CN201610180051A CN106407874A CN 106407874 A CN106407874 A CN 106407874A CN 201610180051 A CN201610180051 A CN 201610180051A CN 106407874 A CN106407874 A CN 106407874A
- Authority
- CN
- China
- Prior art keywords
- handwriting
- person
- coordinate
- character
- coordinate sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开一种基于笔迹坐标序列的文字识别方法。本发明先采集大量手写笔迹序列的数据,获得具有普适性的识别模型,之后,在实际使用中通过递归神经网络对用户的手写笔迹坐标序列进行训练,形成适应用户手写习惯的识别模型。由于记录了用户书写笔迹的时间特征,训练后可以形成适应用户手写习惯的识别模型,因而识别精度更高。本发明可以通过改变手写输入设备的采样频率,改变笔迹坐标序列的数据量,针对不同用户的手写速度调整训练模型计算速度,而且可以在手写过程中进行识别,识别效率更高。
Description
技术领域
本发明涉及手写识别领域,尤其涉及一种针对手写输入笔迹的时间序列的手写识别方法。
背景技术
手写识别(Hand Writing Recognition)是指在手写设备上对手写的有序轨迹进行识别,转化为有效的文字信息的过程。随着移动设备,智能设备的普及,手写输入作为人机交互最有效的手段之一,正被越来越大规模的使用。
目前,手写输入识别算法类似于手势识别算法。它针对手写设备的输入进行采样,将手写轨迹转换为有序向量集合,然后过滤噪声,对有序向量集合进行分类。对于英文等字母,由于单个字符较为简单,识别率较高。而对于汉字等笔迹较为复杂的字符,通过向量集合进行分类的错误率仍然较高。另外,K聚类分析,贝叶斯分类,卷积神经网络等识别算法也在手写识别领域大规模运用,它们都通过提取手写文字的结构特征信息进行文字识别。
然而现有的通过结构特征信息进行文字识别的算法,会忽略手写过程中笔迹坐标序列的时间特性,而缺失的时间特性中实际包含有大量的手写识别特征。
本发明针对手写过程中的笔迹坐标的时间序列进行分析,提取出用户手写笔迹的时间信息,识别结果贴合用户手写速度习惯,提高识别率。本发明采用的方法可以在手写过程中进行识别,记录用户笔迹书写时间上的特征,具有反馈学习能力,经过大量训练后可以形成专属于个人手写习惯的识别模型。在实际运用中可以先行采集大量手写笔迹序列的数据,使得识别更具普适性,识别率更高。
发明内容
发明目的:本发明的目的在于针对现有技术无法充分利用手写过程中的时间特征,无法在手写过程中进行文字识别的不足,提供一种对手写输入笔迹坐标的时间序列进行识别的方法。
技术方案:本发明提供了一种对手写输入的笔迹坐标序列进行识别的方法。本方法先对手写输入设备进行初始化,然后通过产品生产过程中的监督训练阶段完对手写笔迹的监督训练,最后在实际使用阶段完成对用户手写笔迹的识别。
第1步,初始化。根据待识别文字范围选择相应的文字编码方式,根据手写输入设备的分辨率设置笔迹坐标范围,并设定手写输入设备输入区域的左下角为原点,手写输入设备输入坐标的区域为从原点向右延伸X个像素、从原点向上延伸Y个像素的矩形区域,同时设定手写输入设备的采样频率;
文字编码方式:在使用本方法的设备设计之初就需要根据实际产品需要识别的文字类型决定文字编码方式。例如,针对英文识别的产品,在设计的时候就已经定下来采用ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)编码,对于汉字可以采用GB2312编码形式,也可以根据实际需要自定义编码方式。编码采用二进制格式,对在需要识别范围内所有文字进行编码,每个文字拥有一个唯一与之对应的编码。后面,由递归神经网络对归一化的笔迹坐标序列进行训练,得到识别后的文字编码结果。
采样时,手写输入设备按照设置的采样频率采集手写设备接触位置的坐标,将所采集到的坐标按照时间顺序排列为笔迹坐标的原始时间序列。
第2步,监督训练过程。监督训练过程中,产品设计人员预先给出真实的输入字符,再手写输入对应的笔迹,通过比较手写输入设备计算出的手写输入的文字编码值和实际输入文字的编码之间的编码间误差来调整计算参数,在对大量的字符进行监督训练后,得到识别模型。
监督训练过程按照步骤201-205依次进行;
步骤201,选定待训练字符,然后通过手写输入设备进行输入,并对输入的笔迹按照采样频率进行采样,采样后得到待训练字符的笔迹坐标序列;
步骤202,对笔迹坐标序列进行归一化处理,归一化处理后将归一化的笔迹坐标序列输入至递归神经网络进行训练;
步骤203,递归神经网络根据笔迹坐标序列的顺序对其中的坐标进行递归计算,并将计算结果与待训练字符的编码值比较,根据损失函数计算出编码间误差;
步骤204,将编码间误差反馈回递归神经网络中,通过梯度下降函数调节下一个坐标进行递归计算时的计算参数,并根据步骤203继续对下一个坐标进行递归计算,直至笔迹坐标序列中的最后一个坐标完成递归计算,即通过训练到对应的待训练字符的编码值,本次训练结束;
步骤205,依次重复步骤201至步骤204,直至完成所选文字编码方式中字符的监督训练。考虑到中文文字库很大,而常用字仅几千个,一般,仅完成常用汉字的训练即可满足日常文字识别的需要。
第3步,实际使用阶段。实际使用阶段中,不会预先知道真实的输入字符,而是由用户判断识别结果是否正确。若识别错误,则先保存本次识别错误的笔迹,再通知使用者重新输入待识别字符,重新进行文字识别;若识别结果正确,则查询之前是否存储了识别错误的笔迹,若存储了识别错误的笔迹则通过比较手写输入设备计算出的手写输入的文字编码值和正确的识别结果所对应的文字的编码值之间的编码间误差来调整计算参数,重新进行训练;若没有存储识别错误的笔迹则进清空之前存储的笔迹坐标序列,输出本次识别结果。在用户的使用过程中,根据识别错误的笔迹更新识别模型。因为,识别错误的笔迹更符合用户手写习惯而本次没识别成功,在获得正确识别结果后如果用识别错误的笔迹调整识别模型,就可以使识别模型更加符合用户的手写习惯,从而提高识别的准确性。
实际使用阶段具体按照如下步骤进行文字识别:
步骤301,对手写输入设备输入的待识别字符的笔迹按照采样频率进行采样,采样后得到待训练字符的笔迹坐标序列;
考虑到手写输入时笔迹的停顿,优选在对手写输入设备输入的待识别字符的笔迹进行采样时设置采样阈值。若超过采样阈值而没有检测到笔迹输入则认为本次输入结束,停止对笔迹坐标进行采样。
步骤302,对笔迹坐标序列进行归一化处理,归一化处理后将归一化的笔迹坐标序列输入至递归神经网络进行训练;
步骤303,递归神经网络根据对笔迹坐标序列的顺序对其中的每一个坐标进行递归计算,直至完成笔迹坐标序列中的最后一个坐标的递归计算,最后一个坐标进行递归计算的结果即本次识别得到的待识别字符的字符编码;
步骤304,显示本次识别得到的字符编码所对应的字符,对比本次识别得到的字符编码所对应的字符与实际输入的待识别字符,若不同,则表示本次识别结果错误,先保存本次识别错误的笔迹坐标序列,再重新输入待识别字符,回到步骤301重新进行文字识别;若相同,则查询之前是否存储了识别错误的笔迹坐标序列,若存储了识别错误的笔迹坐标序列,则依次进行步骤305至步骤306的计算,若没有存储识别错误的笔迹坐标序列,则进入步骤307;
步骤305,递归神经网络根据存储的识别错误的笔迹坐标序列的顺序对其中的坐标进行递归计算,并将计算结果与步骤304中正确的识别结果比较,根据损失函数计算出编码间误差;
步骤306,将编码间误差反馈回递归神经网络中,通过梯度下降函数调节下一个坐标进行递归计算时的计算参数,并根据步骤305继续对下一个坐标进行递归计算,直至存储的笔迹坐标序列中的最后一个坐标完成递归计算,即得到待识别字符的编码值,本次计算结束;
计算笔迹坐标序列中每个坐标,并计算每次输出的编码间误差,然后根据编码间误差调整计算参数,再计算下一个坐标。在这个序列中所有坐标运算完成之后仍可能存在误差,但是由于每次调整参数后这个误差就会越来越小。训练样本足够,这个误差就会逐渐小甚至消失。大量数据进行梯度下降计算就可以将误差减小到最低,逼近实际的编码值。
步骤307,清空之前存储的笔迹坐标序列,输出本次识别结果。
本发明中通过递归神经网络对笔迹坐标序列进行计算。递归神经网络是一种常用的用来进行文字识别的计算方法。本发明优选使用LSTM模型,即Long-Short Term Memory,长短期记忆神经网络对笔迹坐标序列进行计算。这是一种采用特殊隐式单元的递归神经网络模型。
LSTM模型分为三层,即输入层,隐藏层和输出层;其中输入层接收笔迹坐标序列中的坐标,隐藏层计算从输入层传递给隐藏层的数据,保存计算结果并将计算结果传递给输出层,输出层每次输出对应的笔迹坐标序列中一个坐标的计算结果。
LSTM模型是递归神经网络模型中的一种,在LSTM模型中,本次隐藏层的计算结果会传递到下一次隐藏层的计算中去,即隐藏层本次计算结果依赖于输入层本次传递的数据和隐藏层前几次计算的结果。而普通的递归神经网络中,隐藏层的计算结果受时间影响严重,即时间越久远的计算结果对当前的计算影响越小。LSTM模型引入cell机制,可以长期的存储隐藏层的计算结果,因此降低了之前的计算结果影响力下降的问题。
设输入层输入变量为it,隐藏层的输入门参数为Wi和bi。输入门用于确定保留于记忆细胞单元状态中的信息。需要隐藏层上一步计算结果ht-1和当前输入it决定。输入门按照如下公式进行计算:
C‘t为更新记忆细胞单元状态的中间变量,更新记忆细胞单元状态的运算公式为:
Ct=ft·Ct-1+It·C‘t
隐藏层的记忆细胞单元参数为WC和bc,隐藏层的遗忘门参数为Wf和bf。
遗忘门用于确定记忆细胞单元状态丢弃信息量。需要隐藏层上一步计算结果ht-1和当前输入it决定。遗忘门按照如下公式进行计算:
隐藏层的输出门参数为Wo和bo。输出门用于确定隐藏层的输出值。需要根据已经更新的记忆细胞单元状态值按照如下公式进行计算:
ht=ot·Tanh(Ct)
计算后将隐藏层计算结果ht传递给输出层;
输出层的参数为Wh和bh,本次隐藏层计算结果ht和记忆细胞单元状态Ct传递给下一次计算,输出层输出结果为Ht,Ht=f(Wh·ht+bh);f函数为映射函数,即将隐藏层参数与参数乘积映射至字符编码。由于所选择的字符编码方式不同,映射函数也各不同。
其中下标t表示当前输出,t-1表示前一次输出,it,Wf,Wi,Wo,,bi,bo,Ct,WC均为向量形式。
在监督训练过程中的步骤203和实际使用阶段中的步骤305中所述的通过损失函数计算编码间误差的具体计算过程如下:将计算结果的编码值对应至十进制数值Ht,将步骤203中待训练字符的编码值或者步骤305中正确的识别结果的编码值对应至十进制数值则编码间误差θt可以通过损失函数计算,计算公式为
从而,在监督训练过程步骤203随后对应的步骤204和实际使用阶段步骤305随后对应的步骤306中,所述的将上面计算出的编码间误差反馈回递归神经网络,再通过梯度下降函数调节下一个坐标进行递归计算时的计算参数,使递归神经网络通过训练器输出的文字编码值逼近真实输入文字的编码值。具体调整方式如下:
输出层参数调整为:
其中,Wh′,bh′为更新后的输出层参数,Wh,bh为当前输出层参数;
隐藏层的输出门参数调整为
其中,Wo′,bo′为更新后的隐藏层的输出门参数,Wo,bo为当前隐藏层的输出门参数;
隐藏层的输入门参数调整为
其中,Wi′,bi′为更新后的隐藏层的输入门参数,Wi,bi为当前输入层的输入门参数;
隐藏层的记忆细胞单元参数调整为
其中,Wc′,bc′为更新后的隐藏层的记忆细胞单元参数,Wc,bc为当前输出层的记忆细胞单元参数;
隐藏层的遗忘门参数调整为
其中,Wf′,bf′为更新后的隐藏层的遗忘门参数,Wf,bf为当前隐藏层的遗忘门参数;
以上参数都是对编码间误差θt求偏导获得的,其中α为梯度下降速度。α越大梯度下降越快。根据实际调整α,如果训练的数据量很大,应使α尽可能的小以避免过拟合现象。
监督训练过程中步骤202中以及实际使用阶段中步骤302中对笔迹坐标序列进行归一化处理的具体步骤如下:
设手写输入设备的左下角的顶点为原点,手写输入设备的输入坐标范围为从原点向右延伸X个像素,从原点向上延伸Y个像素的矩形区域。即手写输入设备的输入坐标范围为对角线从原点延伸到到(X,Y)这一点的矩形区域。
假定笔迹坐标的原始时间序列中的一个坐标点为(Xt,Yt),将坐标点(Xt,Yt)归一化处理替换为(Xt’,Yt’),替换值计算公式为
将笔迹坐标的原始时间序列中的每一个坐标点都进行上述的归一化处理,即得到归一化的笔迹坐标序列。
神经网络中,通常采用非线性激活函数用于计算信息的流通传递能力,这些非线性激活函数要求计算结果在[0,1]区间内,0代表完全没有信息流通,1代表信息完全流通。LSTM模型通常采用sigmoid函数作为激活函数。我们假定使用Sig(m)代表对括号内表达式m做sigmoid函数计算。sigmoid函数的表达式为:
符号m仅代表表达式,实际使用中被替换真实表达式替换。
在递归神经网络中重复神经网络模块通常采用tanh函数计算,简单的递归神经网络直接使用tanh函数作为隐藏层,tanh函数计算结果区间为[-1,+1]。我们假定使用Tanh(m)代表对括号内表达式m做tanh函数计算。tanh函数表达式为:
符号m仅代表表达式,实际使用中被替换真实表达式替换。
LSTM模型每次递归过程计算笔迹序列中一个坐标,笔迹序列中存在多少个坐标就递归多少次。对于一次递归过程,如图3)输入向量it与坐标的对应关系为:
笔迹坐标序列中的每一个坐标计算后都会对应一个输出结果。最终识别结果则是所有笔迹时间序列中每个坐标的识别结果的累积。因此需要对序列中的每一个坐标都进行计算,通过记忆细胞单元状态保存之前计算的累积值,直至序列中最后一个坐标计算完毕,则这个结果就包含了前面所有坐标计算的累计量和自身的坐标计算量。最后一个坐标的计算结果就是序列的输出结果,即模型的识别结果。
有益效果
本发明在实际运用之前先行采集大量手写笔迹序列的数据进行训练,使得识别更具普适性,识别率更高。而同时,由于监督训练训练出的模型参数实际上是根据训练人员的笔迹训练的。用户使用时可能由于手写习惯的不同,导致部分笔迹识别不了。因而,用户使用阶段针中,本方法会对用户的手写习惯提取特征,尤其考虑笔迹中的书写速度与笔迹停顿的特征,借助递归神经网络的反馈学习能力,将计算得到的文字编码值和实际输入文字的编码的差值进行比较,并以编码间误差的形式返回至递归神经网络训练模型中,根据编码间误差调整模型各层的参数值,进行递归运算,经过大量训练后可以形成适用于使用者个人手写习惯的识别模型,不会忽略笔迹书写中的停顿、书写速度等时间信息。一旦模型符合用户的特点,那么对于用户而言,识别精度就高了。
同时,相对于一般的笔迹向量识别方法,一般的笔迹向量识别方法通常将笔迹坐标统一成向量形式,实际输入为向量的集合。统一过程中需要过滤无效的坐标点,将笔迹中转折较大的坐标点保留,然后保留的坐标两两形成向量。过滤时可能丢弃有效的坐标,一些转折不明显或者手写不明显的笔画被过滤丢弃。同时,有的向量方法只使用了时间信息中手写笔迹顺序的信息,而忽略了书写时速度,停顿等时间信息。一般的笔迹向量识别方法无法形成适应使用者书写习惯的书写模型,因而识别精度无法达到本发明的标准。而本发明实施例处理的输入为笔迹坐标的时间序列,与现有的针对笔迹向量的识别方法相比,不仅对输入坐标的位置结构有很高的识别率,而且对于输入过程的时间信息有很好的记录能力,对信息的保留能力更高,因而识别率也更高。用户长期使用本实施例,实际使用阶段中,LSTM模型的记录细胞单元会保留识别错误的用户手写笔迹的时间特征和位置特征,将前几次未成功识别的序列重新输入LSTM模型,采用梯度下降方法,调整模型参数。使用时间越长这些特征就提取得越充分,识别时匹配输入信息和记录的特征信息,可以针对用户的手写习惯与手写速度调整到更高的准确度。
本发明可以通过改变手写输入设备的采样频率,改变笔迹坐标序列的数据量,以根据不同手写速度来调整训练模型计算速度。
本发明所采用的方法在手写过程中即可记录用户书写笔迹在时间上的特征,如笔迹中的停顿等。由于递归神经网络计算时针对的是一个一个的坐标点,因而在在手写过程中就可以进行相应计算,在手写过程中进行识别。因而识别效率更高。
而且本发明通过选择性地改变LSTM模型中各层的参数数目,调整模型参数结构,在计算量和计算时间中取得平衡。具体而言,本方法中,隐藏层存在多个门,每个门都有参数。如果要求结果精确可以对每个参数都调整;如果追求速度,那么可以固定部分参数不调整。从而获得很高的灵活性。
附图说明
图1为本发明实施例一的系统结构框图;
图2为本发明的手写笔迹坐标采样序列图;
图3为本发明的LSTM模型训练原理示意图;
图4为本发明的LSTM模型各层结构示意图;
图5为本发明实例一的手写字符‘A’笔迹采样示意图;
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例1:
如图1所示,本实施例的系统结构框图分为手写输入采集,输入数据坐标处理和训练器三个部分。
具体给出系统的工作步骤如下:
步骤1)考虑需要处理的文字范围,选择相应的文字编码方式。可以选择使用已有广泛使用的通用字符集,也可以针对所需识别的文字编写特定的编码集。编码集预置于系统中,系统输出将从编码集中选取。不同的编码方式会影响LSTM模型输出层的映射函数,映射函数需要将隐藏层输出结果映射为文字编码,越复杂的文字编码方式映射函数越复杂。本实例识别的是英文字符,因而采用ASCII编码方式,映射函数直接原样映射,隐藏层输出结果与输出层结果一致。
步骤2)根据手写输入设备的分辨率获得手写触点的坐标范围。本实施例中手写设备的分辨率为640*480像素,输入坐标范围就是640*480。规定输入设备左下角的顶点为原点,手写输入设备的输入坐标范围为从原点向右延伸640像素,从原点向上延伸480像素的矩形区域。即手写输入设备的输入坐标范围为对角线从原点延伸到到(640,480)这一点的矩形区域。这个矩形区域即可确定触点坐标。
步骤3)设定手写输入设备的采样频率。采样频率和手写输入的速度,处理数据能力,采样数据能力有关。应该尽可能选择较高的采样频率以提高识别精度。然而,对于处理能力不高(如CPU计算量过小)的设备,采样频率过高,所采集的笔迹坐标序列中的坐标点也就越多,因而需要更长时间处理数据,识别的延时过长。这种情况下,应适当降低采样频率。而性能较差的手写输入设备,设备本身的采样的能力不够,采样极限频率过低,而实际采样频率不能超过设备本身的极限频率,因而会对手写笔迹的识别带来不利影响。
若书写者手写速度很快则应采用高采样频率。否则采样点过少,不易计算出文字编码值。书写者手写速度很慢则应采用低采样频率,否则采样点过多。实际产品可以根据产品面向的人群,在普通人手写速度上,针对写字较慢的老人或者特殊人群做调整。本实施例选择100Hz的采样频率。
说明书中的监督训练过程发生在手写输入设备的生产过程中。由于监督训练过程中根据编码间误差调整递归计算中参数的过程与实际使用过程中的类似,此处,仅以监督训练阶段为例进行说明。
步骤4)输入者在手写输入设备上书写,如图2所示,手写输入设备根据步骤3)预先设置的采样频率,对接触点的轨迹进行采样,得到采样点的位置坐标。连续采样得到的一系列笔迹坐标组合成笔迹坐标的原始时间序列。当设备在一定阈值时间仍然采集不到触点,则认为本次手写已经结束,之前的触点坐标序列即为训练和识别的笔迹序列。阈值时间应该避免过长或者过短,防止用户等待时间过长或者用户在书写中有长时间手写停顿的习惯。这里选择1秒作为阈值时间。
步骤5)将笔迹坐标的原始序列输入至笔迹处理设备,根据步骤2)中获得的输入设备接触点的坐标范围(X,Y),把笔迹坐标的原始序列中的每一个坐标归一化为一对小数值(Xt’,Yt’)。对于小数精度不高的系统,可以乘以相应的数值,将归一化的坐标序列变为相对坐标序列。如图5所示,输入字符为A,采样归一化后得到归一化的坐标序列。
步骤6)将步骤5)处理得到的归一化的对坐标序列输入LSTM训练器中,LSTM训练器输出识别后的文字编码。这里使用的训练器为LSTM(Long-Short Term Memory)模型。应说明的是,训练器使用的模型包括但不限于LSTM模型,递归神经网络均可以用于本方法对于手写过程识别,只是LSTM识别性能更好。本实例中LSTM训练器采用python深度学习theano库编写。
步骤7)将文字编码值反馈回LSTM训练器。在监督训练中输入者确定实际输入文字,比较实际输入文字的编码值与LSTM训练器输出的识别后的文字编码值,计算出编码间误差,将编码间误差反馈到LSTM训练器中,训练器通过梯度下降函数调整LSTM训练器内部参数。本实施例经过多次训练后,识别模型内部计算得到一个数值,如图5所示的字符识别输出为65(十进制),65的二进制值在ASCII码中对应即为A。
本发明实施例的训练模型为LSTM模型。LSTM模型相比其他递归神经网络模型,引入了记忆细胞单元,解决了其他模型中后节点对前节点感知力下降的问题。其他模型中,从输入的数据上来看,对本次结果影响最大的是本次输入,接着是上次输入,再次是上上次输入。影响程度随着距离愈远而愈来愈小,最初的输入几乎对本次结果无影响。而LSTM模型中,在序列中坐标过多时,前面坐标的计算结果反馈至后面与后面坐标一并计算时,前面坐标计算结果的影响不会衰减。因而本发明所述的识别方法不至于忽略最初计算的笔迹坐标,而是考虑了本次输入的笔迹坐标序列中的每一个坐标值,因而具有很高的识别精度。
而且本发明通过选择性地改变LSTM模型中各层的参数数目,调整模型参数结构,在计算量和计算时间中取得平衡。具体而言,本方法中,隐藏层存在多个门,每个门都有参数。如果要求结果精确可以对每个参数都调整;如果追求速度,那么可以固定部分参数不调整。从而获得很高的灵活性。
一般的笔迹向量识别方法是将笔迹坐标统一成向量形式,实际输入为向量的集合。统一过程中需要过滤无效的坐标点,将笔迹中转折较大的坐标点保留,然后保留的坐标两两形成向量。过滤时可能丢弃有效的坐标,一些转折不明显或者手写不明显的笔画被过滤丢弃。同时,有的向量方法只使用了时间信息中手写笔迹顺序的信息,而忽略了书写时速度,停顿等时间信息。而本发明所记录的这些时间信息可以针对用户的手写习惯提取特征,提高识别率,而且使得识别模型更贴合于个人的书写习惯。本发明实施例处理的输入为笔迹坐标的时间序列,与现有的针对笔迹向量的识别方法相比,不仅对输入坐标的位置结构有很高的识别率,而且对于输入过程的时间信息有很好的记录能力,对信息的保留能力更高,因而识别率也更高。监督训练训练出的模型参数实际上是根据训练人员的笔迹训练的。用户使用时可能由于手写方式,部分笔迹识别不了。在实际使用阶段中,LSTM模型的记录细胞单元会保留识别错误的用户手写笔迹的时间特征和位置特征,将前几次未成功识别的序列重新输入LSTM模型,采用梯度下降方法,调整模型参数。这种训练使模型符合用户的笔迹特点。一旦模型符合用户的特点,那么对于用户而言,识别精度就高了。使用时间越长,用户书写的特征就提取得越充分,识别时匹配输入信息和记录的特征信息,可以针对用户的手写习惯与手写速度调整到更高的准确度。
Claims (5)
1.一种基于笔迹坐标序列的文字识别方法,其特征在于,按照如下步骤进行识别:
第1步,初始化,根据待识别文字范围选择相应的文字编码方式,根据手写输入设备的分辨率设置笔迹坐标范围,同时设定手写输入设备的采样频率;
第2步,监督训练过程,监督训练过程按照步骤201-205依次进行;
步骤201,选定待训练字符,然后通过手写输入设备进行输入,并对输入的笔迹按照采样频率进行采样,采样后得到待训练字符的笔迹坐标序列;
步骤202,对笔迹坐标序列进行归一化处理,归一化处理后将归一化的笔迹坐标序列输入至递归神经网络进行训练;
步骤203,递归神经网络根据笔迹坐标序列的顺序对其中的坐标进行递归计算,并将计算结果与待训练字符的编码值比较,根据损失函数计算出编码间误差;
步骤204,将编码间误差反馈回递归神经网络中,通过梯度下降函数调节下一个坐标进行递归计算时的计算参数,并根据步骤203继续对下一个坐标进行递归计算,直至笔迹坐标序列中的最后一个坐标完成递归计算,得到对应的待训练字符的编码值,本次训练结束;
步骤205,依次重复步骤201至步骤204,直至完成所选文字编码方式中字符的监督训练;
第3步,实际使用阶段按照步骤301至步骤307进行文字识别:
步骤301,对手写输入设备输入的待识别字符的笔迹按照采样频率进行采样,采样后得到待训练字符的笔迹坐标序列;
步骤302,对笔迹坐标序列进行归一化处理,归一化处理后将归一化的笔迹坐标序列输入至递归神经网络进行训练;
步骤303,递归神经网络根据对笔迹坐标序列的顺序对其中的每一个坐标进行递归计算,直至完成笔迹坐标序列中的最后一个坐标的递归计算,最后一个坐标进行递归计算的结果即本次识别得到的待识别字符的字符编码;
步骤304,显示本次识别得到的字符编码所对应的字符,对比本次识别得到的字符编码所对应的字符与实际输入的待识别字符,若不同,则表示本次识别结果错误,先保存本次识别错误的笔迹坐标序列,再重新输入待识别字符,回到步骤301重新进行文字识别;若相同,则查询之前是否存储了识别错误的笔迹坐标序列,若存储了识别错误的笔迹坐标序列,则依次进行步骤305至步骤306的计算,若没有存储识别错误的笔迹坐标序列,则进入步骤307;
步骤305,递归神经网络根据存储的识别错误的笔迹坐标序列的顺序对其中的坐标进行递归计算,并将计算结果与步骤304中正确的识别结果比较,根据损失函数计算出编码间误差;
步骤306,将编码间误差反馈回递归神经网络中,通过梯度下降函数调节下一个坐标进行递归计算时的计算参数,并根据步骤305继续对下一个坐标进行递归计算,直至存储的笔迹坐标序列中的最后一个坐标完成递归计算,即得到待识别字符的编码值,本次计算结束;
步骤307,清空之前存储的笔迹坐标序列,输出本次识别结果。
2.根据权利要求1所述的基于笔迹坐标序列的文字识别方法,其特征在于,所述的递归神经网络选择LSTM模型;
LSTM模型分为三层,即输入层,隐藏层和输出层;其中输入层接收笔迹坐标序列中的坐标,隐藏层计算从输入层传递给隐藏层的数据,保存计算结果并将计算结果传递给输出层,输出层每次输出对应的笔迹坐标序列中一个坐标的计算结果;
设输入层输入变量为it,隐藏层的输入门参数为Wi和bi,输入门按照如下公式进行计算:
C′t为更新记忆细胞单元状态的中间变量,更新记忆细胞单元状态的运算公式为:
Ct=ft·Ct-1+It·C′t
隐藏层的记忆细胞单元参数为WC和bc,隐藏层的遗忘门参数为Wf和bf,
遗忘门按照如下公式进行计算:
隐藏层的输出门参数为Wo和bo,输出门按照如下公式进行计算:
ht=ot·Tanh(Ct)
计算后将隐藏层计算结果ht传递给输出层;
输出层的参数为Wh和bh,输出层输出结果为Ht,Ht=f(Wh·ht+bh);
其中下标t表示当前输出,t-1表示前一次输出,it,Wf,Wi,Wo,,bi,bo,Ct,WC均为向量形式。
3.根据权利要求1所述的基于笔迹坐标序列的文字识别方法,其特征在于,步骤301中对手写输入设备输入的待识别字符的笔迹进行采样时设置采样阈值,若超过采样阈值而没有检测到笔迹输入则认为本次输入结束,停止对笔迹坐标进行采样。
4.根据权利要求2或3所述的基于笔迹坐标序列的文字识别方法,其特征在于,步骤203和步骤305中所述的损失函数计算过程为:将计算结果的编码值对应至十进制数值Ht,将步骤203中待训练字符的编码值或者步骤305中正确的识别结果的编码值对应至十进制数值则编码间误差θt可以通过损失函数计算,计算公式为
5.根据权利要求4所述的基于笔迹坐标序列的文字识别方法,其特征在于,步骤204和步骤306中所述的通过梯度下降函数调节下一个坐标进行递归计算时的计算参数的具体调整方式如下:
输出层参数调整为:
其中,Wh′,bh′为更新后的输出层参数,Wh,bh为当前输出层参数;
隐藏层的输出门参数调整为
其中,Wo′,bo′为更新后的隐藏层的输出门参数,Wo,bo为当前隐藏层的输出门参数;
隐藏层的输入门参数调整为
其中,Wi′,bi′为更新后的隐藏层的输入门参数,Wi,bi为当前输入层的输入门参数;
隐藏层的记忆细胞单元参数调整为
其中,Wc′,bc′为更新后的隐藏层的记忆细胞单元参数,Wc,bc为当前输出层的记忆细胞单元参数;
隐藏层的遗忘门参数调整为
其中,Wf′,bf′为更新后的隐藏层的遗忘门参数,Wf,bf为当前隐藏层的遗忘门参数;
以上公式中α为梯度下降速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610180051.6A CN106407874A (zh) | 2016-03-25 | 2016-03-25 | 基于笔迹坐标序列的手写识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610180051.6A CN106407874A (zh) | 2016-03-25 | 2016-03-25 | 基于笔迹坐标序列的手写识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106407874A true CN106407874A (zh) | 2017-02-15 |
Family
ID=58007149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610180051.6A Pending CN106407874A (zh) | 2016-03-25 | 2016-03-25 | 基于笔迹坐标序列的手写识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407874A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679505A (zh) * | 2017-10-13 | 2018-02-09 | 成都准星云学科技有限公司 | 一种实现对手写体字符拒识的方法 |
CN108154136A (zh) * | 2018-01-15 | 2018-06-12 | 众安信息技术服务有限公司 | 用于识别字迹的方法、装置及计算机可读介质 |
CN108229463A (zh) * | 2018-02-07 | 2018-06-29 | 众安信息技术服务有限公司 | 基于图像的文字识别方法 |
CN108805224A (zh) * | 2018-05-28 | 2018-11-13 | 中国人民解放军国防科技大学 | 具备可持续学习能力的多符号手绘草图识别方法及装置 |
CN108985151A (zh) * | 2018-06-04 | 2018-12-11 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN109558059A (zh) * | 2018-11-12 | 2019-04-02 | 大陆汽车投资(上海)有限公司 | 手写轨迹绘制方法及装置 |
CN109977737A (zh) * | 2017-12-28 | 2019-07-05 | 新岸线(北京)科技集团有限公司 | 一种基于循环神经网络的字符识别鲁棒性方法 |
CN110209280A (zh) * | 2019-06-05 | 2019-09-06 | 深圳前海达闼云端智能科技有限公司 | 一种应答方法、应答装置及存储介质 |
CN110929634A (zh) * | 2019-11-19 | 2020-03-27 | 广东工业大学 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
CN111046751A (zh) * | 2019-11-22 | 2020-04-21 | 华中师范大学 | 公式识别方法和装置 |
CN111382297A (zh) * | 2018-12-29 | 2020-07-07 | 杭州海康存储科技有限公司 | 一种用户侧用户数据的上报方法及装置 |
CN111428623A (zh) * | 2020-03-20 | 2020-07-17 | 郑州工程技术学院 | 基于大数据和计算机视觉的中文板书风格分析系统 |
CN111476209A (zh) * | 2019-05-14 | 2020-07-31 | 深圳传音控股股份有限公司 | 手写输入的识别方法、设备及计算机存储介质 |
CN112131834A (zh) * | 2020-09-24 | 2020-12-25 | 云南民族大学 | 一种西波字体生成和识别方法 |
CN112364723A (zh) * | 2020-10-26 | 2021-02-12 | 深圳市合众望电子有限公司 | 练字学习方法和装置 |
CN112699780A (zh) * | 2020-12-29 | 2021-04-23 | 上海臣星软件技术有限公司 | 对象识别方法、装置、设备及存储介质 |
CN112800987A (zh) * | 2021-02-02 | 2021-05-14 | 中国联合网络通信集团有限公司 | 一种汉字处理方法和装置 |
CN113128296A (zh) * | 2019-12-31 | 2021-07-16 | 重庆傲雄在线信息技术有限公司 | 一种电子手写签字模糊标签化识别系统 |
WO2022016649A1 (zh) * | 2020-07-21 | 2022-01-27 | 深圳市鹰硕教育服务有限公司 | 智能笔图像处理方法、装置及电子设备 |
CN114067334A (zh) * | 2021-09-29 | 2022-02-18 | 北京搜狗科技发展有限公司 | 手写轨迹的识别方法、装置、电子设备及存储介质 |
CN115344893A (zh) * | 2022-08-30 | 2022-11-15 | 深圳市创富金科技有限公司 | 基于文字特征识别的交易方法、装置及设备 |
CN115877953A (zh) * | 2023-02-06 | 2023-03-31 | 北京元隆雅图文化传播股份有限公司 | 虚拟现实眼镜 |
CN116756588A (zh) * | 2023-08-14 | 2023-09-15 | 北京点聚信息技术有限公司 | 一种同屏手写输入的智能匹配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350155A (zh) * | 2008-09-09 | 2009-01-21 | 无敌科技(西安)有限公司 | 通过类神经网络生成/验证密码的方法及系统 |
CN101730898A (zh) * | 2005-06-23 | 2010-06-09 | 微软公司 | 采用神经网络的手写识别 |
CN103996057A (zh) * | 2014-06-12 | 2014-08-20 | 武汉科技大学 | 基于多特征融合的实时手写体数字识别方法 |
CN105320986A (zh) * | 2014-07-24 | 2016-02-10 | 三星电子株式会社 | 神经网络训练方法和设备及数据处理设备 |
-
2016
- 2016-03-25 CN CN201610180051.6A patent/CN106407874A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101730898A (zh) * | 2005-06-23 | 2010-06-09 | 微软公司 | 采用神经网络的手写识别 |
CN101350155A (zh) * | 2008-09-09 | 2009-01-21 | 无敌科技(西安)有限公司 | 通过类神经网络生成/验证密码的方法及系统 |
CN103996057A (zh) * | 2014-06-12 | 2014-08-20 | 武汉科技大学 | 基于多特征融合的实时手写体数字识别方法 |
CN105320986A (zh) * | 2014-07-24 | 2016-02-10 | 三星电子株式会社 | 神经网络训练方法和设备及数据处理设备 |
Non-Patent Citations (3)
Title |
---|
WOJCIECH ZAREMBA 等: "RECURRENT NEURAL NETWORK REGULARIZATION", 《EPRINT ARXIV》 * |
卫晓欣: "基于长短型记忆递归神经网络的英文手写识别", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
商俊蓓: "基于双向长短时记忆递归神经网络的联机手写数字公式字符识别", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679505A (zh) * | 2017-10-13 | 2018-02-09 | 成都准星云学科技有限公司 | 一种实现对手写体字符拒识的方法 |
CN107679505B (zh) * | 2017-10-13 | 2020-04-21 | 林辉 | 一种实现对手写体字符拒识的方法 |
CN109977737A (zh) * | 2017-12-28 | 2019-07-05 | 新岸线(北京)科技集团有限公司 | 一种基于循环神经网络的字符识别鲁棒性方法 |
CN108154136A (zh) * | 2018-01-15 | 2018-06-12 | 众安信息技术服务有限公司 | 用于识别字迹的方法、装置及计算机可读介质 |
CN108154136B (zh) * | 2018-01-15 | 2022-04-05 | 众安信息技术服务有限公司 | 用于识别字迹的方法、装置及计算机可读介质 |
CN108229463A (zh) * | 2018-02-07 | 2018-06-29 | 众安信息技术服务有限公司 | 基于图像的文字识别方法 |
CN108805224B (zh) * | 2018-05-28 | 2021-10-01 | 中国人民解放军国防科技大学 | 具备可持续学习能力的多符号手绘草图识别方法及装置 |
CN108805224A (zh) * | 2018-05-28 | 2018-11-13 | 中国人民解放军国防科技大学 | 具备可持续学习能力的多符号手绘草图识别方法及装置 |
CN108985151A (zh) * | 2018-06-04 | 2018-12-11 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN108985151B (zh) * | 2018-06-04 | 2023-04-07 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN109558059A (zh) * | 2018-11-12 | 2019-04-02 | 大陆汽车投资(上海)有限公司 | 手写轨迹绘制方法及装置 |
CN111382297B (zh) * | 2018-12-29 | 2024-05-17 | 杭州海康存储科技有限公司 | 一种用户侧用户数据的上报方法及装置 |
CN111382297A (zh) * | 2018-12-29 | 2020-07-07 | 杭州海康存储科技有限公司 | 一种用户侧用户数据的上报方法及装置 |
CN111476209A (zh) * | 2019-05-14 | 2020-07-31 | 深圳传音控股股份有限公司 | 手写输入的识别方法、设备及计算机存储介质 |
CN111476209B (zh) * | 2019-05-14 | 2024-03-15 | 深圳传音控股股份有限公司 | 手写输入的识别方法、设备及计算机存储介质 |
CN110209280A (zh) * | 2019-06-05 | 2019-09-06 | 深圳前海达闼云端智能科技有限公司 | 一种应答方法、应答装置及存储介质 |
CN110929634B (zh) * | 2019-11-19 | 2023-04-18 | 广东工业大学 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
CN110929634A (zh) * | 2019-11-19 | 2020-03-27 | 广东工业大学 | 基于双向Tree-GRU的联机手写数学公式识别方法 |
CN111046751A (zh) * | 2019-11-22 | 2020-04-21 | 华中师范大学 | 公式识别方法和装置 |
CN111046751B (zh) * | 2019-11-22 | 2024-02-13 | 华中师范大学 | 公式识别方法和装置 |
CN113128296A (zh) * | 2019-12-31 | 2021-07-16 | 重庆傲雄在线信息技术有限公司 | 一种电子手写签字模糊标签化识别系统 |
CN113128296B (zh) * | 2019-12-31 | 2023-05-09 | 重庆傲雄在线信息技术有限公司 | 一种电子手写签字模糊标签化识别系统 |
CN111428623A (zh) * | 2020-03-20 | 2020-07-17 | 郑州工程技术学院 | 基于大数据和计算机视觉的中文板书风格分析系统 |
WO2022016649A1 (zh) * | 2020-07-21 | 2022-01-27 | 深圳市鹰硕教育服务有限公司 | 智能笔图像处理方法、装置及电子设备 |
CN112131834B (zh) * | 2020-09-24 | 2023-12-29 | 云南民族大学 | 一种西波字体生成和识别方法 |
CN112131834A (zh) * | 2020-09-24 | 2020-12-25 | 云南民族大学 | 一种西波字体生成和识别方法 |
CN112364723A (zh) * | 2020-10-26 | 2021-02-12 | 深圳市合众望电子有限公司 | 练字学习方法和装置 |
CN112699780A (zh) * | 2020-12-29 | 2021-04-23 | 上海臣星软件技术有限公司 | 对象识别方法、装置、设备及存储介质 |
CN112800987A (zh) * | 2021-02-02 | 2021-05-14 | 中国联合网络通信集团有限公司 | 一种汉字处理方法和装置 |
CN112800987B (zh) * | 2021-02-02 | 2023-07-21 | 中国联合网络通信集团有限公司 | 一种汉字处理方法和装置 |
CN114067334A (zh) * | 2021-09-29 | 2022-02-18 | 北京搜狗科技发展有限公司 | 手写轨迹的识别方法、装置、电子设备及存储介质 |
CN115344893A (zh) * | 2022-08-30 | 2022-11-15 | 深圳市创富金科技有限公司 | 基于文字特征识别的交易方法、装置及设备 |
CN115344893B (zh) * | 2022-08-30 | 2023-03-28 | 深圳市创富金科技有限公司 | 基于文字特征识别的交易方法、装置及设备 |
CN115877953B (zh) * | 2023-02-06 | 2023-05-05 | 北京元隆雅图文化传播股份有限公司 | 虚拟现实眼镜 |
CN115877953A (zh) * | 2023-02-06 | 2023-03-31 | 北京元隆雅图文化传播股份有限公司 | 虚拟现实眼镜 |
CN116756588B (zh) * | 2023-08-14 | 2023-10-20 | 北京点聚信息技术有限公司 | 一种同屏手写输入的智能匹配方法 |
CN116756588A (zh) * | 2023-08-14 | 2023-09-15 | 北京点聚信息技术有限公司 | 一种同屏手写输入的智能匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407874A (zh) | 基于笔迹坐标序列的手写识别方法 | |
CN109145939B (zh) | 一种小目标敏感的双通道卷积神经网络语义分割方法 | |
CN110399850B (zh) | 一种基于深度神经网络的连续手语识别方法 | |
CN104615983B (zh) | 基于递归神经网络和人体骨架运动序列的行为识别方法 | |
CN112734775B (zh) | 图像标注、图像语义分割、模型训练方法及装置 | |
CN109101938B (zh) | 一种基于卷积神经网络的多标签年龄估计方法 | |
CN105117054B (zh) | 一种手写输入的识别方法及系统 | |
CN107194418B (zh) | 一种基于对抗特征学习的水稻蚜虫检测方法 | |
CN106096535A (zh) | 一种基于双线性联合cnn的人脸验证方法 | |
CN107122712B (zh) | 基于cnn和双向vlad的掌纹图像识别方法 | |
CN107506692A (zh) | 一种基于深度学习的密集人群计数与人员分布估计方法 | |
CN107480575A (zh) | 模型的训练方法、跨年龄人脸识别方法和对应的装置 | |
CN106156767A (zh) | 行驶证有效期自动提取方法、服务器及终端 | |
CN110390275A (zh) | 一种基于迁移学习的手势分类方法 | |
CN108288015A (zh) | 基于时间尺度不变性的视频中人体动作识别方法及系统 | |
CN108764041A (zh) | 用于下部遮挡人脸图像的人脸识别方法 | |
CN105069434A (zh) | 一种视频中人体动作行为识别方法 | |
CN104616002A (zh) | 用于年龄段判断的面部识别设备 | |
CN111860278B (zh) | 一种基于深度学习的人体行为识别算法 | |
CN106529504A (zh) | 一种复合时空特征的双模态视频情感识别方法 | |
CN107992807A (zh) | 一种基于cnn模型的人脸识别方法及装置 | |
CN106682681A (zh) | 一种基于相关反馈的识别算法自动改进方法 | |
CN115294658A (zh) | 一种面向多应用场景的个性化手势识别系统及其手势识别方法 | |
CN112950780A (zh) | 一种基于遥感影像的网络地图智能生成方法及系统 | |
CN108762503A (zh) | 一种基于多模态数据采集的人机交互系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170215 |
|
RJ01 | Rejection of invention patent application after publication |