CN117095414A - 一种基于点阵纸笔的手写识别***及识别方法 - Google Patents
一种基于点阵纸笔的手写识别***及识别方法 Download PDFInfo
- Publication number
- CN117095414A CN117095414A CN202311062341.7A CN202311062341A CN117095414A CN 117095414 A CN117095414 A CN 117095414A CN 202311062341 A CN202311062341 A CN 202311062341A CN 117095414 A CN117095414 A CN 117095414A
- Authority
- CN
- China
- Prior art keywords
- handwriting
- traj
- recognition result
- point
- recognition
- 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
- 239000011159 matrix material Substances 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000009467 reduction Effects 0.000 claims abstract description 19
- 238000010801 machine learning Methods 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 7
- 210000001520 comb Anatomy 0.000 claims description 52
- 238000012217 deletion Methods 0.000 claims description 27
- 230000037430 deletion Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 24
- 238000005520 cutting process Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 8
- 101150059057 BET1 gene Proteins 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 6
- 230000017105 transposition Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000000149 penetrating effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000007261 regionalization Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 230000035945 sensitivity Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000000605 extraction Methods 0.000 abstract 1
- 238000012805 post-processing Methods 0.000 abstract 1
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 239000000047 product Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Character Discrimination (AREA)
Abstract
一种基于点阵纸笔的手写识别方法及其识别***,包括点阵纸、手写终端、智能终端,点阵纸上设置有若干带有特定信息的输入框,通过手写终端在点阵纸的输入框内手写文字,手写过程中手写终端不断拍照,将拍摄的照片转换成成坐标点数据后传输给识别模块,识别模块接收坐标数据,将一个输入框内的笔迹数据为字符串的格式输入识别模型中,再经降噪预处理、特征提取与建模分析、模型识别和后处理后得到识别结果。本发明采用基于输入框的手写笔迹识别方案,并利用点阵技术,同时将深度学习、机器学习和计算机视觉相结合,基于视觉和时序建立联机手写识别模型,最大程度地兼容用户的书写习惯,且识别准确率高、速度快。
Description
技术领域
本发明涉及手写识别技术领域,尤其涉及一种基于点阵纸笔的手写识别***及识别方法。
背景技术
目前市场上的手写笔迹识别技术主要分为联机手写识别和脱机手写识别。联机手写汉字识别所处理的手写文字是书写者通过物理设备(如数字笔、数字手写板或者触摸屏)在线书写获取的文字信号,书写的轨迹通过定时采样即时输入到计算机中。而脱机手写文字识别所处理的手写文字是通过扫描仪或摄像头等图像捕捉设备采集到的手写文字二维图片。
联机手写识别的代表产品有苹果(Apple)公司的基于其智能设备的手写识别***、Myscript的手写识别服务,主要应用场景为电子笔迹转电子文本。此类识别***的缺点是,文字只存在正文和被删除文本两种状态,因此对书写者要求较高,如果书写潦草、不规范或者笔迹间存在乱涂乱画(涂鸦)等复杂情况,易出现识别错误的情况;并且需要用户逐字核对识别结果,并进行纠错,以提升手写识别的准确率。这种智能设备与用户进行交互操作以提高涂改识别率的方式,注定其不会成为高手写识别准确率、高时效性、高手写体兼容率及低人工成本应用场景的首选。
第二种基于图片的手写笔迹涂改识别(OCR),相关的代表产品为腾讯的通用手写体识别服务、小猿口算的“拍照检查小学作业”,主要应用场景为图片转电子文档。缺点是:1)手写笔迹识别的准确率受客观因素影响较大,例如光线、图片的质量等;2)每次进行识别前用户需要用相关设备进行拍摄和上传操作,操作繁琐,应用受限。
发明内容
本发明的目的是克服上述现有技术的缺点,提供一种识别准确率高,可最大限度上兼容用户的书写习惯和保有高识别准确率的同时,减少人工复核成本的基于点阵纸笔的手写识别***以及识别方法。
本发明是通过以下技术方案来实现的:
一种基于点阵纸笔的手写识别方法,包括如下步骤:
S1、点阵纸上设置有若干带有特定信息的输入框,通过手写终端在点阵纸的输入框内手写文字,一个输入框内手写一行文字,手写过程中手写终端不断拍照,将拍摄的照片转换成坐标点数据后传输给识别模块;
S2、识别模块接收坐标点数据,并以输入框为单位,将一个输入框内的笔迹数据转换为字符串的格式输入识别模型中,字符串包含坐标点的x轴位置信息、y轴位置信息和状态信息,识别模型通过预处理程序将其转换为以笔画为单位的坐标元组集合T1;
S3、坐标元组集合T1经降噪处理,得到坐标元组集合记作T2;
S4、将T2中的数据经过缩放后得到新的样本轨迹点,再通过直线生成算法将轨迹点绘制到二维矩阵上,并进行二值化,将二值化后的矩阵记为M,M∈m×m,其中m表示矩阵的行数和列数;
S5、将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,记作轨迹点分割组合Combs,并将Combs中一个Comb中的笔迹点组成的整体定义为伪字符Traj;
S6、按照S5中生成的轨迹点分割组合Combs,分别将每个组合内的伪字符Traj3-g投影到二维平面生成二值矩阵,记作M3-g,将矩阵M3-g输入训练好的深度神经网络模型,得到每个伪字符的识别结果一;深度神经网络模型可包括四层卷积和两层全连接网络,还可以使用其它神经网络模型来提取图像特征,具体选用哪种本申请不做具体限定,只要能提取图像的特征即可。
S7、根据识别结果一,将生成的每个组合的伪字符的二值矩阵M3-g输入异常识别模型,算出各组合的异常识别结果;
S8、根据识别结果一和异常识别结果决定每个伪字符是否进入机器学习模型和模式匹配模型,如果不进入机器学习模型和模式匹配模型,则直接根据识别将结果一和异常识别结果输出该伪字符的识别结果二,否则先将每个伪字符的笔画进行特征编码,再输入到机器学习模型和模式匹配模型中得到识别结果二;
S9、识别结果一、异常识别结果和识别结果二,基于决策模型输出最终识别结果。
进一步地,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:对识别结果一、异常识别结果、识别结果二的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的Comb组合的识别结果作为识别结果三进行输出。
进一步地,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:
S9-1、将T2中的笔画数据进行从左到右、从上到下的离散斜率编码,并输入基于Seq2Seq、BiLSTM或transformer等构建的模型中进行识别,得到识别结果三;所述离散斜率编码是将每条笔画按照斜率范围为[-1,1],将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1,根据的斜率和顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S9-2、构建决策模型输出最终的识别结果四,决策模型的步骤为,对识别结果一、异常识别结果、识别结果二和识别结果三的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的模型作为识别结果四进行输出。
进一步地,所述S8步骤中将每个伪字符的笔画进行特征编码,再输入到机器学习和模式匹配模型中得到识别将结果二,包括如下步骤:
S8-1、先进行离散斜率编码,将伪字符中的每条笔画按照斜率范围为[-1,1],其原理是将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1;根据笔迹点构成的笔画的斜率和笔画的时间顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S8-2、然后进行视觉特征编码,将伪字符投影到二维平面的二值矩阵中,通过局部区域的像素级特征进行模板匹配、Hu矩、定向区域的孔洞检测、曲率计算、笔画走势匹配构建高阶特征,然后将特征分别输入机器学习模型和模式匹配模型中,得到识别结果二。
进一步地,所述S3步骤中降噪处理采用策略降噪模型,所述策略降噪模型通过笔画长度和笔画相较于其他笔画的空间信息进行去噪,其包括如下步骤:如果组成笔画的点数低于正常的数量,则认为该点为噪声笔画,进行删除;计算出笔画的长度,如果笔画长度远远低于正常笔画的长度,则认为是噪声笔画,删除该笔画。
进一步地,所述S1步骤中的状态信息包括“起点”、“终点”、“中间点”和“删除线”;
当笔尖产生压感并逐渐大于阈值,笔尖摄像头拍摄照片,此时生成的为笔画的起点,对应的坐标点状态为起点状态;
当笔尖的压感逐渐降低并小于阈值,笔尖摄像头拍摄照片,此时生成的为笔画的终点,对应的坐标点状态为终点状态;
在起点和终点中间,每隔一定时间,拍摄一张照片,生成一个轨迹点,此时的轨迹点对应的坐标点状态为中间点状态;
删除线是约定的当用户需要删除某手写文字时采用的笔迹,本发明的删除线为穿过文字、输入框的上边框和下边框的线条。
进一步地,所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-11、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-12、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,……,pm),其中
S5-13、根据笔迹复杂度设置合适的阈值a(a∈N),选择合适的掩码mask,k>a,a∈N,k∈N+,其中,a是一个大于等于零的整数,k是一个大于a的整数;
S5-14、qi=mask·(pi+1,pi+2,……,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1],其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-15、基于S5-11至S5-14步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-16、根据实际情况设置若干组S5-13至S5-15,得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为以笔画为单位的坐标元组的集合;
S5-17、遍历Traji(i∈[1,k]),将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i(i∈[1,k]),设当前的M2-i为M,重复执行S5-11至S5-16步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为以笔画为单位的坐标元组的集合;
S5-18、将Split2每一个Traj2-y的边界记为bondy,y∈[1,z],对其中的每一个边界的长度进行统计分析,并基于此将过长、过短、中等的边界标记为三个不同的状态值,基于不同的状态值组合,进行合并和拆分的动作,并由此生成不同轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-19、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
进一步地,所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-21、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-22、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,......,pm),其中
S5-23、根据笔迹复杂度设置合适的阈值a(a∈N),选择合适的掩码mask,k>a,a∈N,k∈N+,a是一个大于等于零的整数,k是一个大于a的整数;
qi=mask·(pi+1,pi+2,......,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1],其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-24、基于S5-21到S5-23步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-25、得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合,遍历Traji(i∈[1,k]),记Traji绘制在二维矩阵并二值化后为M2-i,得到序列Segs=[M2-1,M2-2,......,M2-k];
S5-26、对M2-i进行连通域搜索,计算连通分量,任意两个连通分量,如果它们的欧式距离足够接近,则合并为一个连通分量;执行此步骤直至没有可合并的连通分量;将得到的连通分量记为Cons=[Con1,Con2,......,Conw]并计算Cons的统计学特征;
S5-27、将Conj对应的区域进行投影分析;取适当的长度进行预切分,得到预切分边界bondspres=[bondpreds-1,bondpreds-2,……,bondpreds-n],对bondspreds的边界结合S5-27中投影分析的特征,进行局部最低点分析;如果任意两个bondpreds-j中间出现不止一个局部最小值,那么则增加局部最小值所在的坐标到bondspres,成为新的边界;如果任意两个bondpreds-j的中间区域出现较长一段距离的投影值小于等于一个很小的固定值,则将这段区域的中点的坐标加入bondspres,作为新的边界点;
S5-28、基于S5-27步骤中的边界点,生成Split=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合;
S5-29、遍历Traji(i∈[1,k]),将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i(i∈[1,k]),设当前的M2-i为M,重复执行S5-21到S5-26的步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为笔画为单位的坐标元组的集合;
S5-210、通过动态规划算法结合手写文字区域化的特点,生成不同的轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-211、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],,p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
进一步地,所述S4步骤中将T2中的数据经过缩放后得到新的样本轨迹点的方法为:基于T2,比较长度和宽度的数值,宽度为T2所有笔迹点中X坐标最大值和最小值的差值,width=Xmax-Xmin,长度为T2所有笔迹点中Y坐标的最大值和最小值的差值,height=Ymax-Ymin;
将长度和宽度中变换到固定的所需的数值,该数值由所述S5步骤中的分割模型和行内切割算法决定,并在保持长宽比不变的情况下,对长度和宽度乘以相应的缩放倍数得到新的样本轨迹点。
一种基于点阵纸笔的手写识别***,采用上述基于点阵纸笔的手写识别方法,包括点阵纸、手写终端和智能终端,或包括点阵纸、手写终端、云服务器和智能终端,或包括点阵纸、手写终端、本地服务器和智能终端。可根据实际选择何种部署方案。
所述点阵纸上设置有若干输入框,所述输入框上预设具有特定信息的点阵,用于为手写终端生成点提供坐标信息;点阵纸的生成方法为:将纸面上输入框的位置信息和纸张信息进行编码,再基于算法绘制出对应矩阵点,再将带有特定信息的矩阵点打印或印刷在特定大小的纸面上即可。
所述手写终端包括书写模块、笔尖压感感应模块、摄像模块、数据转换模块和数据传输模块,所述书写模块包括用于在点阵纸上进行书写的笔尖,所述摄像模块包括摄像头,所述摄像头设置于笔尖附近,用于拍摄笔尖书写出的笔迹;所述笔尖压感感应模块分别与笔尖和摄像模块相连,用于感应笔尖与点阵纸接触时的压力,当压力大于设定值时,触发摄像模块进行摄像;所述数据转换模块与摄像模块相连,用于基于点阵纸的点阵将拍摄的图像转换成包含坐标点的数组;所述数据传输模块用于将数据转换模块转换的数据以无线形式传输给所述云服务器、本地服务器或智能终端。
当手写终端将数据以无线形式传输给所述云服务器或本地服务器时,云服务器和本地服务器配置有识别模块,所述识别模块用于根据坐标点数组进行识别,并将识别结果以无线形式传输给所述智能终端,智能终端上设置有显示查看模块,用于显示和查看识别结果;
当手写终端将数据以无线形式传输给所述智能终端时,智能终端上配置有识别模块和显示查看模块,所述识别模块用于根据坐标点数组进行识别,所述显示查看模块用于显示和查看识别结果。此时,手写终端可通过蓝牙与智能终端进行数据传输,可满足无网络的情况。
本发明相较于其他联机识别***使用复杂的规则,并且需要依靠用户与智能终端的实时互动来确认删除操作,提出了基于输入框(答题框)的手写笔迹识别解决方案,针对输入框内的内容进行识别,并利用点阵技术,同时将深度学习、机器学习和计算机视觉相结合,基于视觉和时序建立联机手写识别模型,最大程度地兼容用户的书写习惯,并增强模型的可解释性,并且在生产数据集和实际使用场景中表现良好。
本发明通过异常识别模型,提出“拒识”状态(此状态下,识别结果为“异常值”),作为正文和删除文字这两种状态的补充,并予以提示,相较其他联机手写识别的全文复核,用户仅需对少量的“拒识”内容进行核对,在保有高识别率的前提下,用户的工作量大大降低,并在真实生产数据集和使用场景中表现优秀。
本发明对于书写删除的操作,仅需一笔(同时穿过答题框的上边框和下边框),即可对书写内容进行删除,相交于其它需要划波浪线、涂鸦和画一个至少三折的笔划等来进行删除操作,容易操作的同时,满足保持整体书写规范和美观的需求。
本发明的识别***和识别方法适用于用户无法通过智能终端实时交互并及时对识别结果进行核对和修改的情况,书写者(答题者)在手写(答题)时,无需关注识别结果,点阵纸和手写终端与普通纸笔的书写形式雷同,使用者按照正常的纸笔书写习惯即可,书写过程中也无需对识别结果进行核对,当需要修改和删除时按照相应修改和删除的操作规定即可,操作简单,用户无需适应复杂的书写操作习惯,也无需手持智能化设备,也可避免智能化设备对学生的学习、测验等造成影响。
本发明的用户受约束程度较小,特别适用于书写不规范、书写潦草、对文字涂改、涂鸦出现频次较高的用户和应用场景。
本发明的识别准确率高,在最大限度地兼容用户的书写习惯和保有高识别准确率的同时,降低人工复核成本。
本发明适用于时效性要求较高,需要实时地将书写文字转化为电子文本的场合。
本发明无网也可使用,可提供云服务、本地服务器部署和嵌入式设备部署三种部署方案。
附图说明
图1为本发明手写识别方法实施例的流程图。
图2为本发明手写识别方法实施例中点阵纸的示意图。
图3为本发明手写识别方法实施例中伪字符和Combs的示意图。
图4为本发明手写识别***实施例的结构框图。
图5为本发明手写识别***实施例中点阵纸的示意图。
图6为本发明手写识别***实施例中手写终端的结构示意图。
图7为本发明手写识别***实施例中手写终端另一视角的结构示意图。
图8为本发明手写识别方法实施例中答题卡的示意图。
附图标记:1-笔杆;2-笔尖;3-摄像头;4-指示灯;5-开关按钮;6-手握处。
具体实施方式
一种基于点阵纸笔的手写识别方法,如图1所示,包括如下步骤:
S1、点阵纸上设置有若干带有特定信息的输入框,通过手写终端在点阵纸的输入框内手写文字,一个输入框内手写一行文字,手写过程中手写终端不断拍照,将拍摄的照片转换成坐标点数据后传输给识别模块。识别模块设置于后台服务器或智能终端。
如图2所示,输入框(图2中虚线框住的部分)的框高有限,本发明设定一个输入框只能容纳一行正常大小的文字,故设定每次识别的轨迹对象皆属于同一行,但文字分布的具***置在一定范围内可能存在起伏变化,如输入多行数据,则视为违规,被归为异常输入,通常会被异常识别模型识别成异常值,而不会识别出具体的内容;同时规定需要进行识别的内容都在答题框内,轨迹点大部分或者全部位于答题框外的输入由于不在预设的位置坐标内,因而不在识别范围内,属于无效输入。
S2、识别模块接收坐标点数据,并以输入框为单位,将一个输入框内的笔迹数据转换为字符串的格式输入识别模型中,字符串包含坐标点的x轴位置信息、y轴位置信息和状态信息,识别模型通过预处理程序将其转换为以笔画为单位的坐标元组集合T1。
坐标点的状态信息有四种,分别是“起点”、“终点”、“中间点”和“删除线”。
当笔尖2产生压感并逐渐大于阈值,笔尖2摄像头3拍摄照片,此时生成的为笔画的起点,对应的坐标点状态为起点状态;
当笔尖2的压感逐渐降低并小于阈值,笔尖2摄像头3拍摄照片,此时生成的为笔画的终点,对应的坐标点状态为终点状态;
在起点和终点中间,每隔一定时间,拍摄一张照片,生成一个轨迹点,此时的轨迹点对应的坐标点状态为中间点状态;
删除线是约定的当用户需要删除某手写文字时采用的笔迹,如图5,本发明的删除线为穿过文字、输入框的上边框和下边框的线条。
相较于其他联机识别***,使用复杂的规则,并且需要依靠用户与智能终端的实时互动来确认删除操作,本发明仅需一笔(同时穿过答题框的上边框和下边框),即可对书写内容进行删除,相对于某些识别***要求用户画波浪线、至少三折的笔划或涂鸦来进行删除的操作,容易操作的同时,满足保持整体书写规范和美观的需求。
S3、坐标元组集合T1经降噪处理,得到坐标元组集合记作T2。
由于书写者行为或者设备等导致的非文字笔迹的存在,传输的数据中会不同程度地存在噪声点,因此需要对数据进行降噪处理,一般是通过降噪模型来进行数据质量提升。
降噪模型由两部分组成,一是策略去噪模型,二是异常识别降噪模型,S3步骤中使用的是策略去噪模型。策略去噪模型主要通过笔画长度和笔画相较于其他笔画的空间信息进行去噪,去噪后的坐标元组集合记作T2。
策略降噪模型的步骤如下:
如果组成笔画的点数低于正常的数量,则认为该点为噪声笔画,进行删除;
计算出笔画的长度,如果笔画长度远远低于正常笔画的长度,则认为是噪声笔画,删除该笔画。
S4、将T2中的数据经过缩放后得到新的样本轨迹点,再通过直线生成算法将轨迹点绘制到二维矩阵上,并进行二值化,将二值化后的矩阵记为M,M∈m×m,其中m表示矩阵的行数和列数。
将T2中的数据经过缩放后得到新的样本轨迹点的方法为:基于T2,比较长度和宽度的数值,宽度为T2所有笔迹点中X坐标最大值和最小值的差值,width=Xmax-Xmin,长度为T2所有笔迹点中Y坐标的最大值和最小值的差值,height=Ymax-Ymin;
将长度和宽度变换到固定的所需的数值,该数值由后述S5步骤中的分割模型和行内切割算法决定,并在保持长宽比不变的情况下,对长度和宽度乘以相应的缩放倍数得到新的样本轨迹点。从笔迹数据进入手写识别方法开始到得出识别结果,任意指定笔迹点之间的长宽比一直是固定的,因而为了固定长宽比,长度和宽度要一起乘以相同的系数。
S5、将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,记作轨迹点分割组合Combs,并将Combs中一个Comb中的笔迹点组成的整体定义为伪字符Traj。相应地,完整轨迹点的组合叫做字符。S5步骤中的相关方法在后面详细论述。
如图3(a)-(c),分割算法会基于特征,将一个答题框内的所有笔迹点分成若干个“伪字符”,这些伪字符组成了一个Comb(组合),而分割算法通常针对一个答题框内的笔迹点,会根据特征数据的实际情况,生成多个Combs(多个Comb)。这些Combs里包含了划分正确的轨迹点组合(划分正确指的是,在这个Combs里,每个“伪字符”里的笔迹点都属于同一个手写字符,并且该手写字符的所有笔迹点都被划分到了该“伪字符”中)。
如图3(a)-(c),S5中分割算法分出来的属于某个字符的轨迹点整体定义为伪字符,因为这个分割结果不一定是对的,所以加个“伪”字进行区分,并且接下来的处理阶段,把它当成独立的单个字符对待。但它不一定是由一个完整的字符的笔迹点组成,可能是一个完整字符的部分笔迹点(如图3(a))或者多个字符的笔迹点(如图3(b)),故需要对这些伪字符进行处理,如通过各种识别模型进行识别,等等。
S6、按照S5中生成的轨迹点分割组合Combs,分别将每个组合内的伪字符Traj3-g投影到二维平面生成二值矩阵,记作M3-g,将矩阵M3-g输入训练好的深度神经网络模型,得到每个伪字符的识别结果一。深度神经网络可由四层卷积和两层全连接网络组成,还可以使用其它神经网络模型来提取图像特征,具体选用哪种本申请不做具体限定,只要能提取图像的特征即可。
S7、根据识别结果一,将生成的每个组合的伪字符的二值矩阵M3-g输入异常识别模型,算出各组合的异常识别结果。异常识别模型可采用现有的网络识别模型,在此不赘述。
S8、根据识别结果一和异常识别结果决定每个伪字符是否进入机器学习模型和模式匹配模型,如果不进入机器学习模型和模式匹配模型,则直接根据识别将结果一和异常识别结果输出该伪字符的识别结果二,否则先将每个伪字符的笔画进行特征编码,再输入到机器学习模型和模式匹配模型中得到识别结果二。
伪字符是否进入机器学习模型和模式匹配模型的标准可为:对识别结果一和异常识别结果设置合适的阈值和权重参数,如果识别结果一和异常识别结果的置信度分别高于设置的阈值,并且加权后的识别结果一和异常识别结果之和大于固定阈值,则不进入机器学习模型和模式匹配模型;反之,则进入机器学习模型和模式匹配模型。
将每个伪字符的笔画进行特征编码,再输入到机器学习和模式匹配模型中得到识别将结果二,包括如下步骤:
S8-1、先进行离散斜率编码,将伪字符中的每条笔画按照斜率范围为[-1,1],其原理是将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1;根据笔迹点构成的笔画的斜率和笔画的时间顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S8-2、然后进行视觉特征编码,将伪字符投影到二维平面的二值矩阵中,通过局部区域的像素级特征进行模板匹配、Hu矩、定向区域的孔洞检测、曲率计算、笔画走势匹配构建高阶特征,然后将特征分别输入机器学习模型和模式匹配模型中,得到识别结果二。
S9、识别结果一、异常识别结果和识别结果二,基于决策模型输出最终识别结果。
作为其中一种实施方式,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:
对识别结果一、异常识别结果、识别结果二的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的Comb组合的识别结果作为识别结果三进行输出。
作为其中另一种实施方式,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:
S9-1、将T2中的笔画数据进行从左到右、从上到下的离散斜率编码,并输入基于Seq2Seq、BiLSTM或transformer等构建的模型中进行识别,得到识别结果三;所述离散斜率编码是将每条笔画按照斜率范围为[-1,1],将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1,根据的斜率和顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S9-2、构建决策模型输出最终的识别结果四,决策模型的步骤为,对识别结果一、异常识别结果、识别结果二和识别结果三的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的模型作为识别结果四进行输出。
对于前述S5的步骤,列举两种具体的实施方法,具体为:
方法一:
所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-11、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-12、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,......,pm),其中
S5-13、根据笔迹复杂度设置合适的阈值a(a∈N),选择合适的掩码mask,k>a,a∈N,k∈N+;mask的长度一定小于等于qi的长度,但是大于0,a是一个大于等于零的整数,k是一个大于a的整数;S5-14、qi=mask·(pi+1,pi+2,......,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1];其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-15、基于S5-11至S5-14步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-16、根据实际情况设置若干组S5-13至S5-15,得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为以笔画为单位的坐标元组的集合;
合适的阈值a和s1的组数和S5-13至S5-15的循环次数是一样的,并且每次循环的每一组a和s1都是不一样的,这个根据实际情况而定。执行S5-13到S5-15这个过程次数越多,可以得到的边界点就越多,在执行循环达到一定次数时,边界点的个数会趋于稳定,算法将不再生成新的边界点。但执行这个循环的次数不是越多越好,还是得视具体情况的而定。
S5-17、遍历Traji(i∈[1,k]),将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i(i∈[1,k]),设当前的M2-i为M,重复执行S5-11至S5-16步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为以笔画为单位的坐标元组的集合;
S5-18、将Split2每一个Traj2-y的边界记为bondy,y∈[1,z],对其中的每一个边界的长度进行统计分析,并基于此将过长、过短、中等的边界标记为三个不同的状态值,基于不同的状态值组合,进行合并和拆分的动作,并由此生成不同轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-19、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
方法二:
所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-21、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-22、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,......,pm),其中
S5-23、根据笔迹复杂度设置合适的阈值a(a∈N),选择合适的掩码mask,k>a,a∈N,k∈N+;mask的长度一定小于等于qi的长度,但是大于0,a是一个大于等于零的整数,k是一个大于a的整数;
qi=mask·(pi+1,pi+2,......,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1];其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-24、基于S5-21到S5-23步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-25、得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合,遍历Traji(i∈[1,k]),记Traji绘制在二维矩阵并二值化后为M2-i,得到序列Segs=[M2-1,M2-2,......,M2-k];
S5-26、对M2-i进行连通域搜索,计算连通分量,任意两个连通分量,如果它们的欧式距离足够接近,则合并为一个连通分量;执行此步骤直至没有可合并的连通分量;将得到的连通分量记为Cons=[Con1,Con2,......,Conw]并计算Cons的统计学特征;
S5-27、将Conj对应的区域进行投影分析;取适当的长度进行预切分,得到预切分边界bondspres=[bondpreds-1,bondpreds-2,……,bondpreds-n],对bondspreds的边界结合S5-27中投影分析的特征,进行局部最低点分析;bondspres是由Conj生成的,所以每一个bondspreds也是有求出和保存其对应的投影特征的。
如果任意两个bondpreds-j中间出现不止一个局部最小值,那么则增加局部最小值所在的坐标到bondspres,成为新的边界;如果任意两个bondpreds-j的中间区域出现较长一段距离的投影值小于等于一个很小的固定值,则将这段区域的中点的坐标加入bondspres,作为新的边界点;
S5-28、基于S5-27步骤中的边界点,生成Split=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合。S5-27中生成的bondspres=[bondpreds-1,bondpreds-2,……,bondpreds-n]就是一串边界点,这里是用S5-27的最终生成的边界点进行分割,得到Traji是笔迹点组成的笔画的集合。
S5-29、遍历Traji(i∈[1,k]),将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i(i∈[1,k]),设当前的M2-i为M,重复执行S5-21到S5-26的步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为笔画为单位的坐标元组的集合;
S5-210、通过动态规划算法结合手写文字区域化的特点,生成不同的轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-211、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
一种基于点阵纸笔的手写识别***,采用上述基于点阵纸笔的手写识别方法,如图4所示,包括点阵纸、手写终端和智能终端,或包括点阵纸、手写终端、云服务器和智能终端,或包括点阵纸、手写终端、本地服务器和智能终端。这三种部署方式可满足不同用户和不同场景需求,可根据实际选择部署何种方案。
如图2、图5,所述点阵纸上设置有若干输入框,所述输入框上预设具有特定信息的点阵,点阵可以为手写终端(点阵笔)生成点提供坐标信息。
点阵纸的介质可为普通的纸张纤维类纸,点阵纸上点阵的生成方法为:将纸面上输入框的位置信息和纸张信息进行编码,再基于算法绘制出对应矩阵点,再将带有特定信息的矩阵点打印或印刷在特定大小的纸面上,即可得到点阵纸。
以一张答题卡为例,每张答题卡都有独有的编码,如图5,答题卡上会设置特定的待书写的区域,这里称为输入框,在这些输入框内输入的文字为有效输入文字,而大部分或全部位于输入框外的输入文字则为无效输入文字(将不会进入识别***),将这些输入框的位置信息和对应的纸张信息通过类似二进制编码的方式进行编码,再基于特定的算法绘制出对应矩阵点,将已知大小的纸张覆盖上带有特定信息的矩阵点,并用打印机打印,就成了点阵纸。
手写终端可以为采用点阵技术的任意点阵笔设备,可设置为杆状、板状或块状等任意形状。本实施例中,如图6、图7,手写终端为杆状笔的结构,其包括笔杆1和设置在笔杆1上书写模块、笔尖2压感感应模块、摄像模块、数据转换模块、数据传输模块、指示灯4和开关按钮5。
所述书写模块包括用于在点阵纸上进行书写的笔尖2,笔尖2设置在笔杆1的底部,笔尖2连接有供墨组件,供墨组件设置在笔杆1中,可采用普通的水性笔芯的形式,或普通钢笔的笔尖2和墨胆的组合结构。
所述摄像模块包括摄像头3,所述摄像头3设置于笔尖2附近,用于拍摄笔尖2书写出的笔迹,可设置在笔杆1手握处6的下方。为了防止摄像头被挡住,可对点阵笔的外形进行专门的设计,比如摄像头3处设置较长的槽,防止因握笔姿势导致遗失笔迹点,可设置专门的笔的形状和笔槽,以防握笔姿势不正确。
所述笔尖2压感感应模块分别与笔尖2和摄像模块相连,用于感应笔尖2与点阵纸接触时的压力,当压力大于设定值时,触发摄像模块进行摄像。通过解析两张照片中的点阵码得出两张照片对应的x,y坐标并按时间顺序记录下来。
所述数据转换模块与摄像模块相连,用于基于点阵纸的点阵将拍摄的图像转换成包含坐标点的数组,数据转换部分的输入为摄像头3拍摄的图片,输出是一串坐标点。坐标数据是基于点阵得到的。图片中的点阵坐标会被转化成一串编码,通过识别编码中特定的数字排列,解析得到笔迹点的坐标信息。比如用“123123”定位“x”坐标的开始和结束,用“321321”定位“y”坐标的开始和结束,那么如果从一张图片中解析出一串编码如下“46576912312335123123321321100321321”,就可以得到这张照片对应的坐标为(35,100)。
所述数据传输模块用于将数据转换模块转换的数据以无线形式传输给所述云服务器、本地服务器或智能终端。
本实施例中,所述手写终端上还设置有指示灯4和开关按钮5,均设置在笔杆1的上部位置,所述指示灯4用于指示手写终端是否正常工作,指示灯4亮,表示处于正常工作的状态,指示灯4灭,表示处于关闭、缺电或故障的状态,所述开关按钮5用于开启和关闭手写终端。手写终端上设置有电池模块,配置普通电池或锂离子充电电池,并配备可给充电电池充电的接头。这些配置均可采用现有技术。
当手写终端将数据以无线形式传输给所述云服务器或本地服务器时,云服务器和本地服务器配置有识别模块,所述识别模块用于根据坐标点数组进行识别,并将识别结果以无线形式传输给所述智能终端,智能终端上设置有显示查看模块,用于显示和查看识别结果。
当手写终端将数据以无线形式传输给所述智能终端时,智能终端上配置有识别模块和显示查看模块,所述识别模块用于根据坐标点数组进行识别,所述显示查看模块用于显示和查看识别结果。此时,手写终端可通过蓝牙与智能终端进行数据传输,可满足无网络的情况。
所述智能终端为嵌入式设备、手机端或PC端,这些终端上预先安装相应的应用程序,供操作人员操作和查看。
也可根据需要将文字识别的功能归属于服务后台或云服务器,手写终端和显示终端与服务后台或云服务器相连,手写终端的数据传输给服务后台或云服务器,由服务后台或云服务器识别后,再将识别结果传输给显示终端进行显示。
本发明手写识别***的一个应用场景为课堂教学,如图8所示,答题卡即为点阵纸,答题卡的相应答题框上设置有矩阵点,矩阵点包含有位置信息和纸张信息,课堂小测时,学生手持手写终端在答题卡的输入框上手写答案,当笔尖2的压感大于预设的阈值的时候,触发摄像头3拍照的动作,拍摄的照片由数据转换模块转换成一个个包含坐标点的数组,并以笔画为单位,以一定时长的间隔,不间断地通过蓝牙模块传输给智能终端设备,智能终端设备识别各答题卡上的书写文字,教师通过智能终端设备查看各学生答题卡上的答题内容,并可在教师提前录入正确答案至智能终端的情况下,实现自动化批改,实时得到各学生的答题分数。
本发明的识别效果:
将本发明的识别***和识别方法应用于课堂教学中,在仅使用一台4核CPU服务器,CPU MHz为2199.998,不使用GPU的情况下,能轻松支持50个学生的高频作答笔迹的实时识别,并在智能终端实时显示识别结果。识别准确率较高,能满足考试、测试和作业的需求。
上列详细说明是针对本发明可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。
Claims (10)
1.一种基于点阵纸笔的手写识别方法,其特征在于,包括如下步骤:
S1、点阵纸上设置有若干带有特定信息的输入框,通过手写终端在点阵纸的输入框内手写文字,一个输入框内手写一行文字,手写过程中手写终端不断拍照,将拍摄的照片转换成坐标点数据后传输给识别模块;
S2、识别模块接收坐标点数据,并以输入框为单位,将一个输入框内的笔迹数据转换为字符串的格式输入识别模型中,字符串包含坐标点的x轴位置信息、y轴位置信息和状态信息,识别模型通过预处理程序将其转换为以笔画为单位的坐标元组集合T1;
S3、坐标元组集合T1经降噪处理,得到坐标元组集合记作T2;
S4、将T2中的数据经过缩放后得到新的样本轨迹点,再通过直线生成算法将轨迹点绘制到二维矩阵上,并进行二值化,将二值化后的矩阵记为M,M∈m×m,其中m表示矩阵的行数和列数;
S5、将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,记作轨迹点分割组合Combs,并将Combs中一个Comb中的笔迹点组成的整体定义为伪字符Traj;
S6、按照S5中生成的轨迹点分割组合Combs,分别将每个组合内的伪字符Traj3-g投影到二维平面生成二值矩阵,记作M3-g,将矩阵M3-g输入训练好的深度神经网络模型,得到每个伪字符的识别结果一;
S7、根据识别结果一,将生成的每个组合的伪字符的二值矩阵M3-g输入异常识别模型,算出各组合的异常识别结果;
S8、根据识别结果一和异常识别结果决定每个伪字符是否进入机器学习模型和模式匹配模型,如果不进入机器学习模型和模式匹配模型,则直接根据识别将结果一和异常识别结果输出该伪字符的识别结果二,否则先将每个伪字符的笔画进行特征编码,再输入到机器学习模型和模式匹配模型中得到识别结果二;
S9、根据识别结果一、异常识别结果和识别结果二,基于决策模型输出最终识别结果。
2.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:对识别结果一、异常识别结果、识别结果二的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的Comb组合的识别结果作为识别结果三进行输出。
3.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S9步骤中基于决策模型输出最终识别结果的方法包括如下步骤:
S9-1、将T2中的笔画数据进行从左到右、从上到下的离散斜率编码,并输入基于Seq2Seq、BiLSTM或transformer建构的模型中进行识别,得到识别结果三;所述离散斜率编码是将每条笔画按照斜率范围为[-1,1],将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1,根据的斜率和顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S9-2、构建决策模型输出最终的识别结果四,决策模型的步骤为,对识别结果一、异常识别结果、识别结果二和识别结果三的置信度分别加权,计算出Combs中每组伪字符的加权平均置信度,选取置信度最优的模型作为识别结果四进行输出。
4.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S8步骤中将每个伪字符的笔画进行特征编码,再输入到机器学习和模式匹配模型中得到识别将结果二,包括如下步骤:
S8-1、先进行离散斜率编码,将伪字符中的每条笔画按照斜率范围为[-1,1],其原理是将待编码的有向曲线用一组互相首尾相连的等长向量近似,再根据精度的需求,将[-1,1]分成若干个区间,每个区间的斜率用区间的平均斜率代替,记作alphabet1;根据笔迹点构成的笔画的斜率和笔画的时间顺序,用alphabet1的编码进行替换,将转换后的编码将记作V3;
S8-2、然后进行视觉特征编码,将伪字符投影到二维平面的二值矩阵中,通过局部区域的像素级特征进行模板匹配、Hu矩、定向区域的孔洞检测、曲率计算、笔画走势匹配构建高阶特征,然后将特征分别输入机器学习模型和模式匹配模型中,得到识别结果二。
5.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S3步骤中降噪处理采用策略降噪模型,所述策略降噪模型通过笔画长度和笔画相较于其他笔画的空间信息进行去噪,其包括如下步骤:
如果组成笔画的点数低于正常的数量,则认为该点为噪声笔画,进行删除;
计算出笔画的长度,如果笔画长度远远低于正常笔画的长度,则认为是噪声笔画,删除该笔画。
6.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S1步骤中的状态信息包括“起点”、“终点”、“中间点”和“删除线”;
当笔尖产生压感并逐渐大于阈值,笔尖摄像头拍摄照片,此时生成的为笔画的起点,对应的坐标点状态为起点状态;
当笔尖的压感逐渐降低并小于阈值,笔尖摄像头拍摄照片,此时生成的为笔画的终点,对应的坐标点状态为终点状态;
在起点和终点中间,每隔一定时间,拍摄一张照片,生成一个轨迹点,此时的轨迹点对应的坐标点状态为中间点状态;
删除线是约定的当用户需要删除某手写文字时采用的笔迹,本发明的删除线为穿过文字、输入框的上边框和下边框的线条。
7.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-11、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-12、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,……,pm),其中
S5-13、根据笔迹复杂度设置合适的阈值a,a∈N,选择合适的掩码mask,k>a,a∈N,k∈N+,其中,a是一个大于等于零的整数,k是一个大于a的整数;
S5-14、qi=mask·(pi+1,pi+2,……,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1],其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-15、基于S5-11至S5-14步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-16、根据实际情况设置若干组S5-13至S5-15,得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为以笔画为单位的坐标元组的集合;
S5-17、遍历Traji,i∈[1,k],将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i,i∈[1,k],设当前的M2-i为M,重复执行S5-11至S5-16步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为以笔画为单位的坐标元组的集合;
S5-18、将Split2每一个Traj2-y的边界记为bondy,y∈[1,z],对其中的每一个边界的长度进行统计分析,并基于此将过长、过短、中等的边界标记为三个不同的状态值,基于不同的状态值组合,进行合并和拆分的动作,并由此生成不同轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-19、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
8.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S5步骤中将T2中的笔画数据输入分割模型,通过行内切割算法,得到若干个可能存在的单个字符笔画组合,包括如下步骤:
S5-21、根据识别对象的具体类型,选取一个合适的y值h1作为行基线,高度记作Y1,记Y1投影到m×m二维平面上的值为Y1-2,记M矩阵第Y1-2到m列的向量为M1-2;
S5-22、将M1-2对x轴进行投影,得到一个1×m的向量proj=(p1,p2,……,pm),其中
S5-23、根据笔迹复杂度设置合适的阈值a,a∈N,选择合适的掩码mask,k>a,a∈N,k∈N+,a是一个大于等于零的整数,k是一个大于a的整数;
qi=mask·(pi+1,pi+2,……,pi+k)T,i+k∈[0,m-1],i∈[0,m-1),k∈[1,m-1],其中,q是mask与向量组的点乘结果,T是矩阵转置的数学表达符号;
S5-24、基于S5-21到S5-23步骤设置合适的阈值s1,当qi小于等于s1时,则将i+b设为边界点,b≥0;
S5-25、得到Split1=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合,遍历Traji,i∈[1,k],记Traji绘制在二维矩阵并二值化后为M2-i,得到序列Segs=[M2-1,M2-2,……,M2-k];
S5-26、对M2-i进行连通域搜索,计算连通分量,任意两个连通分量,如果它们的欧式距离足够接近,则合并为一个连通分量;执行此步骤直至没有可合并的连通分量;将得到的连通分量记为Cons=[Con1,Con2,……,Conw]并计算Cons的统计学特征;
S5-27、将Conj对应的区域进行投影分析;取适当的长度进行预切分,得到预切分边界bondspres=[bondpreds-1,bondpreds-2,……,bondpreds-n],对bondspreds的边界结合S5-27中投影分析的特征,进行局部最低点分析;如果任意两个bondpreds-j中间出现不止一个局部最小值,那么则增加局部最小值所在的坐标到bondspres,成为新的边界;如果任意两个bondpreds-j的中间区域出现较长一段距离的投影值小于等于一个很小的固定值,则将这段区域的中点的坐标加入bondspres,作为新的边界点;
S5-28、基于S5-27步骤中的边界点,生成Split=[Traj1,Traj2,……,Trajk],k∈N,Traji为笔画为单位的坐标元组的集合;
S5-29、遍历Traji,i∈[1,k],将y=h2设为行基线,记Traji绘制在二维矩阵并二值化后为M2-i;遍历M2-i,i∈[1,k],设当前的M2-i为M,重复执行S5-21到S5-26的步骤,得到Split2=[Traj2-1,Traj2-2,……,Traj2-z],Traj2-y为笔画为单位的坐标元组的集合;
S5-210、通过动态规划算法结合手写文字区域化的特点,生成不同的轨迹点组合,记作Combs1=[Comb1,Comb2,……Combq];
S5-211、进行删除识别,并输出删除识别结果;将带有“删除线”标记的Comb删除,剩下的标记为轨迹点分割组合Combs,Combs=[Comb1,Comb2,……Combq],Combp=[Traj3-1,Traj3-2,……,Traj3-f],p∈[1,q],f∈N,其中每个Traj代表一个伪字符。
9.根据权利要求1所述的一种基于点阵纸笔的手写识别方法,其特征在于,所述S4步骤中将T2中的数据经过缩放后得到新的样本轨迹点的方法为:基于T2,比较长度和宽度的数值,宽度为T2所有笔迹点中X坐标最大值和最小值的差值,width=Xmax-Xmin,长度为T2所有笔迹点中Y坐标的最大值和最小值的差值,height=Ymax-Ymin;
将长度和宽度变换到固定的所需的数值,该数值由所述S5步骤中的分割模型和行内切割算法决定,并在保持长宽比不变的情况下,对长度和宽度乘以相应的缩放倍数得到新的样本轨迹点。
10.一种基于点阵纸笔的手写识别***,采用如权利要求1至9任一项所述的基于点阵纸笔的手写识别方法,其特征在于,包括点阵纸、手写终端和智能终端,或包括点阵纸、手写终端、云服务器和智能终端,或包括点阵纸、手写终端、本地服务器和智能终端;
所述点阵纸上设置有若干输入框,所述输入框上预设具有特定信息的点阵,用于为手写终端生成点提供坐标信息;点阵纸的生成方法为:将纸面上输入框的位置信息和纸张信息进行编码,再基于算法绘制出对应矩阵点,再将带有特定信息的矩阵点打印或印刷在特定大小的纸面上即可;
所述手写终端包括书写模块、笔尖压感感应模块、摄像模块、数据转换模块和数据传输模块,所述书写模块包括用于在点阵纸上进行书写的笔尖,所述摄像模块包括摄像头,所述摄像头设置于笔尖附近,用于拍摄笔尖书写出的笔迹;所述笔尖压感感应模块分别与笔尖和摄像模块相连,用于感应笔尖与点阵纸接触时的压力,当压力大于设定值时,触发摄像模块进行摄像;所述数据转换模块与摄像模块相连,用于基于点阵纸的点阵将拍摄的图像转换成包含坐标点的数组;所述数据传输模块用于将数据转换模块转换的数据以无线形式传输给所述云服务器、本地服务器或智能终端;
当手写终端将数据以无线形式传输给所述云服务器或本地服务器时,云服务器和本地服务器配置有识别模块,所述识别模块用于根据坐标点数组进行识别,并将识别结果以无线形式传输给所述智能终端,智能终端上设置有显示查看模块,用于显示和查看识别结果;
当手写终端将数据以无线形式传输给所述智能终端时,智能终端上配置有识别模块和显示查看模块,所述识别模块用于根据坐标点数组进行识别,所述显示查看模块用于显示和查看识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062341.7A CN117095414A (zh) | 2023-08-22 | 2023-08-22 | 一种基于点阵纸笔的手写识别***及识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062341.7A CN117095414A (zh) | 2023-08-22 | 2023-08-22 | 一种基于点阵纸笔的手写识别***及识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117095414A true CN117095414A (zh) | 2023-11-21 |
Family
ID=88781635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311062341.7A Pending CN117095414A (zh) | 2023-08-22 | 2023-08-22 | 一种基于点阵纸笔的手写识别***及识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117095414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315790A (zh) * | 2023-11-28 | 2023-12-29 | 恒银金融科技股份有限公司 | 手部书写动作的分析方法和智能笔 |
-
2023
- 2023-08-22 CN CN202311062341.7A patent/CN117095414A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315790A (zh) * | 2023-11-28 | 2023-12-29 | 恒银金融科技股份有限公司 | 手部书写动作的分析方法和智能笔 |
CN117315790B (zh) * | 2023-11-28 | 2024-03-19 | 恒银金融科技股份有限公司 | 手部书写动作的分析方法和智能笔 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881310B (zh) | 一种汉字硬笔书写智能指导和评分方法及指导评分*** | |
CN111582241B (zh) | 视频字幕识别方法、装置、设备及存储介质 | |
CN110751137A (zh) | 一种自动求解数学题的方法和*** | |
CN111291629A (zh) | 图像中文本的识别方法、装置、计算机设备及计算机存储介质 | |
CN111047933A (zh) | 一种教辅自动批改*** | |
CN110619326B (zh) | 一种基于扫描的英语试卷作文检测识别***及方法 | |
CN110555403A (zh) | 一种手写字评价方法与*** | |
CN112836542B (zh) | 基于点阵码的练字方法、***及计算机可读介质 | |
CN114730241B (zh) | 触摸式用户界面输入中的手势笔画识别 | |
CN112668541A (zh) | 一种基于点阵笔的智能听写***及其方法 | |
CN114092938B (zh) | 图像的识别处理方法、装置、电子设备及存储介质 | |
CN108664975A (zh) | 一种维吾尔文手写字母识别方法、***及电子设备 | |
CN110969681A (zh) | 一种基于gan网络的手写体书法文字生成方法 | |
CN117095414A (zh) | 一种基于点阵纸笔的手写识别***及识别方法 | |
CN113011412B (zh) | 基于笔顺及ocr文字识别方法、装置、设备及存储介质 | |
CN109147002B (zh) | 一种图像处理方法和装置 | |
CN111738177B (zh) | 一种基于姿态信息提取的学生课堂行为识别方法 | |
CN108062548B (zh) | 一种盲文方自适应定位方法及*** | |
CN114241486A (zh) | 一种提高识别试卷学生信息准确率的方法 | |
CN113989816A (zh) | 一种基于人工智能的手写字体去除方法 | |
CN113033480A (zh) | 基于答题卡的客观题批阅方法、装置、设备及存储介质 | |
CN114445744A (zh) | 一种教育视频自动定位方法、装置及存储介质 | |
CN107886808B (zh) | 一种盲文方辅助标注方法及*** | |
EP4086744A1 (en) | Gesture stroke recognition in touch-based user interface input | |
CN213987536U (zh) | 一种基于点阵笔的智能听写*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |