首页> 中国专利> 基于有效阿拉伯文特征提取的阿拉伯文识别方法及系统

基于有效阿拉伯文特征提取的阿拉伯文识别方法及系统

摘要

本发明自动识别阿拉伯文本的方法包括将一行阿拉伯字符数字化形成一关于像素的二维数组,每一像素赋予一像素值,其中像素值采用二进制数表示;将该行阿拉伯字符分为多个条图像;在多条图像的一条图像中定义多个单元,每一单元中包含一组相邻的像素;将多个条图像的一条图像内多个单元的每一单元中的像素值连续排列形成一二进制单元编号;根据得自多个条图像中一条图像的多个单元的二进制单元编号构造文本特征向量;将该文本特征向量提供给一隐马尔可夫模型以识别该行阿拉伯字符。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-02

    未缴年费专利权终止 IPC(主分类):G06K9/62 授权公告日:20130123 终止日期:20180817 申请日:20100817

    专利权的终止

  • 2013-01-23

    授权

    授权

  • 2012-01-04

    实质审查的生效 IPC(主分类):G06K9/62 申请日:20100817

    实质审查的生效

  • 2011-08-03

    公开

    公开

说明书

技术领域

本专利申请主要涉及阿拉伯文本的自动识别。

背景技术

文本识别,即文本的自动阅读,是模式识别的一个分支,文本识别的目的是以人的精度和更高的速度读取打印文本内容。大多数文本识别方法都是假设文本内容能够分离为独立的字符。此类技术,虽然可以成功地处理机打或排版的拉丁语文件,但是不能可靠应用于处理草体字迹,例如阿拉伯文。之前关于阿拉伯文字迹的识别研究已经证明试图将阿拉伯单词分成单独的字符存在困难。

阿拉伯语对文本识别系统提出了几个挑战。阿拉伯语字迹本身具有草体特点,采用印刷体的方式分离地去写每个字符是无法接受的。而且,阿拉伯字母的形状与上下文是紧密联系的;阿拉伯字母的形状依赖于这个字母在一个单词中的位置。例如,字母具有四种不同的形状:单独使用时为例如在中;在单词起始位置时为例如在中;在单词中间位置时为例如在单词中;在单词结束位置时为例如在单词中。另外,不是所有的阿拉伯字母都与单词有关。由于在一个单词内间距也用来分离某些字母,因此两个单词之间的边界是很难能够自动识别的。

现在已有的多种分类系统,例如统计模型,已经被应用到阿拉伯文本识别中来。然而,适当地提取文本特征仍然是准确识别阿拉伯文本的一个主要障碍。

发明内容

一方面,本发明涉及一种阿拉伯文本自动识别方法,本发明的方法包括:获取包含一行阿拉伯字符的文本图像;将该行阿拉伯字符数字化形成一关于像素的二维数组,每一像素赋予一像素值,其中像素值采用二进制数表示;将该行阿拉伯字符分为多个条图像;在其中一条图像中定义多个单元,每一单元中包含一组相邻的像素;将条图像内单元中的像素值连续排列形成一个二进制单元编号;根据从条图像单元中获取的二进制单元编号构造文本特征向量;将该文本特征向量添加到隐马尔可夫模型中去识别该行阿拉伯字符。

另一方面,本发明涉及一种阿拉伯文本自动识别方法。本方法包括:获取包含一行阿拉伯字符的文本图像;将该行阿拉伯字符数字化形成一关于像素的二维数组,每一像素赋予一像素值,其中像素值采用二进制数表示,该二维数组由第一方向上的多行和第二方向上的多列组成;计算一列像素中具有相同像素值的连续像素的频率;利用从列象素中计算得到的该频率构造一文本特征向量;将该文本特征向量添加到隐马尔可夫模型中去识别该行阿拉伯字符。

另一方面,本发明涉及一种阿拉伯文本自动识别方法。本方法包括:获取包含一行阿拉伯字符的文本图像;将该行阿拉伯字符数字化形成一关于像素的二维数组,每一像素赋予一像素值;将该行阿拉伯字符分为多个条图像;缩小至少其中一个条图像生成一缩小后的条图像;将该缩小后的条图像中的每一列像素中的像素值连续排列形成一串序列编号,其中该串序列编号构成一文本特征向量;将该文本特征向量添加到隐马尔可夫模型中去识别该行阿拉伯字符。

另一方面,本发明涉及一计算机程序产品,其包括一可用于计算机的介质,该介质中嵌有计算机可读程序代码,该程序代码可以使计算机获取一包含一行阿拉伯字符的文本图像;数字化该行阿拉伯字符形成一关于像素的二维数组,每一像素赋予一像素值,其中像素值采用二进制数表示;将该行阿拉伯字符分为多个条图像;在其中一条图像中定义多个单元,每一单元中包含一组相邻的像素;将条图像内每一单元中的像素值连续排列形成一个二进制单元编号;根据从条图像单元中获取的二进制单元编号构造文本特征向量;将该文本特征向量添加到隐马尔可夫模型中去识别该行阿拉伯字符。

系统的执行可以包括下述的一种或多种方式。本方法可以进一步包括将二进制单元编号转换十进制单元编号;将获得自多个条图像中一条图像内多个单元的十进制单元编号连续排列形成一串十进制单元编号;根据将获得自多个条图像中一条图像内多个单元的一串十进制单元编号构造文本特征向量。像素二维数组可包括第一方向上的多行和第二方向上的多列。该行阿拉伯字符可沿该第一方向顺序排列。多个条图像可沿该第一方向顺序排列。至少一条图像的高可由第一方向的M行限定,宽由第二方向的N列限定。M和N为整数。该像素二维数组可包括N行像素,N取值范围在2到大约100之间,可取值在3到大约10之间。该像素二维数组中的像素值采用单比特二进制数表示,也可采用多比特二进制数表示。隐马尔可夫模型可以作为一个隐马尔可夫模型工具包使用。

本发明中的系统和方法为阿拉伯文本的特征提取提供了全面的、大量的、精确的技术。与现有技术相比,本发明公开的阿拉伯字符识别效率更高并且运算时间更少。与现有技术相比,本发明公开的方法和系统也更简单、易行。

虽然本发明通过多个具体实例进行展示和描述,但是相关领域的技术人员可以理解在不脱离本发明精神和范围的基础上,实现形式和细节上可以有多种改变。

附图说明

下列附图,作为说明书的一部分,用于解释本发明的具体实例,并且和说明书结合在一起,用于解释本发明的原理。

图1是本发明阿拉伯文本识别步骤的方法流程图。

图2显示了一包含阿拉伯文本的文本图像。

图3A显示了文本图像被分为多个条图像,每个条图像包括多个像素。

图3B和图3C显示了部分图3A所示条图像的像素和像素值。

图4显示了本发明的一种文本特征提取方法;

图5是图4所示文本特征提取步骤的流程图;

图6显示了本发明的另一种文本特征提取方法;

图7A-7D显示了本发明的另一种文本特征提取方法;

图8是图7A-7D所示文本特征提取步骤的流程图。

具体实施方式

图1显示了本发明阿拉伯文本识别步骤的总体流程。参考图1-3C,从阿拉伯文本中获取一文本图像200(如图1的步骤110)。文本图像200中的阿拉伯文本可能被排列成多行211-214,每一条包括一串草体字迹的阿拉伯字符。文本行211-214被分为多个条图像311-313(如图1的步骤120)。其中一条图像311,312或313又被分为像素321-323,每一像素赋予一像素值(如图1的步骤130)。条图像311,312或313的宽取值范围为2像素到100像素,或宽取值范围在3像素到10像素之间。条图像311,312或313可以包括一个完整的字符,部分字符或连在一起的多个字符。

像素值代表在某一具体像素位置处文本图像200的强度值。在一具体实例中,强度值高代表像素点的图像颜色亮(或密度低),该像素点可能是在白背景中。强度值低代表像素点的图像颜色暗(或密度高),该像素点可能在一阿拉伯字符的笔划中。像素值可以采用不同的进制体系表示,比如二进制,十进制和十六进制数。

参考图3A-3C,条图像311包括一图像320,图像320包括321-323多个像素,其中每一像素被赋予一二进制像素值“0”或“1”。像素值“1”代表白背景、像素值“0”代表阿拉伯字符笔划中的暗图像颜色(或者低强度值)。值得注意的是本发明的系统和方法也适用于多比特二进制像素值,多比特二进制像素值能够表达多色调等级图像强度值(例如灰度)。

根据本发明,可以从文本行211或条图像311-313中提取文本特征向量(如图1的步骤140)。下面结合图4-8具体讨论各种文本特征提取方法。文本特征向量的具体形式可以依据提取方法而变化,如下述所述。

步骤140中获得的特征向量被输入到隐马尔可夫模型(HMM)(如图1的步骤150)中。本发明中,HMM可以采用隐马尔可夫模型工具包(HTK),HTK是一方便的工具包用于构建和操作隐马尔可夫模型。HTK不需要字典而依赖于训练样本的字符模型和语法。HMM提供的概率翻译能够接受特征向量中的模式变化。HTK中的很多功能可以被嵌入到C语言源代码的模块库中。这些模块被设计成采用传统命令行类型接口进行调用,因此易于手写控制HTK工具执行。

利用包含已知阿拉伯单词(数据形式副本)的文本图像中获得的特征向量可训练HMM(如图1的步骤160)。进行样本训练时,需要为HTK提供一字符模型和一基准。字符建模单元接收特征向量和相应的基准估算字符模型。训练样本产生的训练资料用来调整模型参数,而那些测试样本产生的训练结果用来分析系统性能。每一模型状态代表字母表中的一字母,每一特征向量对应于一训练结果。HTK训练工具能够利用准备好的训练数据调整字符模型参数,来预测已知的数据形式副本。

根据训练图像片段的基准来估算HMM参数。这种分割也可用于轮廓以查找分割点,从这些图像片段中提取特征,然后把特征向量转换成一训练资料序列。这种基于图像分割的技术采用动态方案以匹配单词图像和字符串。训练阶段接收与基准匹配的经仔细检查的文本行作为输入,其中文本对应于文本图像。然后,每条文本被分成多个狭长的竖直窗口,从该竖直窗口提取特征向量。

然后使用一字典和一语言模型,利用训练好的HMM识别特征向量中的阿拉伯文本(如图1的步骤170)。识别阶段遵循相同的步骤提取通过训练阶段估算过的不同知识源来使用的特征向量以查找具有最高相似度的字符序列。识别工具需要一个网络系统去描述从一个模型到另一模型的转换概率。字典和语言模型可输入到识别工具中以帮助识别器输出正确的状态序列。

在一些实例中,参考图3A-5,条图像311-313被数字化到一像素321-323的数组中,每一像素具有一像素值(如图5的步骤510)。条图像311,如图4所示,被分成多个单元410-460(如图5的步骤520)。410-460的每一单元包括一组相邻的像素,比如一3×3像素的数组。例如,420单元包括像素422,423和其他像素。

每一单元中的像素值随后被表示为二进制单元编号(如图5的步骤530)。每一单元中的像素值首先连续排列。比如,420单元中的322-323这9个像素以三连行:1,1,1,1,0,0,1,0,0的方式连续排列。然后,二进制像素值序列被映射为一9比特二进制单元编号。322像素中的像素值被映射到最高位比特,323像素中的像素值被映射到最低位比特。因此,420单元中的像素值被表示为一9比特二进制单元编号111100100。同理,410-460单元中的像素值被转换为二进制单元编号,即图4中的480,每一二进制单元编号的取值范围都在0和511之间。

条图像311单元中的二进制单元编号随后被转换为十进制单元编号,即图4中的490(如图5的步骤540)。然后十进制单元编号490被排列化形成条图像311的特征向量(如图5的步骤550)。对于其他条图像,重复步骤520-550。将从不同条图像311-313中提取的特征向量输入到一隐马尔可夫模型中去识别该文本行中的阿拉伯字符(如图5的步骤560)。

上述结合图4-5描述的提取方法代表了一种图1所示文本特征提取流程的实施方式。众所周知,上述文本特征提取方法同样适用于数据串的多比特像素值和其他数值表示。例如,像素值可以采用3-比特或5-比特二进制数表示,这样能够在文本图像中获得灰度信息(或多色调)。多比特像素值可提高沿笔划边界描述文本特征的精度。

进一步,除了二进制数,像素值可以表示为一最小值与一最大值之间的数值区间。在一些实施方式中,像素值可被线性标度(或规格化)为一预定区间,比如[0,1]或[-1,1]。像素值因此能够被量化。特征向量可通过与步骤530-550相似的步骤获取。

在一些具体实例中,参考图6,一条图像610分辨率被按比例缩减(即按比例缩小)以形成一缩小的条图像620。例如,条图像610的高可为60像素。缩小后的条图像620的高可为20像素,在尺寸上缩小为1/3。缩小后的条图像620数字化后形成一630像素数组,630数组中每一像素标示一像素值。数组630的每一列中的像素值被序列化成一二进制数。不同列的二进制数构成一数据串640,该数据串640构成一特征向量。从文本条的条图像中获得的特征向量被添加到隐马尔可夫模型以识别该文本行中的阿拉伯字符(如图5的步骤560)。

参考图7A,7B,和图8,与步骤510相似(如图5所示),条图像700数字化为一像素数组中(如图8的步骤810)。像素被排列成多列。像素值以单比特二进制数表示,取值为“1”或“0”。每列的像素值都序列化为一串单比特二进制数(如图8的步骤830)。

接下来,如图7C和7D所示,计算具有相同二进制像素值“1”和“0”的连续像素的频率。计算频率直到一截止跳变数。将频率制表形成频率计数表750和760(如图8的步骤850)。为了区分具有相同跳变数但是像素值互补的两列,例如,

0    1

0    1

0    1

1    0

1    0

0    1

0    1

1    0

频率计数从一列的顶点像素“1”开始统计计数。左列第一个像素值“1”的计数为“0”,接下来像素值“0”的计数为“3”。两列互补像素值将会得到下列频率统计结果:

0    3

3    2

2    2

2    1

1    0

0    0

众所周知,不脱离本发明的精神,在每一列开始的最初像素统计也可以以像素值“0”开始。

在频率计数表750,760中的每一行(如图7C,7D所示)代表一次像素值上的跳变,即从一白背景(像素值为“1”)变化到一暗文本区域(像素值为“0”),反之亦然。为了压缩数据,频率计数表截止到一最大跳变数。

频率计数表750,760每一列中的频率计数构成一特征向量(如图8的步骤860)。这样,在当前描述的实例中一列可以作为一个向量。将条图像中不同列构成的特征向量输入到一隐马尔可夫模型中(如图8的步骤870)。

基于大量的阿拉伯文本样本统计分析来确定最大跳变数。如表1所示,大约99.31%的列具有6个或者更少的跳变。也就是说,选取6作为截止跳变值,对于绝大多数的文本图像都能够适用。

表1、素材中的变化数

  一列内的变化数  列数  百分比  0  3003663  18.44%  1  95418  0.59%  2  7694625  47.24%  3  74196  0.46%  4  4231776  25.98%  5  45013  0.28%

  6  1028765  6.32%  <=6  99.31%  7  7403  0.04%  8  94771  0.57%  9  900  0.01%  10  9543  0.05%  12  1367  0.01%  <=12  0.01%

当创建出本系统的HMM时,首先设定好用于训练和测试本系统的特征向量的类型。特征向量可以分为连续型和离散型。在采用连续型特征向量的系统,使用一系数组或有时使用矩阵输入到模型中。在离散系统中,将单个系数输入到模型中。向量量化就是将连续向量转化为离散向量,转化方法可以利用HQuant和HCopy工具结合HTK实现。HQuant工具用来从训练数据中构建代码本,随后与HCopy工具一起使用生成离散向量。代码本创建对系统性能的影响取决于它的大小,并且受到创建其所用的数据量影响。HQuant工具使用线性矢量量化算法构建代码本,这是一个计算量很大的一个算法。本发明中介绍了一种新的,名为独一向量量化(Unique Vector Quantization,UVQ)方法来减少计算时间,提高系统性能。这种方法关键在于减少了用于构建代码本的特征向量的数量,即在线性矢量量化算法中删除重复的特征向量并且保持每一特征向量仅有一份。如表2所示,素材中的特征向量数量大大缩减。

表2、素材内独一向量计数

  素材内的行数  向量计数  独一向量计数  减少的百分比  10,000  12,285,426  413,410  96.64%  15,000  16,288,252  591,673  96.37%

当我们试图使用2000个不同条图像中的全部特征向量创建代码本时,我们发现所能创建代码本的最大尺寸是728。创建这个代码本的时间大约是9小时,而非用独一特征矢量创建一个1024大小的代码本花费的仅1小时30分钟。如表3所示,为采用单源模型进行实验得到的识别率。当独一特征向量与线性矢量量化算法结合使用时,代码本的大小增加了。计算时间缩减为六分之一,识别率提高了。

表3采用独一向量计数的识别率

  代码本类型  代码本大小  创建时间  识别率  没有使用UVQ  728  9小时  83.59%  使用UVQ  1024  1小时30分钟  85.22%

可以理解的是,上面描述的方法不局限于具体实例中所采用的方法。在不脱离本发明精神的基础上具体形式可以进行变化。例如,跳变截止值可以选择除6以外的其他数。条图像的高和宽以及条图像内的单元大小也可以与上述实例中不同。文本特征向量的形式也可以根据提取方法的不同而不同。例如,特征向量的可以采用一串二进制数,十进制数,或其他数进制的数值。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号