CN116485661A - 一种手写输入中的实时笔迹规范方法 - Google Patents
一种手写输入中的实时笔迹规范方法 Download PDFInfo
- Publication number
- CN116485661A CN116485661A CN202211695373.6A CN202211695373A CN116485661A CN 116485661 A CN116485661 A CN 116485661A CN 202211695373 A CN202211695373 A CN 202211695373A CN 116485661 A CN116485661 A CN 116485661A
- Authority
- CN
- China
- Prior art keywords
- points
- point
- track
- strokes
- real
- 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
- 238000011425 standardization method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000000694 effects Effects 0.000 claims abstract description 16
- 238000009877 rendering Methods 0.000 claims abstract description 7
- 238000010606 normalization Methods 0.000 claims abstract 7
- 238000001514 detection method Methods 0.000 claims description 48
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 4
- 206010044565 Tremor Diseases 0.000 claims description 3
- 230000003796 beauty Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- 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/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- 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/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
Abstract
一种手写输入中的实时笔迹规范方法。由于单点包括的信息很少,不知道未来轨迹点的走势,基于单点去判断基础笔画、拐点、噪声点和结束点都不可靠,因此在美化效果上不如离线美化。本发明在线美化进行实时渲染的过程中,通过序列轨迹文本识别,引进了离线笔迹规范美化算法,最后将离线算法对拐点、基础笔画、结束点的预测结果作为先验提供给在线算法。本发明用于手写输入中的实时笔迹规范。
Description
技术领域:
本发明涉及一种手写输入中的实时笔迹规范方法。
背景技术:
手写输入是一种很常用的文字输入方法,对拼音不熟悉的中老人来说,手写输入是其通过手机编写文字的主要手段,由于输入时手抖或不规范书写,导致手写输入的文字非常缭乱,这会大大降低文字被正确识别的精度,写一个汉字往往需要写好几次才能被正确识别,大大降低了手写输入的效率。笔迹规范美化技术,是人在手写板或输入法中手写汉字时,对用户写的字进行规范美化,让用户手写的字既能规范工整,容易识别,还能产生书法的美感,增加用户的手写欲望。字迹规范工整要求用户写出来的文字噪声点少,笔画正直;书法的美感一般要求起笔的时候有点顿,收笔的时候有笔锋,以及基础笔画连接处(拐点)有特殊的美化效果,图1对比了规范美化前后的效果;
当前笔迹规范美化技术主要包括离线笔迹规范美化和在线笔迹规范美化,离线笔迹规范美化一次能拿到用户手写的所有轨迹点,其根据所有轨迹点可以准确判断噪声点、拐点、笔锋等,也能根据所有轨迹点对当前字体进行建模,然后加上不同的美化效果,其原理如图2所示;
和离线笔迹规范美化不同的是,在线笔迹规范美化每次只能拿到当前用户手写的单个轨迹点,然后根据当前轨迹点和之前轨迹点,计算用户手写速度,以及在两点之间进行贝塞尔曲线平滑插值,由速度控制插值点的大小,然后根据插值点大小进行实时笔刷贴图,为了模式真实手写的体验,要求用户写的越快,出来的笔画越细。
对于两种笔迹规范美化算法,离线笔迹规范美化算法获得了用户的全部轨迹点信息,对拐点、噪声点、结束点的判定检测更精准,因而美化效果更好,但因为其速度慢,非实时,必须等待用户写完一个字时才能整体美化,会产生字体的瞬间突变,无法让用户获得较好的体验,因此在实际生活中用的很少。而在线笔迹规范美化技术,算法速度快,能满足实时渲染需求,但是由于单点包括的信息很少,不知道未来轨迹点的走势,基于单点去判断基础笔画、拐点、噪声点和结束点都不可靠,因此在美化效果上不如离线美化。
发明内容:
本发明的目的是提供一种手写输入中的实时笔迹规范方法及监测方法。
上述的目的通过以下的技术方案实现:
一种手写输入中的实时笔迹规范方法,在线美化进行实时渲染的过程中,通过序列轨迹文本识别,引进了离线笔迹规范美化算法,最后将离线算法对拐点、基础笔画、结束点的预测结果作为先验提供给在线算法,该方法包括如下步骤:
(1)输入为用户当前手写触碰屏幕时留下的轨迹点,由实时笔画分类模块,先判定当前基础笔画的类别;
(2)当检测到用户的基础笔画发现变化时,将此刻已接收到的当前字的所有轨迹点,和用户前面已输入的单字文本信息一起送入文字识别模型中;
(3)文本识别模型会返回当前识别结果和识别置信度,若置信度达到0.95以上,则认为文字识别成功,否则继续等待下一次基础笔画变化出现,然后由文字识别模型识别,直到文字识别成功为止;
(4)文字识别成功后,将识别出的文字送入用户历史识别文本里,同时由已有的轨迹点和文本内容,映射出用户还没有写的未来轨迹点,在映射时,如果该用户在数据库里留下了该单字的轨迹信息,则利用该轨迹信息,和用户当前已写的轨迹点对齐,从而得到用户未来要书写的轨迹点,否则,计算已写轨迹点的平均速度,按照文本接下来的走势和比例,给出用户未来要书写的轨迹点;
(5)待得到用户所有轨迹点后,通过离线笔迹规范美化算法的拐点、基础笔画检测算法,给出拐点、笔画切换和结束点的坐标位置和笔画类别;
(6)将预测的关键点坐标信息和对应的笔画类别信息,送给实时拐点、实时去抖、实时结束点判定、实时笔画分类等算法作先验信息;
(7)对实时检测出来的关键点增加不同的美化方法,包括去抖规范美化,拐点处特殊美化和笔锋等,最终的规范美化结果渲染在屏幕上显示给用户。
所述的一种手写输入中的实时笔迹规范方法,所述的步骤(6)中实时笔画分类方法为将单个汉字可以拆分成横、竖、撇、捺、勾、提等六个基础笔画,在实时笔画分类模块中,由当前轨迹点和其前一个点组成的线,计算其与主方向的角度来判断基础笔画的类别;
基础笔画的走势未必是不变的,比如撇捺写着写着可能会变成横,竖慢慢可能会变成撇或捺,甚至用户从一开始就是带一定角度进行书写,在进行笔画分类时,应结合当前角度和前面的角度信息一起判断笔画,一旦完全确定当前笔画,后续将不再受主方向角度的影响,最后,如果离线笔迹规范美化模型已经判断了当前文字的内容和当前轨迹的笔画,能大大提升笔画判定的精确性。
所述的一种手写输入中的实时笔迹规范方法,所述的步骤(6)中实时笔画分类先验去除噪声点,用户在实时书写过程中,不可避免的会产生一些噪声点,这些噪声点不仅会影响字体的美观,还会对计算点速度、基础笔画分类产生负面影响,对于离线模型,一次可以拿到所有轨迹点,可直接对轨迹点进行直线拟合,然后去除离直线距离大于某一阈值的点;
而在线模型接下来轨迹点是未知的,当有异常点发生时,可能是拐点,也可能是噪声点,在没有离线模型指导时,记录当前点为P(t),其前面三个点为P(t-1)、P(t-2)、P(t-3),由这个三个点进行直线拟合得到直线L1,由P(t)和P(t-1)得到直线L2,如果L1和L2之间的夹角大于30度,则将P(t)标记为可疑噪声点,此时延缓渲染当前点,待下一个点P(t+1)到来之后,由P(t+1)和P(t-1)得到直线L3,如果L3与L1之间的夹角小于10度,且L2与L1之间的夹角大于30度,则点P(t)为噪声点;
如果在实时去噪模块中引入离线笔迹规范美化模型的检测结果,离线模型知道了当前点的基础笔画,也预知其未来点的笔画信息,如果其未来点和当前点是同一个笔画,则当前点和其前面点偏差较大时,可直接将其判定为噪声点。
所述的一种手写输入中的实时笔迹规范方法,所述的步骤(6)中实时拐点检测为对于实时拐点检测,当发生基础笔画变化时,会发生两种情况:(1)笔画之间不连续,为换笔;(2)笔画之间连续,两种基础笔画之间会有一个拐点;为了保证美化的效果,需要对拐点处进行特殊的美化;当基础笔画发生变化时,取当前点和其前面的5个点共6点,用曲线y=ax2+bx+c拟合这6个点,得到a、b、c的值后,对函数求导并得到极值点P0(x0,y0),从6个点中选择和P0最近的点P1,既为当前点的拐点;
此拐点检测算法是在理想情况下能得到预期的结果,但在实际应用中会出现局部多极值和无极值的情况,也可能出现拟合的曲线和实际点相差很大的情况,这都会大大降低拐点检测的精度,此外笔画的误分类,噪声的干扰也会对拐点检测产生很大干扰;离线算法结果的引入,通过全部轨迹点信息获得了精准的拐点位置,既能引导在线模型快速定位到拐点,也能帮助在线算法排除误检的拐点,大大提升了拐点检测的精度。
所述的一种手写输入中的实时笔迹规范方法,所述的步骤(2)中文字识别方法为当笔画发生变化时,会用文本识别模块识别当前正在写的文本,本发明为轨迹文本识别,在特征编码阶段加入了上下文文本信息,数据预处理对M个轨迹坐标点[(x0,y0),(x1,y1),…(xm,ym)]进行处理,按照x,y坐标进行归一化,,/>,xmin,ymin表示m个点中x,y的最小值,同理xmax,ymax表示m个点中x,y的最大值,将M个坐标点转化为8*1*M维的特征向量X,第i个点的特征可表示为/>, 其中,最后的sflag1和sflag2表示当前状态是正在手写,还是没有写,正在手写时sflag1为1,sflag2为0,手抬起时sflag1为0,sflag2为1;处理后的特征经常resnet18进行了4倍下采样,此处将resnet18中3*3的卷积改为3*1的卷积,得到特征为256*1*[M/4],对于下一路的文本编码模块,将N个字编码为256*N的向量,经过FC转换为256*1*N的特征图,与上面的特征图concat,得到256*1*L的特征向量,此处L=N+[M/4],然后经过FC转换为L*D的序列,此处D为256,最后经过attentiondecoder最终得到识别结果,当识别置信度大于0.95时,则识别出当前结果,否则为识别失败。
所述的一种手写输入中的实时笔迹规范方法,所述的步骤(4)中预测未知轨迹方法为得到文本识别结果后,需要根据文本识别结果和用户已写的轨迹点预测未知的轨迹点,此处采用两种策略,第一种为用户有历史手写记录,且可以在历史记录中找到用户以前写当前文字的轨迹,在这种情况下,拿到用户历史轨迹后,先对该文本进行笔画拆解,笔画拆解完成后,将历史轨迹坐标信息和笔画对应,同时对用户已写的轨迹点进行笔画拆解,然后将已写的轨迹点坐标和笔画对应,此时将同一笔画的轨迹点进行对齐,比如历史数据中开始一横的轨迹点为[(x0,y0),(x1,y1),(x2,y2),…,(xk,yk)],而当前第一横的轨迹点为[(a0,b0),(a1,b1),…,(an,bn)],则缩放因子和偏移因子计算公式为:
当有多个完整笔画需要对齐时,每一个笔画都求一次缩放因子和偏移因子,再取平均;得到缩放因子和比例因子后的,将历史数据中的所有轨迹点,均除以k并加上dx和dy,就得到了所有点的轨迹点数据;对于第二种情况,当前用户历史轨迹信息拿不到时,依然根据当前的文本内容进行笔画拆解,用已知完整笔画的轨迹点推算未知笔画的轨迹点,首先通过线上海量数据统计基础笔画之间的长度比例f,然后求已写轨迹点的平均速度,如果当前完整笔画为横,下一笔为竖时,先获取横竖之间的长度比例k1,再求已写横的平均速度v和已写横的总长度L,那么接下来竖的长度为k1*L,竖的点分布间距为k1*L/v,按照间距给出接下来竖的轨迹点坐标,同理,其他笔画按照此方法依然可行。
所述的一种手写输入中的实时笔迹规范方法,所述的离线算法检测方法为预测出未知的轨迹点后,离线算法获得了当前文字的所有轨迹点,按照文本内容进行笔画拆解,将笔画和轨迹点坐标对应起来,这样可以为在线算法中的实时笔画分类和实时去噪模块提供先验信息,对于拐点的检测,将所有相同笔画内的轨迹点拟合成一条直线,然后求所有直线之间的交点,然后通过笔画顺序约束,去除交点中不符合笔画顺序的点,最后从笔画切换附近的3个点中选择距离对应交点最近的点,这个点就是离线算法检测的拐点,将其作为先验送给在线拐点检测算法,可大大提升拐点检测的精度。
有益效果:
1.本发明将在线笔迹规范美化和离线笔迹规范美化进行有效结合,在线美化进行实时渲染的过程中,通过序列轨迹文本识别,引进了离线笔迹规范美化算法,最后将离线算法对拐点、基础笔画、结束点的预测结果作为先验提供给在线算法,大大提升了在线笔迹规范美化对关键点检测和抗噪声的精度,既保证了实时性,也提升了美化效果。
2.本发明通过引入离线笔迹规范美化算法,利用其高精度的关键点检测结果指导在线检测算法,大大提升了实时拐点检测、实时笔画分类、实时噪点检测的精度,从而提升了规范美化效果,大大提升了手写输入的效率。
3.本发明通过在线规范美化技术和离线规范美化技术,将用户本来写的很潦草很乱的文字进行实时规范美化,文字只需写一次就能被手机平板识别,大大提高了用户手写输入的效率,此外额外的美化让用户手写的文字符合他们手写的预期,增加了用户手写输入的意愿和自信。
附图说明:
附图1是规范美化前后效果对比图;
附图2是离线笔迹规范美化原理图;
附图3是在线离线笔迹规范美化算法流程图;
附图4是实时笔画判断算法示意图;
附图5是离线模型的去噪示意图;
附图6是拐点检测示意图;
附图7是识别算法结构示意图;
附图8是本发明的方法规范美化后的效果图。
具体实施方式:
实施例1:
本方案将在线笔迹规范美化和离线笔迹规范美化进行有效结合,在线美化进行实时渲染的过程中,通过序列轨迹文本识别,引进了离线笔迹规范美化算法,最后将离线算法对拐点、基础笔画、结束点的预测结果作为先验提供给在线算法,大大提升了在线笔迹规范美化对关键点检测和抗噪声的精度,既保证了实时性,也提升了美化效果。本方案的算法流程图如图3所示;
本发明的具体步骤如下:(1)输入为用户当前手写触碰屏幕时留下的轨迹点,由实时笔画分类模块,先判定当前基础笔画的类别。(2)当检测到用户的基础笔画发现变化时,将此刻已接收到的当前字的所有轨迹点,和用户前面已输入的单字文本信息一起送入文字识别模型中。(3)文本识别模型会返回当前识别结果和识别置信度,若置信度达到0.95以上,则认为文字识别成功,否则继续等待下一次基础笔画变化出现,然后由文字识别模型识别,直到文字识别成功为止。(4)文字识别成功后,将识别出的文字送入用户历史识别文本里,同时由已有的轨迹点和文本内容,映射出用户还没有写的未来轨迹点,在映射时,如果该用户在数据库里留下了该单字的轨迹信息,则利用该轨迹信息,和用户当前已写的轨迹点对齐,从而得到用户未来要书写的轨迹点,否则,计算已写轨迹点的平均速度,按照文本接下来的走势和比例,给出用户未来要书写的轨迹点。(5)待得到用户所有轨迹点后,通过离线笔迹规范美化算法的拐点、基础笔画检测算法,给出拐点、笔画切换和结束点的坐标位置和笔画类别。(6)将预测的关键点坐标信息和对应的笔画类别信息,送给实时拐点、实时去抖、实时结束点判定、实时笔画分类等算法作先验信息。(7)对实时检测出来的关键点增加不同的美化方法,包括去抖规范美化,拐点处特殊美化和笔锋等,最终的规范美化结果渲染在屏幕上显示给用户。
本发明主要包括实时笔画分类、实时去噪、实时拐点检测、文本识别、预测未来轨迹点和离线关键点检测等6大模块组成,下面将具体介绍这6个模块。
实时笔画分类模块:
将单个汉字可以拆分成横、竖、撇、捺、勾、提等六个基础笔画,在实时笔画分类模块中,由当前轨迹点和其前一个点组成的线,计算其与主方向的角度来判断基础笔画的类别,如图4所示。
基础笔画的走势未必是不变的,比如撇捺写着写着可能会变成横,竖慢慢可能会变成撇或捺,甚至用户从一开始就是带一定角度进行书写。在进行笔画分类时,应结合当前角度和前面的角度信息一起判断笔画,一旦完全确定当前笔画,后续将不再受主方向角度的影响。最后,如果离线笔迹规范美化模型已经判断了当前文字的内容和当前轨迹的笔画,能大大提升笔画判定的精确性。
实时去噪模块:
用户在实时书写过程中,不可避免的会产生一些噪声点,这些噪声点不仅会影响字体的美观,还会对计算点速度、基础笔画分类产生负面影响,对于离线模型,一次可以拿到所有轨迹点,可直接对轨迹点进行直线拟合,然后去除离直线距离大于某一阈值的点,如图5所示。
而在线模型接下来轨迹点是未知的,当有异常点发生时,可能是拐点,也可能是噪声点,本发明在没有离线模型指导时,记录当前点为P(t),其前面三个点为P(t-1)、P(t-2)、P(t-3),由这个三个点进行直线拟合得到直线L1,由P(t)和P(t-1)得到直线L2,如果L1和L2之间的夹角大于30度,则将P(t)标记为可疑噪声点,此时延缓渲染当前点,待下一个点P(t+1)到来之后,由P(t+1)和P(t-1)得到直线L3,如果L3与L1之间的夹角小于10度,且L2与L1之间的夹角大于30度,则点P(t)为噪声点,该模块对偶尔产生的一个噪声点的去除有较理想的效果,对多个连续噪声点,则判定效果不佳。
如果在实时去噪模块中引入离线笔迹规范美化模型的检测结果,离线模型知道了当前点的基础笔画,也预知其未来点的笔画信息,如果其未来点和当前点是同一个笔画,则当前点和其前面点偏差较大时,可直接将其判定为噪声点,甚至用户手写的笔画不在一条线上时,也能通过本模块进行修正。
实时拐点检测模块:
对于实时拐点检测,当发生基础笔画变化时,会发生两种情况:(1)笔画之间不连续,为换笔。(2)笔画之间连续,两种基础笔画之间会有一个拐点。为了保证美化的效果,需要对拐点处进行特殊的美化。当基础笔画发生变化时,取当前点和其前面的5个点共6点,用曲线y=ax2+bx+c拟合这6个点,得到a、b、c的值后,对函数求导并得到极值点P0(x0,y0),从6个点中选择和P0最近的点P1,既为当前点的拐点,如图6所示。
此拐点检测算法是在理想情况下能得到预期的结果,但在实际应用中会出现局部多极值和无极值的情况,也可能出现拟合的曲线和实际点相差很大的情况,这都会大大降低拐点检测的精度,此外笔画的误分类,噪声的干扰也会对拐点检测产生很大干扰。离线算法结果的引入,通过全部轨迹点信息获得了精准的拐点位置,既能引导在线模型快速定位到拐点,也能帮助在线算法排除误检的拐点,大大提升了拐点检测的精度。
文本识别模块:
当笔画发生变化时,会用文本识别模块识别当前正在写的文本,本发明为轨迹文本识别,在特征编码阶段加入了上下文文本信息,其网络结构图7所示。
数据预处理对M个轨迹坐标点[(x0,y0),(x1,y1),…(xm,ym)]进行处理,按照x,y坐标进行归一化,,/>,xmin,ymin表示m个点中x,y的最小值,同理xmax,ymax表示m个点中x,y的最大值,将M个坐标点转化为8*1*M维的特征向量X,第i个点的特征可表示为/>, 其中,最后的sflag1和sflag2表示当前状态是正在手写,还是没有写,正在手写时sflag1为1,sflag2为0,手抬起时sflag1为0,sflag2为1。处理后的特征经常resnet18进行了4倍下采样,此处将resnet18中3*3的卷积改为3*1的卷积,得到特征为256*1*[M/4],对于下一路的文本编码模块,将N个字编码为256*N的向量,经过FC转换为256*1*N的特征图,与上面的特征图concat,得到256*1*L的特征向量,此处L=N+[M/4],然后经过FC转换为L*D的序列,此处D为256,最后经过attentiondecoder最终得到识别结果。当识别置信度大于0.95时,则识别出当前结果,否则为识别失败。
预测未知轨迹模块:
得到文本识别结果后,需要根据文本识别结果和用户已写的轨迹点预测未知的轨迹点,此处采用两种策略,第一种为用户有历史手写记录,且可以在历史记录中找到用户以前写当前文字的轨迹,在这种情况下,拿到用户历史轨迹后,先对该文本进行笔画拆解,笔画拆解完成后,将历史轨迹坐标信息和笔画对应,同时对用户已写的轨迹点进行笔画拆解,然后将已写的轨迹点坐标和笔画对应,此时将同一笔画的轨迹点进行对齐,比如历史数据中开始一横的轨迹点为[(x0,y0),(x1,y1),(x2,y2),…,(xk,yk)],而当前第一横的轨迹点为[(a0,b0),(a1,b1),…,(an,bn)],则缩放因子和偏移因子计算公式为:
当有多个完整笔画需要对齐时,每一个笔画都求一次缩放因子和偏移因子,再取平均。得到缩放因子和比例因子后的,将历史数据中的所有轨迹点,均除以k并加上dx和dy,就得到了所有点的轨迹点数据。对于第二种情况,当前用户历史轨迹信息拿不到时,依然根据当前的文本内容进行笔画拆解,用已知完整笔画的轨迹点推算未知笔画的轨迹点,首先通过线上海量数据统计基础笔画之间的长度比例f,然后求已写轨迹点的平均速度,如果当前完整笔画为横,下一笔为竖时,先获取横竖之间的长度比例k1,再求已写横的平均速度v和已写横的总长度L,那么接下来竖的长度为k1*L,竖的点分布间距为k1*L/v,按照间距给出接下来竖的轨迹点坐标,同理,其他笔画按照此方法依然可行。
离线算法检测模块:
预测出未知的轨迹点后,离线算法获得了当前文字的所有轨迹点,按照文本内容进行笔画拆解,将笔画和轨迹点坐标对应起来,这样可以为在线算法中的实时笔画分类和实时去噪模块提供先验信息,对于拐点的检测,将所有相同笔画内的轨迹点拟合成一条直线,然后求所有直线之间的交点,然后通过笔画顺序约束,去除交点中不符合笔画顺序的点,最后从笔画切换附近的3个点中选择距离对应交点最近的点,这个点就是离线算法检测的拐点,将其作为先验送给在线拐点检测算法,可大大提升拐点检测的精度。算法效果如图8所示。
Claims (7)
1.一种手写输入中的实时笔迹规范方法,其特征是:在线美化进行实时渲染的过程中,通过序列轨迹文本识别,引进了离线笔迹规范美化算法,最后将离线算法对拐点、基础笔画、结束点的预测结果作为先验提供给在线算法,该方法包括如下步骤:
(1)输入为用户当前手写触碰屏幕时留下的轨迹点,由实时笔画分类模块,先判定当前基础笔画的类别;
(2)当检测到用户的基础笔画发现变化时,将此刻已接收到的当前字的所有轨迹点,和用户前面已输入的单字文本信息一起送入文字识别模型中;
(3)文本识别模型会返回当前识别结果和识别置信度,若置信度达到0.95以上,则认为文字识别成功,否则继续等待下一次基础笔画变化出现,然后由文字识别模型识别,直到文字识别成功为止;
(4)文字识别成功后,将识别出的文字送入用户历史识别文本里,同时由已有的轨迹点和文本内容,映射出用户还没有写的未来轨迹点,在映射时,如果该用户在数据库里留下了该单字的轨迹信息,则利用该轨迹信息,和用户当前已写的轨迹点对齐,从而得到用户未来要书写的轨迹点,否则,计算已写轨迹点的平均速度,按照文本接下来的走势和比例,给出用户未来要书写的轨迹点;
(5)待得到用户所有轨迹点后,通过离线笔迹规范美化算法的拐点、基础笔画检测算法,给出拐点、笔画切换和结束点的坐标位置和笔画类别;
(6)将预测的关键点坐标信息和对应的笔画类别信息,送给实时拐点、实时去抖、实时结束点判定、实时笔画分类等算法作先验信息;
(7)对实时检测出来的关键点增加不同的美化方法,包括去抖规范美化,拐点处特殊美化和笔锋等,最终的规范美化结果渲染在屏幕上显示给用户。
2.根据权利要求1所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的步骤(6)中实时笔画分类方法为将单个汉字可以拆分成横、竖、撇、捺、勾、提等六个基础笔画,在实时笔画分类模块中,由当前轨迹点和其前一个点组成的线,计算其与主方向的角度来判断基础笔画的类别;
基础笔画的走势未必是不变的,比如撇捺写着写着可能会变成横,竖慢慢可能会变成撇或捺,甚至用户从一开始就是带一定角度进行书写,在进行笔画分类时,应结合当前角度和前面的角度信息一起判断笔画,一旦完全确定当前笔画,后续将不再受主方向角度的影响,最后,如果离线笔迹规范美化模型已经判断了当前文字的内容和当前轨迹的笔画,能大大提升笔画判定的精确性。
3.根据权利要求2所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的步骤(6)中实时笔画分类先验去除噪声点,用户在实时书写过程中,不可避免的会产生一些噪声点,这些噪声点不仅会影响字体的美观,还会对计算点速度、基础笔画分类产生负面影响,对于离线模型,一次可以拿到所有轨迹点,可直接对轨迹点进行直线拟合,然后去除离直线距离大于某一阈值的点;
而在线模型接下来轨迹点是未知的,当有异常点发生时,可能是拐点,也可能是噪声点,在没有离线模型指导时,记录当前点为P(t),其前面三个点为P(t-1)、P(t-2)、P(t-3),由这个三个点进行直线拟合得到直线L1,由P(t)和P(t-1)得到直线L2,如果L1和L2之间的夹角大于30度,则将P(t)标记为可疑噪声点,此时延缓渲染当前点,待下一个点P(t+1)到来之后,由P(t+1)和P(t-1)得到直线L3,如果L3与L1之间的夹角小于10度,且L2与L1之间的夹角大于30度,则点P(t)为噪声点;
如果在实时去噪模块中引入离线笔迹规范美化模型的检测结果,离线模型知道了当前点的基础笔画,也预知其未来点的笔画信息,如果其未来点和当前点是同一个笔画,则当前点和其前面点偏差较大时,可直接将其判定为噪声点。
4.根据权利要求3所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的步骤(6)中实时拐点检测为对于实时拐点检测,当发生基础笔画变化时,会发生两种情况:(1)笔画之间不连续,为换笔;(2)笔画之间连续,两种基础笔画之间会有一个拐点;为了保证美化的效果,需要对拐点处进行特殊的美化;当基础笔画发生变化时,取当前点和其前面的5个点共6点,用曲线y=ax2+bx+c拟合这6个点,得到a、b、c的值后,对函数求导并得到极值点P0(x0,y0),从6个点中选择和P0最近的点P1,既为当前点的拐点;
此拐点检测算法是在理想情况下能得到预期的结果,但在实际应用中会出现局部多极值和无极值的情况,也可能出现拟合的曲线和实际点相差很大的情况,这都会大大降低拐点检测的精度,此外笔画的误分类,噪声的干扰也会对拐点检测产生很大干扰;离线算法结果的引入,通过全部轨迹点信息获得了精准的拐点位置,既能引导在线模型快速定位到拐点,也能帮助在线算法排除误检的拐点,大大提升了拐点检测的精度。
5.根据权利要求4所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的步骤(2)中文字识别方法为当笔画发生变化时,会用文本识别模块识别当前正在写的文本,本发明为轨迹文本识别,在特征编码阶段加入了上下文文本信息,数据预处理对M个轨迹坐标点[(x0,y0),(x1,y1),…(xm,ym)]进行处理,按照x,y坐标进行归一化,xmin,ymin表示m个点中x,y的最小值,同理xmax,ymax表示m个点中x,y的最大值,将M个坐标点转化为8*1*M维的特征向量X,第i个点的特征可表示为Xi=[xi,yi,Δxi,Δyi,Δ2xi,Δ2yi,sflag1,sflag2],其中Δxi=xi+1-xi,Δyi=yi+1-yi,Δ2xi=xi+2-xi,Δ2yi=yi+2-yi,最后的sflag1和sflag2表示当前状态是正在手写,还是没有写,正在手写时sflag1为1,sflag2为0,手抬起时sflag1为0,sflag2为1;处理后的特征经常resnet18进行了4倍下采样,此处将resnet18中3*3的卷积改为3*1的卷积,得到特征为256*1*[M/4],对于下一路的文本编码模块,将N个字编码为256*N的向量,经过FC转换为256*1*N的特征图,与上面的特征图concat,得到256*1*L的特征向量,此处L=N+[M/4],然后经过FC转换为L*D的序列,此处D为256,最后经过attention decoder最终得到识别结果,当识别置信度大于0.95时,则识别出当前结果,否则为识别失败。
6.根据权利要求5所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的步骤(4)中预测未知轨迹方法为得到文本识别结果后,需要根据文本识别结果和用户已写的轨迹点预测未知的轨迹点,此处采用两种策略,第一种为用户有历史手写记录,且可以在历史记录中找到用户以前写当前文字的轨迹,在这种情况下,拿到用户历史轨迹后,先对该文本进行笔画拆解,笔画拆解完成后,将历史轨迹坐标信息和笔画对应,同时对用户已写的轨迹点进行笔画拆解,然后将已写的轨迹点坐标和笔画对应,此时将同一笔画的轨迹点进行对齐,比如历史数据中开始一横的轨迹点为[(x0,y0),(x1,y1),(x2,y2),…,(xk,yk)],而当前第一横的轨迹点为[(a0,b0),(a1,b1),…,(an,bn)],则缩放因子和偏移因子计算公式为:
当有多个完整笔画需要对齐时,每一个笔画都求一次缩放因子和偏移因子,再取平均;得到缩放因子和比例因子后的,将历史数据中的所有轨迹点,均除以k并加上dx和dy,就得到了所有点的轨迹点数据;对于第二种情况,当前用户历史轨迹信息拿不到时,依然根据当前的文本内容进行笔画拆解,用已知完整笔画的轨迹点推算未知笔画的轨迹点,首先通过线上海量数据统计基础笔画之间的长度比例f,然后求已写轨迹点的平均速度,如果当前完整笔画为横,下一笔为竖时,先获取横竖之间的长度比例k1,再求已写横的平均速度v和已写横的总长度L,那么接下来竖的长度为k1*L,竖的点分布间距为k1*L/v,按照间距给出接下来竖的轨迹点坐标,同理,其他笔画按照此方法依然可行。
7.根据权利要求6所述的一种手写输入中的实时笔迹规范方法,其特征是:所述的离线算法检测方法为预测出未知的轨迹点后,离线算法获得了当前文字的所有轨迹点,按照文本内容进行笔画拆解,将笔画和轨迹点坐标对应起来,这样可以为在线算法中的实时笔画分类和实时去噪模块提供先验信息,对于拐点的检测,将所有相同笔画内的轨迹点拟合成一条直线,然后求所有直线之间的交点,然后通过笔画顺序约束,去除交点中不符合笔画顺序的点,最后从笔画切换附近的3个点中选择距离对应交点最近的点,这个点就是离线算法检测的拐点,将其作为先验送给在线拐点检测算法,可大大提升拐点检测的精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695373.6A CN116485661A (zh) | 2022-12-28 | 2022-12-28 | 一种手写输入中的实时笔迹规范方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695373.6A CN116485661A (zh) | 2022-12-28 | 2022-12-28 | 一种手写输入中的实时笔迹规范方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116485661A true CN116485661A (zh) | 2023-07-25 |
Family
ID=87222016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211695373.6A Pending CN116485661A (zh) | 2022-12-28 | 2022-12-28 | 一种手写输入中的实时笔迹规范方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116485661A (zh) |
-
2022
- 2022-12-28 CN CN202211695373.6A patent/CN116485661A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4580554B2 (ja) | 文字認識 | |
KR100297481B1 (ko) | 주로직선세그먼트로이루어진문자의필적의선행처리방법및장치 | |
CN110569830A (zh) | 多语言文本识别方法、装置、计算机设备及存储介质 | |
TWI435276B (zh) | 用以辨識手寫符號之方法及設備 | |
CN111339990A (zh) | 一种基于人脸特征动态更新的人脸识别系统和方法 | |
WO1995034048A1 (en) | Method and apparatus for automated text recognition | |
CN110942004A (zh) | 基于神经网络模型的手写识别方法、装置及电子设备 | |
US9977976B2 (en) | Path score calculating method for intelligent character recognition | |
CN110598686A (zh) | 发票的识别方法、系统、电子设备和介质 | |
Dong et al. | Adaptive cascade deep convolutional neural networks for face alignment | |
US11823474B2 (en) | Handwritten text recognition method, apparatus and system, handwritten text search method and system, and computer-readable storage medium | |
US5812696A (en) | Character recognizing method and apparatus | |
WO2021196013A1 (zh) | 单词识别方法、设备及存储介质 | |
CN114792443A (zh) | 一种基于图像识别的智能设备手势识别控制方法 | |
Naveena et al. | Handwritten character segmentation for Kannada scripts | |
CN117382426B (zh) | 一种车载受电弓自适应控制方法及系统 | |
CN116485661A (zh) | 一种手写输入中的实时笔迹规范方法 | |
Bahashwan et al. | Efficient segmentation of arabic handwritten characters using structural features. | |
CN115620314A (zh) | 文本识别方法、答案文本的验证方法、装置、设备及介质 | |
CN115100748A (zh) | 一种基于签名笔画序列的单字提取方法及系统 | |
Tian et al. | Ancient Chinese character image segmentation based on interval-valued hesitant fuzzy set | |
Naz et al. | Challenges in baseline detection of cursive script languages | |
JP3046472B2 (ja) | 手書き図形認識装置 | |
CN111310525A (zh) | 一种数学公式符号识别方法 | |
Inuganti et al. | Recognition of online handwritten Telugu stroke by detected dominant points using curvature estimation |
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 |