本发明涉及手写输入法技术领域,具体涉及一种基于dtw算法的手写输入法。
背景技术:
手写输入法是一种应用广泛的输入法,无需使用者掌握额外的文字编码方式,尤其适用于对于年龄较大的使用者进行文字输入。
现有的手写输入法通常是将在触屏或触控板上的触控轨迹与字形库进行匹配,并将轨迹较接近的文字以表格或者队列的形式显示,供使用者选择。但目前手写输入法识别还存在正确率普遍偏低的问题。dtw(dynamictimewarping动态时间归整)算法是基于动态规划的思想,本质是一种衡量两个长度不同的时间序列的相似度的方法,目前已普遍应用于孤立词语音识别,计算机视觉中的行为识别、信息检索中。
技术实现要素:
本发明的目的在于提供一种手写输入法,基于dtw算法进行字形匹配,改善了手写输入法识别正确率低的问题。
本发明提供了一种基于dtw算法的手写输入法,包括以下步骤:
s1、在手写界面上进行笔画输入,采集笔画轨迹,按字形库中字体大小调整笔画轨迹区域大小;本实施方式中,手写界面为智能手机触屏;
s2、计算调整后的笔画轨迹与字形库中各文字的dtw值;
s3、按dtw值从小到大的顺序排列并显示字形库中的文字,供使用者选择。
进一步地,所述步骤s1包括以下步骤:
s11、在手写界面上进行笔画输入,采集笔画轨迹;
s12、确定笔画轨迹区域,所述笔画轨迹区域为以所述笔画轨迹作为一个字体时的字体所在区域;
s13、将笔画轨迹区域大小调整至与字形库中的字体大小相等,获得调整笔画轨迹区域;
s14、将调整笔画轨迹区域与字形库中各文字所在区域重叠。
进一步地,所述手写界面为触屏或触控板。
本发明在手写输入过程中,基于dtw算法值能够直观地反应出手写笔画轨迹和字形库中字体的相似度,按dtw值从小到大的顺序显示文字供使用者选择能够有效提高手写输入法字体匹配的准确性;此外通过调整笔画轨迹区域大小,能够有效减少因不同使用者书写习惯造成的误差,从而进一步提高了文字匹配的准确性。
附图说明
图1是本发明第一实施方式中手写输入法的步骤流程图。
图2是本发明一具体实施方式中调整笔画轨迹的流程图。
图3是本发明一具体实施方式中n×m矩阵网格的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。
参考图1,本发明第一实施方式提供一种手写输入法,包括以下步骤:
s1、在手写界面上进行笔画输入,采集笔画轨迹,按字形库中字体大小调整笔画轨迹区域大小;本实施方式中,手写界面为智能手机触屏;
s2、计算调整后的笔画轨迹与字形库中各文字的dtw值;
s3、按dtw值从小到大的顺序排列并显示字形库中的文字,供使用者选择。
需要说明的是,本发明中,对dtw值的计算可以是在手写文字输入每个笔画完成后分别进行,手写文字笔画轨迹采集越多,对文字匹配的准确性越高。
在手写输入的过程中,由于文字输入通常包括较多笔画,各笔画的长度在大多数情况下并不是完全对齐的。在比较手写笔画输入和字形库中字体相似度之前,通常需要将手写笔画输入和/或字形库中字体在同一轴线上扭曲,以达到更好的对齐,而dtw算法是实现扭曲的一种有效方法;通过dtw值能够直观地反应出手写笔画轨迹和字形库中字体的相似度,按dtw值从小到大的顺序显示文字供使用者选择能够有效提高手写输入法字体匹配的准确性。
进一步地,步骤s1包括以下步骤:
s11、在手写界面上进行笔画输入,采集笔画轨迹;
s12、确定笔画轨迹区域,所述笔画轨迹区域为以所述笔画轨迹作为一个字体时的字体所在区域;
s13、将笔画轨迹区域大小调整至与字形库中的字体大小相等,获得调整笔画轨迹区域;
s14、将调整笔画轨迹区域与字形库中各文字所在区域重叠。
本方案根据字形库中的字体大小调整笔画轨迹区域大小,再对手写输入文字与字形库中的字体进行匹配,有效减少了因不同使用者书写习惯造成的误差,从而进一步提高了文字匹配的准确性。
本发明一具体实施方式公开了一种手写输入法,包括以下步骤:
如图2所示,使用者在触控板上进行笔画输入,采集笔画轨迹11,以笔画轨迹11作为一个字体确定字体所在区域为笔画轨迹区域1;将所述笔画轨迹区域1的大小调整至与所述字形库中字体大小相同,获得调整笔画轨迹区域2,调整后的笔画轨迹为21;将调整笔画轨迹区域与字形库中各文字所在区域重叠,本实施方式以文字库中的一个文字为例进行说明,获得重叠区域3,在重叠区域3中,调整后的笔画轨迹为31,文字为32。
以重叠区域3左下角的顶点作为二维坐标原点o,调整后的笔画轨迹31共由n个点组成,各点坐标分别为(x1,y1)、(x2,y2)、……(xi,yi)、……(xn,yn);字形库中的文字32共由m个点组成,各点坐标分别为(x1’,y1’)、(x2’,y2’)、……(xj’,yj’)、……(xm’,ym’)。
为对齐调整后的笔画轨迹31和文字32,构造如图3所示的n×m矩阵网格,每一个网格中的值为相应的d(i,j),所述d(i,j)为调整后的笔画轨迹31上的i点(xi,yi)和文字上的j点(xj’,yj’)的距离,其中i选自1至n中的任意值,j选自1至m中的任意值。
需要说明的是,d(i,j)用于表征调整后的笔画轨迹31上的i点和文字32上的j点的相似度;本发明可以用多种方式表征d(i,j),本实施方式中,d(i,j)为i点和j点的欧氏距离。
本实施方式通过dtw算法,获得通过该n×m矩阵网格中若干格点累积距离最短的规整路径w,规整路径w通过的格点即为调整后的笔画轨迹31和文字32对应的点。需要说明的是,在规整路径的选择过程中,需要满足以下几个条件:规整路径起始点a的坐标为(1,1),结束点b的坐标为(m,n);(i,j)点只能和相邻的点对齐,可以是(i+1,j)、(i,j+1)或(i+1,j+1)。
dtw值即为规整路线中从起始点到结束点的累积距离,dtw=d(m,n)+min{dtw(m-1,n-1),dtw(m-1,n),dtw(m,n-1)}。其中,min{dtw(m-1,n-1),dtw(m-1,n),dtw(m,n-1)}为从起始点到(m-1,n-1)的累积距离、从起始点到(m-1,n)的累积距离和从起始点到(m,n-1)点的累积距离中的最小值。
分别对笔画轨迹和字形库中不同文字计算dtw值后,按dtw值从小到大顺序排列并显示字形库中的文字,供使用者选择,即可实现手写输入法文字的精确匹配。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。