CN101398902B - 一种自然手写阿拉伯字母联机识别方法 - Google Patents
一种自然手写阿拉伯字母联机识别方法 Download PDFInfo
- Publication number
- CN101398902B CN101398902B CN200810121396XA CN200810121396A CN101398902B CN 101398902 B CN101398902 B CN 101398902B CN 200810121396X A CN200810121396X A CN 200810121396XA CN 200810121396 A CN200810121396 A CN 200810121396A CN 101398902 B CN101398902 B CN 101398902B
- Authority
- CN
- China
- Prior art keywords
- hand
- input
- arabic alphabet
- written
- stroke
- 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.)
- Expired - Fee Related
Links
Images
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
- 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
Abstract
本发明公开了一种自然手写阿拉伯字母联机识别方法,优点在于提出的基于阿拉伯字母局部特征的逐级多层粗分类算法充分利用了阿拉伯字母的各种局部特征,以字母的笔划数作为第一层粗分类依据,得到输入的手写阿拉伯字母匹配的第一候选字母集合,再根据其它局部特征和第一候选字母集合,得到输入的手写阿拉伯字母匹配的第二候选字母集合,该算法的应用使输入的手写阿拉伯字母只需与预先设定的字库中与第二候选字母集合相应的标准字母进行匹配识别,与直接将输入的手写阿拉伯字母与预先设定的字库中的所有标准字母进行匹配识别相比,有效减小了输入的手写阿拉伯字母匹配识别的搜索范围、提高了匹配速度,并提高了识别精确度。
Description
技术领域
本发明涉及一种手写识别方法,尤其是涉及一种自然手写阿拉伯字母联机识别方法。
背景技术
阿拉伯语是世界主要语言之一,是伊斯兰教和神圣《古兰经》的语言,因此,阿拉伯语的应用范围较为广阔。阿拉伯字母是阿拉伯语的书写形式,目前,阿拉伯字母的识别研究已成为研究者们研究的重要课题之一。
2007年9月19日,中国发明专利“基于边界特征的印刷体阿拉伯字母识别方法”(公开号为CN101038627)公开了一种基于边界特征的印刷体阿拉伯字母的识别方法,该方法将字母的上、下、左、右四个边界看作一个波,将每一个边界表示为一系列波元的集合;然后,从这些集合中提取如下边界特征:波元个数、零直线的个数、右边界中第一条零直线的长度、下边界中第一条零直线的长度、上边界中最长零直线的长度、右边界中最长零直线的长度、下边界中最长零直线的长度、上边界中正直线的个数,并结合字母高宽比、字母辅助部分的高宽比共同作为识别特征;最后,按照字母的四种形式——独立、开头、中间、结尾分别采用四个决策树识别每一个印刷体阿拉伯字母。这种识别方法主要是将字母边界表示为各种波元的集合并从中提取各种波元的特征,特征提取过程简单明了,算法速度较快,且易于实现。但这种识别方法只是对印刷体阿拉伯字母的识别有较好的识别率,而对于自然手写阿拉伯字母特征提取,该识别方法很不稳定;同时,决策树对字形变化的适应性很弱,不利于自然手写阿拉伯字母识别;此外,阿拉伯字母的手写体形变多样复杂,目前主要研究集中在印刷体阿拉伯字母识别上,对于自然手写阿拉伯字母识别的研究较少。
发明内容
本发明所要解决的技术问题是提供一种利用基于阿拉伯字母局部特征的逐级多层粗分类算法减小输入的手写阿拉伯字母匹配识别的搜索范围,提高识别匹配速度,提高识别精度的自然手写阿拉伯字母联机识别方法。
本发明解决上述技术问题所采用的技术方案为:一种自然手写阿拉伯字母联机识别
方法,包括以下步骤:
①对输入终端设备的手写阿拉伯字母的笔迹坐标进行采集,并将采集到的笔迹坐标实时存储到预先定义的结构体数组中;
②对存储在结构体数组中的笔迹坐标及由笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行预处理;
③利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯字母的局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选字母集合;
④提取输入的手写阿拉伯字母的freeman链码,计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率,再从各个匹配概率中获取最大匹配概率,将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
所述的步骤②包括以下具体步骤:②-1、对存储在结构体数组中的笔迹坐标进行平滑滤波、去除硬件噪声及手写时产生的毛刺和断笔;②-2、利用联机单点宽度手写体的线性规一化和非线性规一化算法对由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵;②-3、对经过步骤②-2处理后得到的新笔迹坐标点阵中丢失的有效特征点进行补点操作。
所述的步骤②-2中的联机单点宽度手写体的线性规一化和非线性规一化算法为:a1.采用公知的坐标框图比例缩放和直接投影的方法,将由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵线性规一化到标准坐标点阵;a2.将标准坐标点阵中的标准坐标点表示为(x,y),并将标准坐标点(x,y)划分成非笔迹坐标点和笔迹坐标点;a3.计算标准坐标点(x,y)的密度函数d(x,y), 其中,Lx为当前所取标准坐标点的位置上的横向密度,Ly为当前所取标准坐标点的位置上的竖向密度,A表示标准坐标点阵的长度,其值为64;a4.根据标准坐标点(x,y)的密度函数d(x,y)计算标准坐标点(x,y)的水平密度投影函数H(x)和垂直密度投影函数V(y), 其中,d(x,y)为标准坐标点(x,y)的密度函数,I×J表示标准坐标点阵的大小,其值为64×64,αH和αv为矫正系数,其值均为0.1;a5.利用水平密度投影函数H(x)和垂直密度投影函数V(y)进行非线性规一化,求取新笔迹坐标点阵, 其中,I×J表示标准坐标点阵的大小,其值为64×64;M×N表示非线性规一化处理后得到的新笔迹坐标点阵的大小,其值预先设定为64×64;(m,n)为新笔迹坐标点阵中的坐标点;i=1,2,…,I,j=1,2,…,J。
所述的步骤③中的局部特征包括字母的笔划数、字母的笔段数、字母的竖向穿越数、字母的横向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置。
所述的步骤③中的基于阿拉伯字母局部特征的逐级多层粗分类算法的具体步骤为:③-1、第一层粗分类:根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成case1类、case2类、case3类和case4类四类,case1类包括笔划数为1笔的字母,case2类包括笔划数为2笔的字母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的字母,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;③-2、第二层粗分类:当第一候选字母集合与case1类相应时,对输入的手写阿拉伯字母进行笔段分割,当分割得到的笔段数为1时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当分割得到的笔段数大于1时,计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越数H得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case2类相应时,判断输入的手写阿拉伯字母的笔划中是否存在点笔划,如果存在点笔划,则当点笔划的数目为1时,根据点笔划处于该输入手写阿拉伯字母的上方、下方或内部位置,分别得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当点笔划的数目为2时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;如果不存在点笔划,则再根据该手写阿拉伯字母是否为上下结构,分别得到该手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case3类相应时,判断输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首尾相连,如果首尾相连,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果首尾不相连,再判断点笔划的位置,如果点笔划处于该输入的手写阿拉伯字母的上方,则计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越H得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果点笔划处于该手写阿拉伯字母的下方,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case4类相应时,计算输入的手写阿拉伯字母中除点笔划之外的其他笔划的横向穿越数H,当横向穿越数H大于等于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当横向穿越数H小于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合。
所述的步骤③-2中对输入的手写阿拉伯字母进行笔段分割的具体过程为:定义经过步骤②处理后得到的新笔迹坐标点阵中表示输入的手写阿拉伯字母首笔划中的落笔的新笔迹坐标点为当前笔迹坐标点;判断当前笔迹坐标点与与其相隔一个新笔迹坐标点的两新笔迹坐标点构成的夹角是否大于设定的阈值,当夹角大于设定的阈值时,则确定当前笔迹坐标点为初步拐点;对下一个新笔迹坐标点作同样的处理,得到所有的初步拐点;将所有初步拐点中正在处理的初步拐点定义为当前初步拐点,将当前初步拐点相邻的两个初步拐点中与当前初步拐点之间的矢量距离较近的一个初步拐点删除,直至所有的初步拐点处理完毕,得到所有优化拐点;以优化拐点为界对输入的手写阿拉伯字母进行分割得到笔段。
所述的步骤④包括以下具体步骤:④-1、提取输入的手写阿拉伯字母的freeman链码;④-2、利用公知的Viterbi算法计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率;④-3、利用公知的冒泡排序法对计算得到的各个匹配概率进行排序,获取最大匹配概率;④-4、将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
与现有技术相比,本发明的优点在于提出的基于阿拉伯字母局部特征的逐级多层粗分类算法充分利用了阿拉伯字母的各种局部特征,以字母的笔划数作为第一层粗分类依据,得到输入的手写阿拉伯字母匹配的第一候选字母集合,再根据其它局部特征和第一候选字母集合,得到输入的手写阿拉伯字母匹配的第二候选字母集合,该算法的应用使输入的手写阿拉伯字母只需与预先设定的字库中与第二候选字母集合相应的标准字母进行匹配识别,与直接将输入的手写阿拉伯字母与预先设定的字库中的所有标准字母进行匹配识别相比,有效减小了输入的手写阿拉伯字母匹配识别的搜索范围、提高了匹配速度,并提高了识别精确度;在对笔迹坐标进行预处理时提出了一种联机单点宽度手写体的线性规一化和非线性规一化算法,此算法中的线性规一化处理不仅减少了后续非线
规一化处理的运算量,而且增强了后续非线规一化处理的可行性和准确度,此算法中的非线性规一化对手写阿拉伯字母局部形变实现了有效的矫正,保障了后续逐级多层粗分类的准确性,提高了识别率;此外,本发明识别方法稳定性、适应性较强,易于实现。
附图说明
图1为本发明的流程示意图;
图2为本发明的基于阿拉伯字母局部特征的逐级多层粗分类算法的流程示意图;
图3为阿拉伯字母的手写习惯方向示意图;
图4a为横向密度Lx的第一种取值的判定示意图;
图4b为横向密度Lx的第二种取值的判定示意图;
图4c为横向密度Lx的第三种取值的判定示意图;
图4d为横向密度Lx的第四种取值的判定示意图;
图4e为横向密度Lx的第五种取值的判定示意图;
图5为一个阿拉伯字母的书写笔迹示意图;
图6为图5中画圈部分的freeman链码求取示意图;
图7为八方向freeman链码定义示意图;
图8a为点笔划处于阿拉伯字母的上方的示意图;
图8b为点笔划处于阿拉伯字母的下方的示意图;
图8c为点笔划处于阿拉伯字母的内部位置的示意图;
图9为上下结构的阿拉伯字母的示意图;
图10a为除点笔划之外的其他笔划首尾相连的阿拉伯字母的示意图;
图10b为除点笔划之外的其他笔划首尾不相连的阿拉伯字母的示意图;
图11a为利用本发明的识别方法对其中一个输入的手写字母进行识别后输出的结果图;
图11b为利用本发明的识别方法对另一个输入的手写字母进行识别后输出的结果图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
首先对预先设定在终端设备中的标准阿拉伯字母字库进行描述。
字库包括28个标准阿拉伯字母,以及每个标准阿拉伯字母对应的最优隐马可夫模型。最优隐马可夫模型的获取过程为:
1)、自然手写28个阿拉伯字母100次,每手写一个阿拉伯字母一次按照手写的笔迹顺序,根据图7所示的八方向freeman链码定义示意图求取该阿拉伯字母的所有笔迹经过的坐标点的八方位方向码,即freeman链码,freeman链码具有0、1、2、3、4、5、6和7八个方向码。这样每个阿拉伯字母的一次手写就可得到一串freeman链码,手写100次,即可得到一个阿拉伯字母对应的100串freeman链码,将每个阿拉伯字母得到的100串freeman链码作为该阿拉伯字母的100个样本。如对图5中的画圈部分进行freeman链码提取的过程为:如图6所示,假设当前计算到坐标点A3,则依照图7所示的八方向freeman链码定义示意图,可获知坐标点A3相对于其前一个坐标点A2的方向码为5;继续处理下一个坐标点A4,坐标点A4相对于坐标点A3的方向码为3;如此依次求取其他坐标点,就可以得到图5中画圈部分的freeman链码。
2)、将样本输入到初始隐马可夫模型中进行样本训练,得到最优隐马可夫模型。具体包括以下步骤:第一步,确定状态数L,观察值个数G,并对初始隐马可夫模型中的模型参数进行等概率初始化,由于freeman链码具有0、1、2、3、4、5、6、7八种值,故在本实施例中取G=8,同时取L=10,L一般取0~20之间的值,从理论上来说L的值越大,得到的最优隐马可夫模型越准确,但L的值过大,不仅会增加计算复杂度,而且对终端设备的CPU的要求将更高。第二步,将步骤1)得到的样本作为初始隐马可夫模型的观察值序列,采用公知的Baum-Welch迭代重估算法来优化初始隐马可夫模型中的模型参数,最终得到最优隐马可夫模型。
步骤2)中的Baum-Welch迭代重估算法是基于最陡梯度下降的局部优化算法,参数估计时极易陷入局部最优解,该Baum-Welch迭代重估算法不能保证找到全局最大点,其收敛的点可能是局部极大点,为达到全局最优,可采用基于随机松弛的离散隐马可夫参数全局优化算法对初始隐马可夫模型中的模型参数进行全局优化训练,最终得到最优隐马可夫模型。
在标准阿拉伯字母字库的基础上,本发明的一种自然手写阿拉伯字母联机识别方法,如图1所示,包括以下步骤:
步骤①,对输入终端设备的手写阿拉伯字母(即待识对象)的笔迹坐标进行采集,并将采集到的笔迹坐标实时存储到预先定义的结构体数组中;在此具体实施例中,终端设备可以为手机、PDA(Personal Digital Assistant,个人数码助理)等数字终端产品,终端设备的输入框设定为192×192点阵坐标输入框。
步骤②,对存储在结构体数组中的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行预处理,预处理过程主要包括以下具体步骤:
②-1、对存储在结构体数组中的笔迹坐标进行平滑滤波、去除存在的硬件噪声及去除手写时产生的毛刺和断笔。在此具体实施例中,平滑滤波、去除存在的硬件噪声及去除手写时产生的毛刺和断笔均采用现有的成熟技术进行处理。
②-2、由于在手写阿拉伯字母时,手写字母在形体结构上与标准字母相比有较多不规整的地方,使手写字母的一些局部笔划存在各种各样的形变,这种形变会给后续的处理带来极大的影响,因此本发明提出了联机单点宽度手写体的线性规一化和非线性规一化算法以矫正手写字母的局部形变。
该算法对由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵,达到对手写字母的局部形变矫正的目的。该算法的具体步骤如下:
a1.采用公知的坐标框图比例缩放和直接投影的方法,将由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵线性规一化到64×64标准坐标点阵,线性规一化处理可以减少后续非线性规一化处理的运算量,同时可增强非线性规一化处理的可行性。
a2.将标准坐标点阵中的标准坐标点表示为(x,y),并将标准坐标点(x,y)划分成非笔迹坐标点和笔迹坐标点。非笔迹坐标点为笔迹没有划过的地方,非笔迹坐标点的左右笔划存在情况,包括左右均无笔划、左边有笔划而右边无笔划及左右均有笔划;笔迹坐标点为笔迹划过的点,笔迹坐标点的左右笔划存在情况也同样有多种,包括左右均无笔划、左边有笔划而右边无笔划及左边无笔划而右边有笔划;笔划可定义为从落笔到提笔为1笔划。
a4.根据标准坐标点(x,y)的密度函数d(x,y)计算标准坐标点(x,y)的水平密度投影函数H(x)和垂直密度投影函数V(y), 其中,d(x,y)为标准坐标点(x,y)的密度函数,I×J表示标准坐标点阵的大小,其值为64×64;αH和αv为矫正系数,其值均为0.1。矫正系数αH和αv的值从理论上来说介于[0,
1]之间,αH和αv的大小与手写字母的局部形变矫正效果有关,对αH和αv均取值为0.1、0.125、0.2、0.58和0.8时分别进行实验,经实验表明,当αH和αv取值均为0.1时手写字母的局部形变矫正效果最为理想。
a5.利用水平密度投影函数H(x)和垂直密度投影函数V(y)进行非线性规一化,求取新笔迹坐标点阵, 其中,I×J表示标准坐标点阵的大小,其值为64×64;M×N表示非线性规一化处理后得到的新笔迹坐标点阵的大小,其值预先设定为64×64;(m,n)为新笔迹坐标点阵中的坐标点;i=1,2,…,I,j=1,2,…,J。
在此具体实施例中,当前所取标准坐标点的位置上的横向密度Lx和竖向密度Ly可通过以下方法获取。如图3所示,由于阿拉伯字母的手写习惯是从右到左、从上到下,所以Lx的着眼点在右侧,而Ly的着眼点在上侧。当当前所取标准坐标点是笔迹坐标点时,Lx具有三种不同的值,当当前所取坐标点处于图4a和图4c中所示的位置时,其值为从当前所取标准坐标点向右划水平线所能经过的非连续笔迹点的次数+1,在此具体实施例中,向右的水平线所能经过的连续笔迹点的次数视为经过一次;当当前所取标准坐标点处于图4b中所示的位置时,其值为1;当当前所取标准坐标点处于图4e中所示的位置时,其值为2A。当当前所取标准坐标点是非笔迹坐标点时,Lx也具有三种不同的值,当当前所取标准坐标点处于图4a和图4c中所示的位置时,其值为从当前所取标准坐标点向右划水平线所能经过的非连续笔迹点的次数;当当前所取标准坐标点处于图4b中所示的位置时,其值为2A;当当前所取标准坐标点处于图4d中所示的位置时,其值为4A。其中,A表示标准坐标点阵的长度,其值为64。竖向密度Ly的取值方法与横向密度Lx的取值方法相同。图4a至图4e中代表当前所取的标准坐标点;代表点笔划。
②-3、对经过步骤②-2处理后得到的新笔迹坐标点阵进行补点操作,以防止丢失有效的特征点。补点操作采用现有的经典的Bresenham画线算法,在新笔迹坐标点阵中距离大于1的两个邻近标准坐标点之间依笔迹走向添加中间特征点。
步骤③,利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字
母的形状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯字母的局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选字母集合。局部特征包括字母的笔划数、字母的笔段数、字母的竖向穿越数、字母的横向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置等,字母的笔划可定义为从落笔到提笔为1笔划。结合图2,该算法包括以下具体步骤:③-1、第一层粗分类:根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成case1类、case2类、case3类和case4类四类,case1类包括笔划数为1笔的字母,case2类包括笔划数为2笔的字母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的字母,按输入的手写阿拉伯字母的笔划数直接从所有标准阿拉伯字母中选择得到与该手写阿拉伯字母匹配的第一候选字母集合;③-2、第二层粗分类:当第一候选字母集合与case1类相应即输入的手写阿拉伯字母的笔划数为1笔时,对输入的手写阿拉伯字母进行笔段分割,当分割得到的笔段数为1时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当分割得到的笔段数大于1时,计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越数H从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case2类相应即输入的手写阿拉伯字母的笔划数为2笔时,判断输入的手写阿拉伯字母的笔划中是否存在点笔划,如果存在点笔划,则当点笔划的数目为1时,根据点笔划处于该输入的手写阿拉伯字母的上方(如图8a所示)、下方(如图8b所示)或内部位置(如图8c所示),分别从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当点笔划的数目为2时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;如果不存在点笔划,则再根据该手写阿拉伯字母是否为上下结构,分别从第一候选字母集合中选择得到该手写阿拉伯字母匹配的第二候选字母集合,判断上下结构,如图9所示的手写阿拉伯字母,图9中虚线将该字母分成上下两个独立的部分,就称为是上下结构;当第一候选字母集合与case3类相应即输入的手写阿拉伯字母的笔划数为3笔时,判断输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首尾相连,如果首尾相连(如图10a所示),则直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果首尾不相连(如图10b所示),再判断点笔划的位置,如果点笔划处于该输入的手写阿拉伯字母的上方,则计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越数H
从第一候选字母集合中选择得到该输入手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;如果点笔划处于该手写阿拉伯字母的下方,则直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case4类相应即输入的手写阿拉伯字母的笔划数为4笔时,计算输入的手写阿拉伯字母中除点笔划之外的其他笔划的横向穿越数H,当横向穿越数H大于等于3时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当横向穿越数H小于3时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合。
该基于阿拉伯字母局部特征的逐级多层粗分类算法的应用使输入的手写阿拉伯字母只需与预先设定的字库中与第二候选字母集合相应的标准字母进行匹配识别,与直接将输入的手写阿拉伯字母与预先设定的字库中的所有标准字母进行匹配识别相比,有效减小了输入的手写阿拉伯字母匹配识别的搜索范围、提高了匹配速度,并提高了识别精确度。
上述步骤③-2中对输入的手写阿拉伯字母进行笔段分割的具体过程为:定义经过步骤②处理后得到的新笔迹坐标点阵中表示输入的手写阿拉伯字母首笔划中的落笔的新笔迹坐标点为当前笔迹坐标点;判断当前笔迹坐标点与与其相隔一个新笔迹坐标点的两新笔迹坐标点构成的夹角是否大于设定的阈值,当夹角大于设定的阈值时,则确定当前笔迹坐标点为初步拐点;对下一个新笔迹坐标点作同样的处理,得到所有的初步拐点;将所有初步拐点中正在处理的初步拐点定义为当前初步拐点,将当前初步拐点相邻的两个初步拐点中与当前初步拐点之间的矢量距离较近的一个初步拐点删除,矢量距离较近可认为两初步拐点间的矢量距离小于等于10,直至所有的初步拐点处理完毕,得到所有优化拐点;以优化拐点为界对输入的手写阿拉伯字母进行分割得到笔段。如果不存在优化拐点,则从新笔迹坐标点阵中只提取表示输入的手写阿拉伯字母首末端点的新笔迹坐标点,并确定输入的手写阿拉伯字母的笔段数为1笔。此处阈值设置过大或过小,都容易导致提取到不正确的初步拐点,一般情况下取阈值在20°~30°之间,经测试,阈值为25°时能够得到效果最佳的初步拐点,因此在此具体实施例中,设定的阈值取值为25°。
步骤④,提取输入的手写阿拉伯字母的freeman链码,计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率,再从各个匹配概率中获取最大匹配概率,将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。具体包括以下步骤:④-1、提取输入的手写阿拉伯字母的freeman链码;④-2、
利用公知的Viterbi算法计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率;④-3、利用公知的冒泡排序法对计算得到的各个匹配概率进行排序,获取最大匹配概率;④-4、将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。Viterbi算法用于计算最优匹配路径上的匹配概率,采用该算法大大减少了计算速度,提高了输入的手写阿拉伯字母的识别速度。
输入的手写阿拉伯字母的freeman链码的提取过程为:定义新笔迹坐标点阵中用于表示输入的手写阿拉伯字母的首笔划中的落笔的新笔迹坐标点为跟踪点;根据freeman链码八方向定义,确定跟踪点的值;按输入的手写阿拉伯字母的书写顺序,将下一个新笔迹坐标点作为跟踪点进行处理,直至最后一个新笔迹坐标点处理完毕,得到该输入的手写阿拉伯字母的freeman链码。freeman链码八方向定义如图7所示,freeman具有0、1、2、3、4、5、6和7八种值。
通过本发明的识别方法对两个自然手写的阿拉伯字母进行识别后,得到的识别结果分别如图11a和图11b所示,图中左边的字母表示输入的手写阿拉伯字母,右下的字母表示经本发明提出的基于阿拉伯字母局部特征的逐级多层粗分类算法后得到的第二候选字母集合,右上的字母表示最终的识别结果。从图11a和图11b中可以看出,本发明的识别精度较高。
Claims (2)
1.一种自然手写阿拉伯字母联机识别方法,其特征在于包括以下步骤:
①对输入终端设备的手写阿拉伯字母的笔迹坐标进行采集,并将采集到的笔迹坐标实时存储到预先定义的结构体数组中;
②对存储在结构体数组中的笔迹坐标及由笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行预处理,包括以下具体步骤:②-1、对存储在结构体数组中的笔迹坐标进行平滑滤波、去除硬件噪声及手写时产生的毛刺和断笔;②-2、利用联机单点宽度手写体的线性规一化和非线性规一化算法对由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵,具体为:a1.采用公知的坐标框图比例缩放和直接投影的方法,将由经过步骤②-1处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵线性规一化到标准坐标点阵;a2.将标准坐标点阵中的标准坐标点表示为(x,y),并将标准坐标点(x,y)划分成非笔迹坐标点和笔迹坐标点;a3.计算标准坐标点(x,y)的密度函数d(x,y),其中,Lx为当前所取标准坐标点的位置上的横向密度,Ly为当前所取标准坐标点的位置上的竖向密度,A表示标准坐标点阵的长度,其值为64;a4.根据标准坐标点(x,y)的密度函数d(x,y)计算标准坐标点(x,y)的水平密度投影函数H(x)和垂直密度投影函数V(y), 其中,d(x,y)为标准坐标点(x,y)的密度函数,I×J表示标准坐标点阵的大小,其值为64×64,aH和av为矫正系数,其值均为0.1;a5.利用水平密度投影函数H(x)和垂直密度投影函数V(y)进行非线性规一化,求取新笔迹坐标点阵, 其中,I×J表示标准坐标点阵的大小,其值为64×64;M×N表示非线性规一化处理后得到的新笔迹坐标点阵的大小,其值预先设定为64×64;(m,n)为新笔迹坐标点阵中的坐标点;i=1,2,…,I,j=1,2,…,J;②-3、对经过步骤②-2处理后得到的新笔迹坐标点阵中丢失的有效特征点进行补点操作;
③利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯字母的局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选字母集合,局部特征包括字母的笔划数、字母的笔段数、字母的竖向穿越数、字母的横向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置;具体步骤为:③-1、第一层粗分类:根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成case1类、case2类、case3类和case4类四类,case1类包括笔划数为1笔的字母,case2类包括笔划数为2笔的字母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的字母,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;③-2、第二层粗分类:当第一候选字母集合与case1类相应时,对输入的手写阿拉伯字母进行笔段分割,具体过程为:定义经过步骤②处理后得到的新笔迹坐标点阵中表示输入的手写阿拉伯字母首笔划中的落笔的新笔迹坐标点为当前笔迹坐标点;判断当前笔迹坐标点与与其相隔一个新笔迹坐标点的两新笔迹坐标点构成的夹角是否大于设定的阈值,当夹角大于设定的阈值时,则确定当前笔迹坐标点为初步拐点;对下一个新笔迹坐标点作同样的处理,得到所有的初步拐点;将所有初步拐点中正在处理的初步拐点定义为当前初步拐点,将当前初步拐点相邻的两个初步拐点中与当前初步拐点之间的矢量距离较近的一个初步拐点删除,直至所有的初步拐点处理完毕,得到所有优化拐点;以优化拐点为界对输入的手写阿拉伯字母进行分割得到笔段;当分割得到的笔段数为1时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当分割得到的笔段数大于1时,计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越数H得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case2类相应时,判断输入的手写阿拉伯字母的笔划中是否存在点笔划,如果存在点笔划,则当点笔划的数目为1时,根据点笔划处于该输入手写阿拉伯字母的上方、下方或内部位置,分别得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当点笔划的数目为2时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;如果不存在点笔划,则再根据该手写阿拉伯字母是否为上下结构,分别得到该手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case3类相应时,判断输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首尾相连,如果首尾相连,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果首尾不相连,再判断点笔划的位置,如果点笔划处于该输入的手写阿拉伯字母的上方,则计算该输入的手写阿拉伯字母的竖向穿越数S,当S=1或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H,根据横向穿越H得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当S=4时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果点笔划处于该手写阿拉伯字母的下方,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case4类相应时,计算输入的手写阿拉伯字母中除点笔划之外的其他笔划的横向穿越数H,当横向穿越数H大于等于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当横向穿越数H小于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;
④提取输入的手写阿拉伯字母的freeman链码,计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率,再从各个匹配概率中获取最大匹配概率,将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
2.根据权利要求1所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所述的步骤④包括以下具体步骤:④-1、提取输入的手写阿拉伯字母的freeman链码;④-2、利用公知的Viterbi算法计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率;④-3、利用公知的冒泡排序法对计算得到的各个匹配概率进行排序,获取最大匹配概率;④-4、将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810121396XA CN101398902B (zh) | 2008-09-27 | 2008-09-27 | 一种自然手写阿拉伯字母联机识别方法 |
US12/276,284 US8254686B2 (en) | 2008-09-27 | 2008-11-21 | On-line identifying method of hand-written Arabic letter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810121396XA CN101398902B (zh) | 2008-09-27 | 2008-09-27 | 一种自然手写阿拉伯字母联机识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101398902A CN101398902A (zh) | 2009-04-01 |
CN101398902B true CN101398902B (zh) | 2012-07-04 |
Family
ID=40517440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810121396XA Expired - Fee Related CN101398902B (zh) | 2008-09-27 | 2008-09-27 | 一种自然手写阿拉伯字母联机识别方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8254686B2 (zh) |
CN (1) | CN101398902B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452531B (zh) * | 2008-12-01 | 2010-11-03 | 宁波新然电子信息科技发展有限公司 | 一种自由手写拉丁字母识别方法 |
US8150160B2 (en) * | 2009-03-26 | 2012-04-03 | King Fahd University Of Petroleum & Minerals | Automatic Arabic text image optical character recognition method |
CN101887582B (zh) * | 2010-06-03 | 2011-12-14 | 西北工业大学 | 基于差别累加值及三点链码差的图像曲线拐角点检测方法 |
CN103366151B (zh) * | 2012-03-30 | 2017-05-31 | 佳能株式会社 | 手写字符识别方法以及设备 |
JP2014092817A (ja) * | 2012-10-31 | 2014-05-19 | Fuji Xerox Co Ltd | 文字認識装置及びプログラム |
CN103310474B (zh) * | 2013-06-08 | 2016-04-06 | 深圳市经纬科技有限公司 | 一种手写原笔迹的实现方法及系统 |
CN103455741B (zh) * | 2013-09-06 | 2017-02-01 | 武汉汉德瑞庭科技有限公司 | 一种基于字符的在线笔迹认证的模板扩充方法 |
CN109992126A (zh) * | 2014-06-24 | 2019-07-09 | 苹果公司 | 计算设备上的字符识别 |
US9454706B1 (en) | 2015-07-24 | 2016-09-27 | King Fahd University Of Petroleum And Minerals | Arabic like online alphanumeric character recognition system and method using automatic fuzzy modeling |
CN106778456B (zh) * | 2015-11-19 | 2021-06-15 | 北京锐富时间科技有限公司 | 一种手写输入的优化方法及装置 |
US9870503B2 (en) * | 2015-12-31 | 2018-01-16 | International Business Machines Corporation | Visual object and event detection and prediction system using saccades |
CN105844216B (zh) * | 2016-03-11 | 2020-10-27 | 南京航空航天大学 | 一种利用WiFi信号识别手写字母的检测与匹配机制 |
CN112200181B (zh) * | 2020-08-19 | 2023-10-10 | 西安理工大学 | 一种基于粒子群优化算法的文字形状逼近方法 |
CN112486337B (zh) * | 2020-11-17 | 2023-11-24 | 深圳市鹰硕技术有限公司 | 笔迹图形分析方法、装置及电子设备 |
CN115019310B (zh) * | 2022-08-05 | 2022-11-29 | 上海蜜度信息技术有限公司 | 图文识别方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1173684A (zh) * | 1996-05-21 | 1998-02-18 | 株式会社日立制作所 | 用于通过推理识别输入字符串的装置 |
CN1624712A (zh) * | 2004-12-09 | 2005-06-08 | 上海交通大学 | 基于核函数的手写数字识别方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950013127B1 (ko) * | 1993-03-15 | 1995-10-25 | 김진형 | 영어 문자 인식 방법 및 시스템 |
US7302099B2 (en) * | 2003-11-10 | 2007-11-27 | Microsoft Corporation | Stroke segmentation for template-based cursive handwriting recognition |
US8077973B2 (en) * | 2005-01-28 | 2011-12-13 | Imds Software, Inc. | Handwritten word recognition based on geometric decomposition |
WO2008012824A1 (en) * | 2006-07-27 | 2008-01-31 | Bgn Technologies Ltd. | Online arabic handwriting recognition |
US7724957B2 (en) * | 2006-07-31 | 2010-05-25 | Microsoft Corporation | Two tiered text recognition |
US8005294B2 (en) * | 2006-11-29 | 2011-08-23 | The Mitre Corporation | Cursive character handwriting recognition system and method |
CN101452531B (zh) * | 2008-12-01 | 2010-11-03 | 宁波新然电子信息科技发展有限公司 | 一种自由手写拉丁字母识别方法 |
-
2008
- 2008-09-27 CN CN200810121396XA patent/CN101398902B/zh not_active Expired - Fee Related
- 2008-11-21 US US12/276,284 patent/US8254686B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1173684A (zh) * | 1996-05-21 | 1998-02-18 | 株式会社日立制作所 | 用于通过推理识别输入字符串的装置 |
CN1624712A (zh) * | 2004-12-09 | 2005-06-08 | 上海交通大学 | 基于核函数的手写数字识别方法 |
Non-Patent Citations (2)
Title |
---|
JP特开平10-49626A 1998.02.20 |
JP特开平10-49631A 1998.02.20 |
Also Published As
Publication number | Publication date |
---|---|
CN101398902A (zh) | 2009-04-01 |
US20100080463A1 (en) | 2010-04-01 |
US8254686B2 (en) | 2012-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101398902B (zh) | 一种自然手写阿拉伯字母联机识别方法 | |
CN101853126B (zh) | 一种联机手写句子实时识别方法 | |
Álvaro et al. | An integrated grammar-based approach for mathematical expression recognition | |
CN101866417B (zh) | 一种手写体维吾尔字符识别方法 | |
Razzak et al. | HMM and fuzzy logic: a hybrid approach for online Urdu script-based languages’ character recognition | |
CN101128837A (zh) | 基于分割的辨认方法 | |
CN106502994A (zh) | 一种文本的关键词提取的方法和装置 | |
CN108038122A (zh) | 一种商标图像检索的方法 | |
Mehrotra et al. | Unconstrained handwritten Devanagari character recognition using convolutional neural networks | |
CN101290659A (zh) | 基于组合分类器的手写识别方法 | |
CN101452531B (zh) | 一种自由手写拉丁字母识别方法 | |
Chowdhury et al. | Online handwriting recognition using Levenshtein distance metric | |
CN105893968A (zh) | 基于深度学习的文本无关的端到端的笔迹识别方法 | |
CN104156730B (zh) | 一种基于骨架的抗噪声汉字特征提取方法 | |
CN110415071B (zh) | 一种基于观点挖掘分析的汽车竞品对比方法 | |
CN109657039B (zh) | 一种基于双层BiLSTM-CRF的工作履历信息抽取方法 | |
Dai Nguyen et al. | Recognition of online handwritten math symbols using deep neural networks | |
CN107092917A (zh) | 一种基于流形学习的汉字笔画自动提取方法 | |
CN103902100B (zh) | 用于智能手绘输入的基于速度特征的笔划分割方法 | |
CN102360436B (zh) | 一种基于部件的联机手写藏文字符的识别方法 | |
Awal et al. | Improving online handwritten mathematical expressions recognition with contextual modeling | |
Jayaraman et al. | Modular approach to recognition of strokes in Telugu script | |
Hu et al. | On-line handwritten mathematical expression recognition method based on statistical and semantic analysis | |
CN109815809A (zh) | 一种基于cnn的英文笔迹鉴别方法 | |
Chen et al. | A handwritten character recognition algorithm based on artificial immune |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20130927 |