专利名称:一种自然手写阿拉伯字母联机识别方法
技术领域:
本发明涉及一种手写识别方法,尤其是涉及一种自然手写阿拉伯字母联机识别方法。
背景技术:
阿拉伯语是世界主要语言之一,是伊斯兰教和神圣《古兰经》的语言,因此,阿拉 伯语的应用范围较为广阔。阿拉伯字母是阿拉伯语的书写形式,目前,阿拉伯字母的识 别研究已成为研究者们研究的重要课题之一。2007年9月19日,中国发明专利"基于边界特征的印刷体阿拉伯字母识别方法" (公开号为CN 101038627)公开了一种基于边界特征的印刷体阿拉伯字母的识别方法, 该方法将字母的上、下、左、右四个边界看作一个波,将每一个边界表示为一系列波元 的集合;然后,从这些集合中提取如下边界特征波元个数、零直线的个数、右边界中 第一条零直线的长度、下边界中第一条零直线的长度、上边界中最长零直线的长度、右 边界中最长零直线的长度、下边界中最长零直线的长度、上边界中正直线的个数,并结 合字母高宽比、字母辅助部分的高宽比共同作为识别特征;最后,按照字母的四种形式 ——独立、开头、中间、结尾分别采用四个决策树识别每一个印刷体阿拉伯字母。这种 识别方法主要是将字母边界表示为各种波元的集合并从中提取各种波元的特征,特征提 取过程简单明了,算法速度较快,且易于实现。但这种识别方法只是对印刷体阿拉伯字 母的识别有较好的识别率,而对于自然手写阿拉伯字母特征提取,该识别方法很不稳定; 同时,决策树对字形变化的适应性很弱,不利于自然手写阿拉伯字母识别;此外,阿拉 伯字母的手写体形变多样复杂,目前主要研究集中在印刷体阿拉伯字母识别上,对于自 然手写阿拉伯字母识别的研究较少。发明内容本发明所要解决的技术问题是提供一种利用基于阿拉伯字母局部特征的逐级多层 粗分类算法减小输入的手写阿拉伯字母匹配识别的搜索范围,提高识别匹配速度,提高 识别精度的自然手写阿拉伯字母联机识别方法。本发明解决上述技术问题所采用的技术方案为 一种自然手写阿拉伯字母联机识别
方法,包括以下步骤① 对输入终端设备的手写阿拉伯字母的笔迹坐标进行采集,并将采集到的笔迹坐标 实时存储到预先定义的结构体数组中;② 对存储在结构体数组中的笔迹坐标及由笔迹坐标转换成矩阵形式存放构成的笔 迹坐标点阵进行预处理;③ 利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字母的形 状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直接得到 与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯字母的 局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选字母集合,④ 提取输入的手写阿拉伯字母的freeman链码,计算该输入的手写阿拉伯字母的 freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率,再从各个匹配概率中获取最大匹配概率,将预先设定 的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。所述的步骤②包括以下具体步骤②-l、对存储在结构体数组中的笔迹坐标进行平 滑滤波、去除硬件噪声及手写时产生的毛刺和断笔;②-2、利用联机单点宽度手写体的 线性规一化和非线性规一化算法对由经过步骤②-l处理后的笔迹坐标转换成矩阵形式 存放构成的笔迹坐标点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵; ②-3、对经过步骤②-2处理后得到的新笔迹坐标点阵中丢失的有效特征点进行补点操作。所述的步骤②-2中的联机单点宽度手写体的线性规一化和非线性规一化算法为a1. 采用公知的坐标框图比例縮放和直接投影的方法,将由经过步骤②-l处理后的笔迹坐标 转换成矩阵形式存放构成的笔迹坐标点阵线性规一化到标准坐标点阵;a2.将标准坐标点阵中的标准坐标点表示为(x,3;),并将标准坐标点(x,y)划分成非笔迹坐标点和笔迹坐 标点;a3.计算标准坐标点(;c,力的密度函数d(;c,力,4w卜jS^(力"力1^) ; £^Sj,其中,"为当前所取标准坐标点的位置上的横向密度,」&为当前所取标准坐标点的位置上的竖向密度,^表示标准坐标点阵的长 度,其值为64; a4.根据标准坐标点(;c,力的密度函数c/(;c,j;)计算标准坐标点(x,力的水平密度投影函数Z/(x)和垂直密度投影函数F00, i/(;c)-t[";c,;;) + ],roo=S["(x,y)+av],其中,"(^,力为标准坐标点Oc,力的密度函数'/x/表示标准坐标点阵的大小,其值为64x64, 和^为矫正系数,其值均为0.1; a5.利用水平密 度投影函数i/0)和垂直密度投影函数FO)进行非线性规一化,求取新笔迹坐标点阵,m = t//(x)x , M, "-^K(力x^^,其中,/xJ表示标准坐标点阵的大小,其值为64x64; MxiV表示非线性规一化处理后得到的新笔迹坐标点阵的大小,其值预 先设定为64x64; O,")为新笔迹坐标点阵中的坐标点;/ = 1,2广.,/, y、l,2,…,J。所述的步骤③中的局部牲包括字母的笔划数、字母的笔段数、字母的竖向穿越数、 字母的横向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置。所述的步骤③中的基于阿拉伯字母局部特征的逐级多层粗分类算法的具体步骤为 ③-l、第一层粗分类根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成casel 类、case2类、case3类和case4类四类,casel类包括笔划数为1笔的字母,case2类包括 笔划数为2笔的字母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的 字母,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第 一候选字母集合;③-2、第二层粗分类当第一候选字母集合与casel类相应时,对输 入的手写阿拉伯字母进行笔段分割,当分割得到的笔段数为1时,直接得到该输入的手 写阿拉伯字母匹配的第二候选字母集合;当分割得到的笔段数大于l时,计算该输入的 手写阿拉伯字母的竖向穿越数S,当S=l或S=2时,计算该输入的手写阿拉伯字母的横 向穿越数H,根据横向穿越数H得到该输入的手写阿拉伯字母匹配的第二候选字母集 合,当S3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手 写阿拉伯字母匹配的第二候选字母集合,当S-4时,直接得到该输入的手写阿拉伯字母 匹配的第二候选字母集合;当第一候选字母集合与case2类相应时,判断输入的手写阿 拉伯字母的笔划中是否存在点笔划,如果存在点笔划,则当点笔划的数目为l时,根据 点笔划处于该输入手写阿拉伯字母的上方、下方或内部位置,分别得到该输入的手写阿 拉伯字母匹配的第二候选字母集合;当点笔划的数目为2时,直接得到该输入的手写阿 拉伯字母匹配的第二候选字母集合;如果不存在点笔划,则再根据该手写阿拉伯字母是 否为上下结构,分别得到该手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母 集合与case3类相应时,判断输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首 尾相连,如果首尾相连,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合, 如果首尾不相连,再判断点笔划的位置,如果点笔划处于该输入的手写阿拉伯字母的上
方,则计算该输入的手写阿拉伯字母的竖向穿越数S,当S-l或S-2时,计算该输入的 手写阿拉伯字母的横向穿越数H,根据横向穿越H得到该输入的手写阿拉伯字母匹配的 第二候选字母集合,当S-3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向 得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当3=4时,直接得到该输入的 手写阿拉伯字母匹配的第二候选字母集合,如果点笔划处于该手写阿拉伯字母的下方, 则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与 case4类相应时,计算输入的手写阿拉伯字母中除点笔划之外的其他笔划的横向穿越数 H,当横向穿越数H大于等于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选 字母集合,当横向穿越数H小于3时,直接得到该输入的手写阿拉伯字母匹配的第二候 选字母集合。所述的步骤③-2中对输入的手写阿拉伯字母进行笔段分割的具体过程为定义经过 步骤②处理后得到的新笔迹坐标点阵中表示输入的手写阿拉伯字母首笔划中的落笔的 新笔迹坐标点为当前笔迹坐标点;判断当前笔迹坐标点与与其相隔一个新笔迹坐标点的 两新笔迹坐标点构成的夹角是否大于设定的阈值,当夹角大于设定的阈值时,则确定当 前笔迹坐标点为初步拐点;对下一个新笔迹坐标点作同样的处理,得到所有的初步拐点; 将所有初步拐点中正在处理的初步拐点定义为当前初步拐点,将当前初步拐点相邻的两 个初步拐点中与当前初步拐点之间的矢量距离较近的一个初步拐点删除,直至所有的初 步拐点处理完毕,得到所有优化拐点;以优化拐点为界对输入的手写阿拉伯字母迸行分 割得到笔段。所述的步骤④包括以下具体步骤④-K提取输入的手写阿拉伯字母的freeman链码; ④-2、利用公知的Viterbi算法计算该输入的手写阿拉伯字母的freeman链码与预先设定的 字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹 配概率; -3、利用公知的冒泡排序法对计算得到的各个匹配概率进行排序,获取最大 匹配概率; -4、将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手 写阿拉伯字母的最终识别结果。与现有技术相比,本发明的优点在于提出的基于阿拉伯字母局部特征的逐级多层粗 分类算法充分利用了阿拉伯字母的各种局部特征,以字母的笔划数作为第一层粗分类依 据,得到输入的手写阿拉伯字母匹配的第一候选字母集合,再根据其它局部特征和第一 候选字母集合,得到输入的手写阿拉伯字母匹配的第二候选字母集合,该算法的应用使 输入的手写阿拉伯字母只需与预先设定的字库中与第二候选字母集合相应的标准字母进行匹配识别,与直接将输入的手写阿拉伯字母与预先设定的字库中的所有标准字母进 行匹配识别相比,有效减小了输入的手写阿拉伯字母匹配识别的搜索范围、提高了匹配 速度,并提高了识别精确度;在对笔迹坐标进行预处理时提出了一种联机单点宽度手写 体的线性规一化和非线性规一化算法,此算法中的线性规一化处理不仅减少了后续非线
规一化处理的运算量,而且增强了后续非线规一化处理的可行性和准确度,此算法中的 非线性规一化对手写阿拉伯字母局部形变实现了有效的矫正,保障了后续逐级多层粗分 类的准确性,提高了识别率;此外,本发明识别方法稳定性、适应性较强,易于实现。
图l为本发明的流程示意图;图2为本发明的基于阿拉伯字母局部特征的逐级多层粗分类算法的流程示意图;图3为阿拉伯字母的手写习惯方向示意图;图4a为横向密度Zx的第一种取值的判定示意图;图4b为横向密度丄x的第二种取值的判定示意图;图4c为横向密度ijc的第三种取值的判定示意图;图4d为横向密度丄JC的第四种取值的判定示意图;图4e为横向密度丄x的第五种取值的判定示意图;图5为一个阿拉伯字母的书写笔迹示意图;图6为图5中画圈部分的freeman链码求取示意图;图7为八方向freeman链码定义示意图;图8a为点笔划处于阿拉伯字母的上方的示意图;图8b为点笔划处于阿拉伯字母的下方的示意图;图8C为点笔划处于阿拉伯字母的内部位置的示意图; 图9为上下结构的阿拉伯字母的示意图;图10a为除点笔划之外的其他笔划首尾相连的阿拉伯字母的示意图;图10b为除点笔划之外的其他笔划首尾不相连的阿拉伯字母的示意图;图Ua为利用本发明的识别方法对其中一个输入的手写字母进行识别后输出的结果图;图lib为利用本发明的识别方法对另一个输入的手写字母进行识别后输出的结果图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。首先对预先设定在终端设备中的标准阿拉伯字母字库进行描述。字库包括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链码具有O、 1、 2、 3、 4、 5、 6、 7八种值,故 在本实施例中取G-8,同时取L-IO, L一般取0 20之间的值,从理论上来说L的值越大, 得到的最优隐马可夫模型越准确,但L的值过大,不仅会增加计算复杂度,而且对终端 设备的CPU的要求将更高。第二步,将步骤l)得到的样本作为初始隐马可夫模型的观 察值序列,采用公知的Baum-Welch迭代重估算法来优化初始隐马可夫模型中的模型参数,最终得到最优隐马可夫模型。步骤2)中的Baum-Welch迭代重估算法是基于最陡梯度下降的局部优化算法,参 数估计时极易陷入局部最优解,该Baum-Wdch迭代重估算法不能保证找到全局最大点, 其收敛的点可能是局部极大点,为达到全局最优,可采用基于随机松弛的离散隐马可夫 参数全局优化算法对初始隐马可夫模型中的模型参数进行全局优化训练,最终得到最优 隐马可夫模型。在标准阿拉伯字母字库的基础上,本发明的一种自然手写阿拉伯字母联机识别方 法,如图l所示,包括以下步骤步骤①,对输入终端设备的手写阿拉伯字母(即待识对象)的笔迹坐标进行采集, 并将采集到的笔迹坐标实时存储到预先定义的结构体数组中;在此具体实施例中,终端 设备可以为手机、PDA (Personal Digital Assistant,个人数码助理)等数字终端产品, 终端设备的输入框设定为192x192点阵坐标输入框。步骤②,对存储在结构体数组中的笔迹坐标转换成矩阵形式存放构成的笔迹坐标点 阵进行预处理,预处理过程主要包括以下具体步骤 ②-l、对存储在结构体数组中的笔迹坐标进行平滑滤波、去除存在的硬件噪声及去 除手写时产生的毛刺和断笔。在此具体实施例中,平滑滤波、去除存在的硬件噪声及去 除手写时产生的毛刺和断笔均采用现有的成熟技术进行处理。②-2、由于在手写阿拉伯字母时,手写字母在形体结构上与标准字母相比有较多不 规整的地方,使手写字母的一些局部笔划存在各种各样的形变,这种形变会给后续的处 理带来极大的影响,因此本发明提出了联机单点宽度手写体的线性规一化和非线性规一 化算法以矫正手写字母的局部形变。该算法对由经过步骤②-l处理后的笔迹坐标转换成矩阵形式存放构成的笔迹坐标 点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵,达到对手写字母的局 部形变矫正的目的。该算法的具体步骤如下al.采用公知的坐标框图比例縮放和直接投影的方法,将由经过步骤②-l处理后的 笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵线性规一化到64x64标准坐标点阵, 线性规一化处理可以减少后续非线性规一化处理的运算量,同时可增强非线性规一化处 理的可行性。a2.将标准坐标点阵中的标准坐标点表示为(x,少),并将标准坐标点(x,;;)划分成非笔迹坐标点和笔迹坐标点。非笔迹坐标点为笔迹没有划过的地方,非笔迹坐标点的左右 笔划存在情况,包括左右均无笔划、左边有笔划而右边无笔划及左右均有笔划;笔迹坐 标点为笔迹划过的点,笔迹坐标点的左右笔划存在情况也同样有多种,包括左右均无笔 划、左边有笔划而右边无笔划及左边无笔划而右边有笔划;笔划可定义为从落笔到提笔 为1笔划。a3.计算标准坐标点(x,》的密度函数 "(;c,力,4w)^r"(M"^); S:gSj,其中,"为当前所取标准坐标点的位置上的横向密度,Ay为当前所取标准坐标点的位置上的竖向密度,X表示标准坐标点阵的长 度,其值为64。a4.根据标准坐标点(x,力的密度函数d(jc,;;)计算标准坐标点(x,少)的水平密度投影函数7/(;0和垂直密度投影函数K(力,//W-t[d(x,力+ ^], F(力-^[J(:c,力+ A],其中,dOc,力为标准坐标点(;c,力的密度函数,/xJ表示标准坐标点阵的大小,其值为 64x64; 和^为矫正系数,其值均为O.l。矫正系数 和^的值从理论上来说介于
之间, 和"v的大小与手写字母的局部形变矫正效果有关,对"H和",均取值为0.1、 0.125、 0.2、 0.58和0.8时分别进行实验,经实验表明,当flfl和^取值均为0.1时手写字母的局部形变矫正效果最为理想。a5.利用水平密度投影函数/Z(;c)和垂直密度投影函数FCv)进行非线性规一化,求取新笔迹坐标点阵,^^2//(x)X"^~, " = J]yO)X^~—,其中,/x/表示标准坐标点阵的大小,其值为64x64; MxiV表示非线性规一化处理后得到的新笔迹坐标 点阵的大小,其值预先设定为64x64; (m,")为新笔迹坐标点阵中的坐标点;/ = 1,2, ,/,户1,2,…,/。在此具体实施例中,当前所取标准坐标点的位置上的横向密度zx和竖向密度i:y可 通过以下方法获取。如图3所示,由于阿拉伯字母的手写习惯是从右到左、从上到下, 所以丄x的着眼点在右侧,而丄少的着眼点在上侧。当当前所取标准坐标点是笔迹坐标点时,丄jc具有三种不同的值,当当前所取坐标点处于图4a和图4c中所示的位置时,其值 为从当前所取标准坐标点向右划水平线所能经过的非连续笔迹点的次数+1,在此具体实 施例中,向右的水平线所能经过的连续笔迹点的次数视为经过一次;当当前所取标准坐 标点处于图4b中所示的位置时,其值为l;当当前所取标准坐标点处于图4e中所示的 位置时,其值为2A。当当前所取标准坐标点是非笔迹坐标点时,丄x也具有三种不同的 值,当当前所取标准坐标点处于图4a和图4c中所示的位置时,其值为从当前所取标准 坐标点向右划水平线所能经过的非连续笔迹点的次数;当当前所取标准坐标点处于图4b 中所示的位置时,其值为2A;当当前所取标准坐标点处于图4d中所示的位置时,其值为4A。其中,4表示标准坐标点阵的长度,其值为64。竖向密度Ay的取值方法与横向密度丄x的取值方法相同。图4a至图4e中"■"代表当前所取的标准坐标点;代表 点笔划。②-3、对经过步骤②-2处理后得到的新笔迹坐标点阵进行补点操作,以防止丢失有 效的特征点。补点操作采用现有的经典的Bresenham画线算法,在新笔迹坐标点阵中距 离大于1的两个邻近标准坐标点之间依笔迹走向添加中间特征点。步骤③,利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字
母的形状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直 接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯 字母的局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选 字母集合。局部特征包括字母的笔划数、字母的笔段数、字母的竖向穿越数、字母的横 向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置等,字母的笔划可 定义为从落笔到提笔为1笔划。结合图2,该算法包括以下具体步骤③-l、第一层粗 分类根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成casel类、case2类、case3 类和case4类四类,casel类包括笔划数为1笔的字母,case2类包括笔划数为2笔的字 母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的字母,按输入的手 写阿拉伯字母的笔划数直接从所有标准阿拉伯字母中选择得到与该手写阿拉伯字母匹 配的第一候选字母集合;③-2、第二层粗分类当第一候选字母集合与casel类相应即 输入的手写阿拉伯字母的笔划数为l笔时,对输入的手写阿拉伯字母进行笔段分割,当 分割得到的笔段数为1时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字 母匹配的第二候选字母集合;当分割得到的笔段数大于1时,计算该输入的手写阿拉伯 字母的竖向穿越数S,当S=l或S=2时,计算该输入的手写阿拉伯字母的横向穿越数H, 根据横向穿越数H从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第 二候选字母集合,当S-3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向从 第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当 S=4时,直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选 字母集合;当第一候选字母集合与case2类相应即输入的手写阿拉伯字母的笔划数为2 笔时,判断输入的手写阿拉伯字母的笔划中是否存在点笔划,如果存在点笔划,则当点 笔划的数目为l时,根据点笔划处于该输入的手写阿拉伯字母的上方(如图8a所示)、 下方(如图8b所示)或内部位置(如图8c所示),分别从第一候选字母集合中选择得 到该输入的手写阿拉伯字母匹配的第二候选字母集合;当点笔划的数目为2时,直接从 第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二候选字母集合;如果 不存在点笔划,则再根据该手写阿拉伯字母是否为上下结构,分别从第一候选字母集合 中选择得到该手写阿拉伯字母匹配的第二候选字母集合,判断上下结构,如图9所示的 手写阿拉伯字母,图9中虚线将该字母分成上下两个独立的部分,就称为是上下结构; 当第一候选字母集合与case3类相应即输入的手写阿拉伯字母的笔划数为3笔时,判断 输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首尾相连,如果首尾相连(如图 lOa所示),则直接从第一候选字母集合中选择得到该输入的手写阿拉伯字母匹配的第二 候选字母集合,如果首尾不相连(如图10b所示),再判断点笔划的位置,如果点笔划 处于该输入的手写阿拉伯字母的上方,则计算该输入的手写阿拉伯字母的竖向穿越数S, 当S=l或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八种值。通过本发明的识别方法对两个自然手写的阿拉伯字母进行识别后,得到的识别结果 分别如图lla和图llb所示,图中左边的字母表示输入的手写阿拉伯字母,右下的字母 表示经本发明提出的基于阿拉伯字母局部特征的逐级多层粗分类算法后得到的第二候 选字母集合,右上的字母表示最终的识别结果。从图Ua和图llb中可以看出,本发明 的识别精度较高。
权利要求
1、一种自然手写阿拉伯字母联机识别方法,其特征在于包括以下步骤①对输入终端设备的手写阿拉伯字母的笔迹坐标进行采集,并将采集到的笔迹坐标实时存储到预先定义的结构体数组中;②对存储在结构体数组中的笔迹坐标及由笔迹坐标转换成矩阵形式存放构成的笔迹坐标点阵进行预处理;③利用基于阿拉伯字母局部特征的逐级多层粗分类算法,首先根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成四类,按输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选字母集合;再根据输入的手写阿拉伯字母的局部特征和第一候选字母集合,得到与该输入的手写阿拉伯字母匹配的第二候选字母集合;④提取输入的手写阿拉伯字母的freeman链码,计算该输入的手写阿拉伯字母的freeman链码与预先设定的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率,再从各个匹配概率中获取最大匹配概率,将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
2、 根据权利要求1所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所 述的步骤②包括以下具体步骤②-l、对存储在结构体数组中的笔迹坐标进行平滑滤波、 去除硬件噪声及手写时产生的毛刺和断笔;②-2、利用联机单点宽度手写体的线性规一 化和非线性规一化算法对由经过步骤②-l处理后的笔迹坐标转换成矩阵形式存放构成 的笔迹坐标点阵进行线性规一化和非线性规一化处理,得到新笔迹坐标点阵;②-3、对 经过步骤②-2处理后得到的新笔迹坐标点阵中丢失的有效特征点进行补点操作。
3、 根据权利要求2所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所 述的步骤②-2中的联机单点宽度手写体的线性规一化和非线性规一化算法为al.采用 公知的坐标框图比例縮放和直接投影的方法,将由经过步骤②-l处理后的笔迹坐标转换 成矩阵形式存放构成的笔迹坐标点阵线性规一化到标准坐标点阵;a2.将标准坐标点阵中的标准坐标点表示为(x,少),并将标准坐标点(x,y)划分成非笔迹坐标点和笔迹坐标 点;al计算标准坐标点(x,力的密度函数4",力,小,力4f^(息"^) ; t^^,其中,"为当前所取标准坐标点的位置上的 横向密度,Ay为当前所取标准坐标点的位置上的竖向密度,^表示标准坐标点阵的长 度,其值为64; a4.根据标准坐标点(x,少)的密度函数d(x,少)计算标准坐标点(;^)的水 平密度投影函数和垂直密度投影函数FO) , = f [《x,力+ "h〗,7(力=1;[""力+^],其中'd(x,力为标准坐标点(x,力的密度函数,/xj表示标准坐标点阵的大小,其值为64x64, 和^为矫正系数,其值均为0.1; a5.利用水平密 度投影函数i/(x)和垂直密度投影函数FCy)进行非线性规一化,求取新笔迹坐标点阵,<formula>formula see original document page 3</formula> <formula>formula see original document page 3</formula>,其中,/xJ表示标准坐标点阵的大小, " ^T/(" 户1 ^y(力其值为64x64; MxiV表示非线性规一化处理后得到的新笔迹坐标点阵的大小,其值预 先设定为64x64; (m,n)为新笔迹坐标点阵中的坐标点;!' = 1,2, ,/, y-l,2,…,/。
4、 根据权利要求1所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所 述的步骤③中的局部牲包括字母的笔划数、字母的笔段数、字母的竖向穿越数、字母的 横向穿越数、字母中是否存在点笔划、点笔划的数目及点笔划所处位置。
5、 根据权利要求4所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所述的步骤③中的基于阿拉伯字母局部特征的逐级多层粗分类算法的具体步骤为③-l、第一层粗分类根据阿拉伯字母的形状特征,将所有标准阿拉伯字母分成casel类、case2 类、case3类和case4类四类,casel类包括笔划数为1笔的字母,case2类包括笔划数为 2笔的字母,case3类包括笔划数为3笔的字母,case4类包括笔划数为4笔的字母,按 输入的手写阿拉伯字母的笔划数直接得到与该输入的手写阿拉伯字母匹配的第一候选 字母集合;③-2、第二层粗分类当第一候选字母集合与casel类相应时,对输入的手 写阿拉伯字母进行笔段分割,当分割得到的笔段数为1时,直接得到该输入的手写阿拉 伯字母匹配的第二候选字母集合;当分割得到的笔段数大于1时,计算该输入的手写阿 拉伯字母的竖向穿越数S,当S-l或S-2时,计算该输入的手写阿拉伯字母的横向穿越 数H,根据横向穿越数H得到该输入的手写阿拉伯字母匹配的第二候选字母集合,当 S=3时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该输入的手写阿拉 伯字母匹配的第二候选字母集合,当S=4时,直接得到该输入的手写阿拉伯字母匹配的 第二候选字母集合;当第一候选字母集合与case2类相应时,判断输入的手写阿拉伯字 母的笔划中是否存在点笔划,如果存在点笔划,则当点笔划的数目为l时,根据点笔划 处于该输入手写阿拉伯字母的上方、下方或内部位置,分别得到该输入的手写阿拉伯字 母匹配的第二候选字母集合;当点笔划的数目为2时,直接得到该输入的手写阿拉伯字 母匹配的第二候选字母集合;如果不存在点笔划,则再根据该手写阿拉伯字母是否为上 下结构,分别得到该手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与 case3类相应时,判断输入的手写阿拉伯字母中除点笔划之外的其他笔划是否首尾相连, 如果首尾相连,则直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合,如果首 尾不相连,再判断点笔划的位置,如果点笔划处于该输入的手写阿拉伯字母的上方,则 计算该输入的手写阿拉伯字母的竖向穿越数S,当S4或S-2时,计算该输入的手写阿 拉伯字母的横向穿越数H,根据横向穿越H得到该输入的手写阿拉伯字母匹配的第二候 选字母集合,当S4时,根据该输入的手写阿拉伯字母的末笔划中的提笔的走向得到该 输入的手写阿拉伯字母匹配的第二候选字母集合,当S-4时,直接得到该输入的手写阿 拉伯字母匹配的第二候选字母集合,如果点笔划处于该手写阿拉伯字母的下方,则直接 得到该输入的手写阿拉伯字母匹配的第二候选字母集合;当第一候选字母集合与case4 类相应时,计算输入的手写阿拉伯字母中除点笔划之外的其他笔划的横向穿越数H,当 横向穿越数H大于等于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集 合,当横向穿越数H小于3时,直接得到该输入的手写阿拉伯字母匹配的第二候选字母集合。
6、 根据权利要求5所述的一种自然手写阿拉伯字母联机识别方法,其特征在于所 述的步骤③-2中对输入的手写阿拉伯字母进行笔段分割的具体过程为定义经过步骤② 处理后得到的新笔迹坐标点阵中表示输入的手写阿拉伯字母首笔划中的落笔的新笔迹 坐标点为当前笔迹坐标点;判断当前笔迹坐标点与与其相隔一个新笔迹坐标点的两新笔 迹坐标点构成的夹角是否大于设定的阈值,当夹角大于设定的阈值时,则确定当前笔迹 坐标点为初步拐点;对下一个新笔迹坐标点作同样的处理,得到所有的初步拐点;将所 有初步拐点中正在处理的初步拐点定义为当前初步拐点,将当前初步拐点相邻的两个初 步拐点中与当前初步拐点之间的矢量距离较近的一个初步拐点删除,直至所有的初步拐 点处理完毕,得到所有优化拐点;以优化拐点为界对输入的手写阿拉伯字母进行分割得 到笔段。
7、 根据权利要求5或6所述的一种自然手写阿拉伯字母联机识别方法,其特征在 于所述的步骤④包括以下具体步骤 -1、提取输入的手写阿拉伯字母的freeman链码; -2、利用公知的Viterbi算法计算该输入的手写阿拉伯字母的freeman链码与预先设定 的字库中与第二候选字母集合中每个字母相应的各个标准字母的最优隐马可夫模型的匹配概率; -3、利用公知的冒泡排序法对计算得到的各个匹配概率进行排序,获取最 大匹配概率; -4、将预先设定的字库中与最大匹配概率对应的标准字母确定为输入的手写阿拉伯字母的最终识别结果。
全文摘要
本发明公开了一种自然手写阿拉伯字母联机识别方法,优点在于提出的基于阿拉伯字母局部特征的逐级多层粗分类算法充分利用了阿拉伯字母的各种局部特征,以字母的笔划数作为第一层粗分类依据,得到输入的手写阿拉伯字母匹配的第一候选字母集合,再根据其它局部特征和第一候选字母集合,得到输入的手写阿拉伯字母匹配的第二候选字母集合,该算法的应用使输入的手写阿拉伯字母只需与预先设定的字库中与第二候选字母集合相应的标准字母进行匹配识别,与直接将输入的手写阿拉伯字母与预先设定的字库中的所有标准字母进行匹配识别相比,有效减小了输入的手写阿拉伯字母匹配识别的搜索范围、提高了匹配速度,并提高了识别精确度。
文档编号G06K9/68GK101398902SQ20081012139
公开日2009年4月1日 申请日期2008年9月27日 优先权日2008年9月27日
发明者丁洪珍, 何加铭, 史智慧, 史爱军, 樊玲慧, 范周镒, 贾德祥, 闻建芬, 平 陈, 静 陈, 马成臣 申请人:宁波新然电子信息科技发展有限公司