CN102870399B - 在ocr过程中将词语位图分割为单个字符或字形 - Google Patents

在ocr过程中将词语位图分割为单个字符或字形 Download PDF

Info

Publication number
CN102870399B
CN102870399B CN201180023323.7A CN201180023323A CN102870399B CN 102870399 B CN102870399 B CN 102870399B CN 201180023323 A CN201180023323 A CN 201180023323A CN 102870399 B CN102870399 B CN 102870399B
Authority
CN
China
Prior art keywords
transversal
line
candidate
text
character
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.)
Active
Application number
CN201180023323.7A
Other languages
English (en)
Other versions
CN102870399A (zh
Inventor
D·尼耶姆切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102870399A publication Critical patent/CN102870399A/zh
Application granted granted Critical
Publication of CN102870399B publication Critical patent/CN102870399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

提供一种图像处理装置,包括在进行OCR处理的文本图像的位图中将词语分割为单个字符的字符截断器组件。字符截断器组件被配置为产生(可能是弯曲的)截断线的集合,所述截断线将任何给定的词语的位图分为其单个字符或字形候选。当输入的位图包含两个独立的词语,这种情况可以通过标记这些词语应当被拆分的位置来处理。通过考虑在给定的词语位图中的字形和背景颜色,字符分割算法计算垂直方向的、弯曲的截断线的集合。随后为了保存那些确实分隔了词语的字形的线以及将那些没有分隔词语的字形的线的数目减到最少,使用各种试探法过滤所述集合。

Description

在OCR过程中将词语位图分割为单个字符或字形
背景技术
一般地在标准编码方案中,光学字符识别(OCR)是一种基于计算机的将文本图像转化为机器可编辑文本的数字形式。这个过程无需手动输入文档到计算机***中。由于图像质量不佳、扫描过程中所引起的缺陷等等,许多不同的问题会出现。例如,传统的OCR引擎被耦接到扫描文本页面的平板扫描仪。由于页面被严密地置于扫描仪的扫描面,由扫描仪产生的图像通常呈现出均匀的对比度和亮度、降低的歪斜和失真、以及高分辨率。因此,OCR引擎可以很容易地将图像中的文本转化成机器可编辑文本。然而,当图像在对比度、亮度,歪斜等方面质量较低,OCR引擎的性能将会降低,并且由于处理图像中的所有像素,处理时间将会增加。这种情况可能是,例如,当图像是从书中获得或者其生成是通过基于成像器的扫描仪时,因为在这些情况下,是隔了一段距离、从不同的方向、以及在不同亮度下扫描文本/图片。即使扫描过程中的性能是良好的,但当相对低质量的文本页面被扫描时,OCR引擎的性能将会降低。
OCR过程的一个部分识别文本图像的位图中的文本行。OCR引擎的一个组件以一系列截断线(chop line)来分割每一个文本行,所述截断线位于相邻字符或字形之间。理想地,单个字符或字形位于相邻的截断线对之间。然而,在许多情况下,由于不佳的图像质量、字体粗细、斜体文本、字符形状等等,很难将词语分割为单个符号。
发明内容
提供一种图像处理装置,包括在进行OCR处理的文本图像的位图中将词语分割为单个字符的字符截断器组件。字符截断器组件被配置为产生(可能是弯曲的)截断线的集合,所述截断线将任何给定的词语的位图分为其单个字符或字形候选。当输入的位图包含两个独立的词语,这种情况可以通过标记这些词语应当被拆分的位置来处理。通过考虑在给定的词语位图中的字形和背景颜色,字符分割算法计算垂直方向的、弯曲的截断线的集合。之后为了保存那些确实分隔词语的字形的线以及将那些没有分隔词语的字形的线的数量减到最少,使用各种试探法过滤所述集合。
在一个实施中,当接收到图像的位图时,所述分割过程开始。所述图像包括至少一个文本行,所述文本行通过基准线(base-line)和中间线(mean-line)被识别。然后,生成多个候选截断线,每一个候选截断线最大化适应函数(fitness function),随着相应的候选截断线的总路径亮度增加,所述适应函数增加,并且随着交点(intersection)数目增加,所述适应函数减少,其中,所述交点数目表示了相应的候选截断线穿过的白到黑和黑到白的转换的数目(根据他们相应的强度加权)。所述适应函数因此选择包含更多亮的像素以及更少的油墨交点的候选截断线。之后从所述候选截断线中选择至少一个截断线。所述截断线分隔所述文本行中的相邻的字符或字形对。
在一个特定的实施中,将每个候选截断线分配到多个组之一,每个组中的候选截断线彼此都在阈值逻辑距离内,所述两个候选截断线之间的逻辑距离与位于所述两个候选截断线之间的取反(inverted)像素值的和成比例。从每个组中选择候选截断线。所选择的候选截断线具有其组的最大置信测度(confidence measure)。如果任何所选择的候选截断线的置信测度低于阈值水平,则消除任何所选择的候选截断线,从而提供候选截断线的第一集合。相互比较所述候选截断线第一集合中的候选截断线对。如果所述对中的第一成员的置信测度小于所述对中的第二成员的置信测度,并且如果所述第二成员的置信测度与所述第一成员和第二成员之间的逻辑距离的递减函数的乘积大于所述第二成员的所述置信测度,消除所述对中的第一成员。通过这样的方式,获得对应于最终的多个截断线的候选截断线的第二集合。
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
图1示出了用于执行文本图像的光学字符识别(OCR)的***的一个说明性的例子。
图2示出了用于以一系列位于相邻字符或字形之间的截断线来分割每个文本行的字符截断处理的高级流程图。
图3a示出了包括词语“of ground”的文本行的基准线(底部水平线)和中间线(上方水平线)。
图3b示出了针对图3a所示的文本行计算的一系列的截断线。
图4示出了在进行OCR处理的文本图像的位图中将词语分割为单个字符的图像处理装置的一个例子。
图5示出了序列,其中为双字母组(bigram)“fy.”的上部确定最佳的半部线(half-line)。
图6出于图示逻辑距离的概念的目的,示出了穿过词语“Larry”的一系列的12个连续候选截断线。
图7图示预处理步骤,其中词语的位图中的相邻的字符互相接触。
图8示出了将图像的位图中词语分割为字符或字形的方法的一个例子。
具体实施方式
图1示出了用于执行文本图像的光学字符识别(OCR)的***5的一个说明性的例子。***5包括生成文件15的图像的数据捕获装置(例如,扫描仪10)。扫描仪10可以是基于成像器的扫描仪,其利用电荷耦接的设备作为图像传感器以生成图像。扫描仪10处理图像以生成输入数据,并发送输入数据到处理装置(例如,OCR引擎20)以用于识别图像内的字符。在这个特定的例子中,OCR引擎20被纳入在扫描器10中。然而,在其他示例中,OCR引擎20可以是诸如独立单元的单独单元或纳入在诸如PC、服务器等另一设备中的单元。
OCR引擎20接收文本图像作为文本行的位图。所述图像可以是文本或诸如PDF或Microsoft Word文档的数字文档的扫描图像,其中输入数据已经可用。如果这样的输入的数据不可用,OCR引擎的段检测组件被假定接收来自ORC引擎的其他组件的图像以作为输入,其中对于图像中的每一页,文本行(以及可能的词语)的列表已经被识别。单个行和词语分别被行和词语的边界框所定义。所述边界框本身被针对其每一个所建立的坐标集合所定义。
如前面所提到的,OCR引擎20的一个组件用一系列截断线分割每一个文本行,所述截断线位于相邻字符、字形或连字之间,它们此处被看作为可以互相交换。为方便起见,术语“字形”可能会不时在此处用来指字形、字符和/或连字。理想地,单个字形位于相邻的截断线对之间。
然而,在许多情况下,由于不佳的图像质量、字体粗细、斜体文本、字符形状等等,很难将词语分割为单个字符、字形或连字。令词语分割更困难的是,有时在给定的词语位图中单个字形之间没有清晰的空间划分。例如,字符可以连接,或整个词语被加下划线。
如下文所详述,字符截断器组件被配置为产生(可能是弯曲的)截断线的集合,所述截断线将任何给定的词语的位图分为其单个字符或字形候选。当输入的位图包含两个独立的词语,这种情况可以通过标记这些词语应当被拆分的位置来处理。通过考虑在给定的词语位图中的字形和背景颜色,字符分割算法计算垂直方向的、弯曲的截断线集合。之后为了保存那些的确分隔词语的字形的线以及使那些没有分隔词语的字形的线的数目减到最少,使用各种试探法过滤所述集合。
图2示出了用于以一系列位于相邻字符或字形之间的截断线分割每个文本行的字符截断处理的高级流程图。当接收图像的位图时,该处理开始于框210。所述位图像包括词语的至少一个文本行。所述文本行通过基准线和中间线被识别。
基准线被定义为穿过文本行中大部分字符的底端(不包括下伸部)的水平线。类似地,“中间线”被定义为穿过文本行中大部分字符的顶端(不包括上伸部)的水平线。“x-高度”被定义为基准线和中间线之间的垂直距离,其对应所述行中大部分小写字母的高度(不包括非下伸部和非上伸部)。图3a示出了包括词语“of ground”的文本行的基准线(底部水平线)和中间线(上方水平线)。
在位图被接收后,该处理在框220中继续,其中生成候选截断线。每一个候选截断线分隔文本行中的相邻字符或字形对。为每一个候选截断线计算置信测度或置信水平,这反映了截断线分隔字符或字形的精确程度。图3b示出了针对图3a所示的文本行计算的一系列的截断线。在图3b中,线越暗,则置信水平越高。图3b还示出了词语“of”和“ground”之间的词语间截断线。最可能对应于实际的字符间的或字形间截断线的候选截断线的子集被选择。
最后,在框230中,该处理为每个文本行输出截断线的子集。所述输出包括每个文本行的坐标、候选截断线和它们的置信测度。此输出可用于将截断线应用于文本行以识别或者产生所述字符或字形。
图4示出了在进行OCR处理的文本图像的位图中将词语分割为单个字符的图像处理装置的一个例子。所述装置400,其可以被纳入OCR引擎,包括了用于接收具有被基准线和中间线所识别的文本行的输入图像的输入组件402,所述基准线和中间线已经在OCR引擎的先前组件中计算。该装置还包括字符截断器组件404。字符截断器组件404包括一个或多个预处理组件406以及用于生成多个截断线的候选截断线生成器组件408,每一个候选截断线分隔文本行中一对相邻的字符或字形。字符截断器组件404还包括用于选择候选截断线的子集的截断线选择组件410,所述候选截断线的子集对应于多个截断线,其中每一个截断线都分隔文本行中一对相邻的字符或字形。装置400还包括生成涉及截断线的信息的输出组件412,以允许被OCR引擎的后续组件采用的形式而生成所述截断线。后续组件可以是,例如,使用了算法的词语搜索组件,诸如识别字符组成的词语的集束搜索(beam search)算法。
如上面提到的,来自***的输出是一个相当小的(可能是弯曲的)截断线的集合,所述截断线从词语的顶部向下延伸到其底部。虽然该集合应该正确地将所述词语的位图截断为单个字符或字形的位图,但是对于所述集合可能(尽管并非所期望的)具有一些额外的(即,错误的)截断线(即截断某些单个字形的截断线)。如果***“确定”输出集合中的一些特定的截断线的确是字形间的截断,那么它将以适当的方式标记该截断。然而,有时,由于词语分割错误,作为***的输入位图的一部分接收的文本行中的两个连续的词语有可能被视为一个位图。在这样的情况下,截断线的输出集合将包含使第一个词语的最左边的字形和第二个词语的最右边的字形分离的线。***通常将这样的截断线标记为潜在的词语间截断。
下面将给出截断线被确定的处理的概述。在该概述之后,将给出特定算法的更详细的讨论,所述特定算法被采用以实施该处理。该描述将包括多个例子以进一步促进对该处理的理解。
截断线计算概述
每个由字符截断器组件确定的截断线可以使用多个锚点来构造,这将在下面定义。虽然数字可以从0变化到h,其中h为以像素为单位的输入图像的位图的高度,但下面的实施例将只采用单一的锚点。给定了输入位图的高度h和宽度w,字符截断器组件在两个步骤中计算候选截断线的集合。
在第一步骤中,使用动态编程来计算候选截断线的初始集合。完成这个的一种方法如下。对于沿着文本行中的词语中心行的每个像素,字符截断器计算最优化的垂直方向的包含该像素的截断线。中心行是精确位于基准线和中间线之间的像素行。沿着中心行的这些像素的每一个都用作其各自的截断线的锚点。截断线以这样的一种方式来构造:从中心行上的像素的上方和下方的所述位图的每一行中选择一个且只选择一个像素。此外,选自相邻行的截断线中的两个像素的x坐标值不能相差超过1个像素。这将确保截断线是单一的、完全连接的线。由于对沿中心行的每个像素计算截断线,对于具有w像素的宽度的输入位图,将生成w个截断线。这些截断线条构成候选截断线的集合。每个候选截断线将有h个像素的高度,并因此精确包含h个像素。
一旦w个候选截断线已被计算,进行截断线计算处理的第二步骤。在此步骤中,从总的候选截断线的集合中选择至少一个截断线的子集,这样,对于词语的位图中每对相邻的字符或字形,在所述子集中存在有至少一个正确分隔它们的截断线。选择分隔字符或字形的候选截断线的合适子集的处理在计算上很困难。因此,截断线过滤处理被采用,其中各种试探法被用来减少候选截断线的数目。这种过滤处理的一个例子也将在下面更详细描述。
候选截断线的计算
如上所述,给定h个像素的高度和w个像素的宽度的输入位图,计算w个候选截断线的集合。所述集合被双射映射到中心行像素 - 第                                                线(0 <= j<w),其对应于中心行的第像素。可以使用动态编程来完成的线计算。
被计算的每个侯选截断线被优化以最大化其表示字符或字形之间的实际截断线的似然度。换言之,在所有穿过锚点像素而可以形成的潜在线之外,候选截断线表示最有可能代表实际的截断线的线。为了识别最佳截断线,一种线“最优”准则被选择。
在一个实施中,最优准则被选择为每一个线的两个属性的函数:它的“路径亮度”,其代表组成所述线的像素总体亮度,以及它的“交点计数”,其反映了所述线所呈现的白到黑和黑到白的转换的数目。这个数目会被加权以考虑到转换的强度,这样,更强烈的转换被赋予了更多的权重。换言之,被选择作为候选截断线的穿过锚点的最优线是包含更多亮度像素的和更少的油墨交点的线,其定义了图像中的前景文本。现在将给出使用该最优准则的两个组件的基本原理的简要说明。
只单独的检查路径亮度的准则不是好的最优准则,因为在某些情况下(例如,当两个相邻的字形互相接触),交叉点是无法避免的。例如,在一个情况中,线可能将字母“o”切为两半,因此当穿过相对较小数目的黑色像素时(由于字母“O”的印刷质量),对单个字形具有两个交点。在另一个情况中,线可正确地截断“ry”字符串,该字符串在某些特定的字体中被打印为单个字形('r'和'y'在顶部结合),因此所述线与前景油墨只相交一次。然而,在第二种情况下的线可能会穿过与第一条线相同数目的黑色像素。显然,为了确定在第二个情况中的线具有更高的作为实际的截断线的概率,路径亮度不能是唯一的准则。
同样,仅检查交点的数目也不是好的最优准则。例如,在一个情况中,截断线可以进入字母“l”的顶部,并在它的底部退出,得到一个白到黑以及一个黑到白的交叉点。在另一个情况中,截断线与两个加下划线的字形交叉,所述字形在他们被加下划线的地方彼此接触。因此,在第一和第二情况中的线将有相同的交叉点计数。显然,为了确定在第二个情况中的线具有更高的作为实际的截断线的概率,交点计数不能是唯一的准则。
通过将穿过所述线的加权的像素值相加,可以计算候选截断线的路径亮度。加权因子由背景颜色的差异引起并且由OCR引擎的背景过滤组件产生。通过将截断线上空间临近的像素的加权的亮度差相加,可以计算所述交点计数。下面将提供用于确定路径亮度和交点计数,并把它们组合成的最优准则的说明性方法。
在一个实施中,候选截断线的两个半部彼此分开计算,然后结合起来。一半可对应于中心行之上的截断线部分并且另一半并可对应于中心行之下的截断线部分。特别地,对应于中心行上的像素的截断线由上半部和下半部线组成。所述上半部线开始于并结束于位图的第一或顶部行的某个(由半部线的形状确定)像素。下半部线同样开始于pi并结束于位图的最后的或底部行的某个像素。使用下节中描述的最优准则分开计算所述两个半部线,并之后加入到最终的候选截断线。
所述上半部和下半部线都以类似的方式计算。因此,只在此处描述上半部线的计算。使用动态编程逐行地(从第一或顶部行开始)计算所述半部线。为了描述半部线计算,下列术语/数据结构被定义(设定):
● :通过以下算法计算的线,其中,使其第一像素位于位图的第一或顶部行上的某处,并且其最后像素位于位图的第行与第列。
● 中第个像素的值
● 
● 
● ……(1)
其中是用于归一化目的的常数
● 质量的测量值。其通过下面的公式计算:
  (2)
显然,亮度越高,适应值更高。另一方面,(归一化的)交点计数越高,适应值变得越低。
凭经验选择INTERSECTIONMAX夹常数
一旦对所述第行计算适应值,就使用下面的公式完成第行的计算:
…(3)
其中:
● img是输入位图
● M是凭经验选择的夹常数 (公式(2)中的INTERSECTIONMAX)
这背后的原因很简单:对于当前被处理的所述行中的每个像素,算法分析对于从其左上角、上部、或者右上角的邻居到达该像素是否“更便宜”(即最大化适应函数)。在处理所述中心行之后,所述适应值将反映所有的w个上半部线的线质量测量值,并且它们每一个都将从中心行上的它自己(并且唯一的)的像素开始“优化”。
对于公式3中的对角线(左上角和右上角)转换,将有额外的惩罚,为了清楚起见而省略。如果所分析的词语是斜体样式,那么惩罚系数会有所不同。斜体文本的检测将在以下单独的一节中描述。
当发现公式(3)中的的值,计算以及,依据该计算来自公式(3)的项被选为最大的一项。
结合图5中说明确定半部线的算法,所述图5在该图的左上部分示出了原始图像(双字母组“fy”的上部)。单个目标像素200被选择(图5顶部中间部分)。如图5右上部分所示,通过像素200的最优路径将包含其左上角(像素202)、顶部(像素204)、或右上角(像素206)的相邻像素。由于截断线计算处理开始于图像顶部行并继续向下,可以假定最优截断线路径包含有那些都已经计算出的三个像素(图5中图片左下角的线220、底部中间的线230、以及右下角的线240)。对于那些已计算出的三个路径,再加上该目标像素,计算三个适应函数并彼此比较。选择具有最大适应值的路径作为目标像素的最优路径。此处理针对当前行上的每个像素继续,然后将其反复进行,直到达到最后一行。在半部线的方法中,最后一行将成为中心行。然后对输入图像的下半部分(图5中未示出)执行整个处理。最后,对于沿中心行的每个像素,已被计算的所述上半部和下半部线被接合在一起以形成候选截断线。
在候选截断线被计算之后,它们各自的置信测度可被确定。获得置信测度的一种方式如下所示。首先,路径亮度被变换,以使得它在某些预定义的范围之内,在这个例子中,该范围被选择为从0.0到1.0。从理论上讲,亮度的值不能超过最大象素值和位图高度的乘积,因此该常数(maxlight)可以用来作为缩放因子。此外,可以根据经验选择一些非零的值(minlight),这样具有比该值低的亮度的线将永远不能被认为是适当的截断线候选。例如,进入字母“l”的顶部并在其底部离开的线,其约80%的长度在油墨占据的暗区中,从而可以安全地从分析中省略。为了更多地强调反映线的质量的值,minlight和maxlight之间的亮度值可能被线性插值到(0.0,1.0)范围,而那些低于minlight的值将被夹到零。这个缩放的亮度值之后将乘以描述交点计数的公式(1)中括号中的项,其将在(0.0到1.0)的范围内。
候选截断线过滤
如前面所提到的,在候选截断线的集合被确定之后,选择线的至少一个子集,这样对于词语的位图中的每对相邻的字符或字形,在子集中存有一个且只有一个能正确地将它们分隔的截断线。由于这是一个计算密集型任务,所以候选截断线以计算上有效的方式被过滤到以尽可能多的减少集合的大小,同时保留截断线的正确的子集。
过滤算法采用被称为截断线逻辑距离的度量。所述截断线逻辑距离被定义为来自位于两个截断线之间的输入位图的取反像素值的总和。因此,这些像素变得越暗,则在这两条线之间的截断线逻辑距离就越大。相反地,如果在某两个特定截断线之间只有纯白色的背景,则它们之间的逻辑距离将等于零。
个候选截断线的初始集合首先严格地按照它们的锚像素沿着输入位图的中心行的位置升序排列。然后根据线的逻辑距离将线安排到组中。与线0之间距离是在一定的阈值的逻辑距离之内的任何线被添加到第一组。超过阈值的第一个线,被添加到第二组。然后使用这第二组中的第一个线作为新的参考线,这样,在它的第二阈值的逻辑距离之内的任何随后的线被添加到第二组。该处理被重复,直到达到最后一个线。凭经验选择阈值。在将逻辑距离与阈值相比较之前,他们被归一化(除以他们的x-高度值的平方),以补偿不同的输入位图的大小。
接下来,从每个组中选择具有最大的置信测度的线。其他所有的线被过滤掉。在该新建立的集合中的任何候选截断线,如果其置信测度低于某一阈值,那么也被过滤掉。然后通过检查围绕该新形成的组中每个成员的本地邻域(依据逻辑距离),执行第二滤波步骤。针对任何能被过滤掉的额外的线搜索该邻域。例如,假设都作为新形成的组的成员的两个线A和B,是在同一个本地邻域并且置信度A >置信度B。取决于A和B的逻辑距离以及他们的置信度比率,线B可能会或可能不会被过滤掉。特别是,在逻辑距离被归一化到0.0到1.0的范围之内后,置信度A乘以线A和线B之间的逻辑距离的递减(例如,以指数方式)函数。如果该乘积高于置信度B,那么线B将被过滤掉。这种做法背后的逻辑是:紧挨着“强”线的“弱”线应被排除出进一步的分析。
在某些情况下,过滤算法可包括加权函数,以提供逻辑距离加权措施。这样做的原因是:如果位于两根截断线之间的油墨处于输入位图的中心行附近,或靠近其顶部或底部附近的某处,其可用于进行区分。特别是,比起之间具有相同数量的油墨或“暗处”、但是直接沿中心行放置的某其它的两个线,之间具有油墨的位于输入位图顶部或底部的两个候选截断线可以被标记为逻辑上“更远”。这是一个经验导出的试探法,可以很容易地说明。例如,如果两条线之间有一个标点符号字形(因此,少量的“黑”), 则两条线不是“逻辑接近”。由于标点符号字形位于输入位图的顶部附近或其底部附近,该试探法形成直观的感觉。需要将此加权因子考虑进来的初始逻辑距离计算算法的修正很简单——为每一行的像素值的计算的和简单地乘以特定的、行方向的缩放因子。
过滤算法也可减少权重甚至过滤掉那些过于弯曲的(其中曲线度被计算为线顶部和底部像素之间的x坐标的差异)的截断线。相反,过滤算法可能给予“直”线额外权重。
有时即使已执行上述的过滤之后,仍然可能在两个高置信度的线之间存在一定数目的低置信度的线。这是可能出现的,例如,当一批线穿过字母“N”的对角部分时。考虑到这种情况,只有一个小的、固定数目的低置信度线可被允许存在于两个“相当接近”的高置信度的线之间。
结合图6可说明逻辑距离的概念,其中示出了穿过词语“Larry”一系列的连续12个连续的候选截断线。也就是说,每个候选截断线相对于之前的候选截断线其锚点的x坐标增加1。图6所示的序列遵循正常的阅读顺序,即从左上角的词语开始,并继续从左至右以及从上到下。可以观察到在线1和2(字母“a”的下部)以及线11和12(字母“r”的下部)之间,存在大量的油墨。但是,线2和3之间、线2和线4之间、线2和线5之间等等没有多少油墨,线2和线11也一样。因此,线2和线11仍然逻辑接近彼此。因此,线2至11很可能属于同一组,从而除了最大置信度的一个线之外,示出的所有的线将被过滤掉。
除了置信测度之外,与候选截断线关联的额外的信息或注解可以被确定。例如,如果候选截断线不与背景重叠,并且如果来自未经过滤的候选截断线的集合的其最近的周围邻域只由不与背景重叠的高置信度的线组成,候选截断线可被指定为实际的截断线。可以凭经验选择最近的周围邻域的大小,可以为将线指定为高置信度线所需的高置信度阈值。作为另一个例子,除了其最近的周围邻域的大小超过了被指定为实际截断线的线的最近的周围邻域的大小达一定的量(该量也可以是凭经验确定的),如果候选截断线满足实际截断线所要求的相同条件,该候选截断线可能被指定为词语间截断线。
预处理步骤
将文本行中词语分割为单个字符或字形之前执行一些预处理步骤。例如,斜体文本的截断线显然与非斜体文本有不同的主导斜率,因此可以在预处理步骤照此识别斜体文本。同样地,在某些情况下,两个字符或字形将彼此接触,使分割处理更加困难。因此在分割处理中,在确定候选截断线条之前识别这样的字符或字形是有帮助的。
关于斜体文本,对比于正常的文本,用于斜体文本的截断线的主导斜率显然是不同的。主导截断线斜率可以通过展开公式3以对在不同方向上倾斜的截断线采用不同的惩罚系数而得到。然而,在改变这些系数之前,有必要检测给定的词语是是否为斜体样式。
斜体文本的检测可以如下进行。使为给定词语的位图的第列的像素值的和。该投射将有一定数量的分别由字形间间隔和主导的垂直字形部分引起的波峰和波谷。波峰和波谷将以交替顺序出现。在“正常”的文本样式的情况下,这些“振荡”一般都比斜体文本更加明显,因为字体和字形的主导部分以及它们之间的间隔不与正常情况下的非斜体文本一样垂直。
作为一个例子,如果一种样式中相同的词语相对于另一种样式中相同的词语向左侧偏斜一定角度,两种情况可能发生: 1. 原始词语以正常样式打印。词语的偏斜版本将看上去类似于斜体样式,并且在第一种情况下的所述振荡将更加明显。 2. 原始词语以斜体样式打印。词语的偏斜版本将看上去类似于正常样式,并且在第二种情况下的所述振荡将更加明显。
可使用这些试探法以检测斜体样式。有许多方法来计算反映振荡强度的值。其中一个可是:
其中数组的平均值。
关于两个字符或字形彼此接触的情况,如果两个字符或字形共用大的油墨的垂直部分,上述分割算法将失败。例如,一对“o”有时会出现彼此“粘合”。为了处理这些情况,在截断线计算之前加入简单的预处理阶段。该阶段以下列方式操作:
1. 从输入位图中计算顶部和底部的文本轮廓。使位图的宽度表示为w。对于每个x坐标(x= 0...w-1),所述顶部轮廓从位图的顶部看追踪x行中第一个非背景像素的y坐标。同样地,所述底部轮廓从位图的底部看追踪x行中第一个非背景像素的y坐标。 2. 由于字符或字形的形状,顶部轮廓中将存在局部极小值(“波谷”)并且在底部轮廓中存在局部极大值(“波峰”)。如果有一个x坐标,其中顶部轮廓的波谷在底部轮廓的波峰之上,那么将有很高的概率该x坐标对应于两个字符或字形彼此接触的位置。 3. 一旦这些局部极小值和极大值被识别,它们之间的最短路径被计算。然后最短路径上的非背景像素被点亮,以便识别在该位置上的潜在的截断线候选。即使在两个接触的字符或字形难以进行分割的情况下,输入位图的该修正也允许截断线计算阶段识别潜在的截断线。
以该方式修改输入位图的处理在图7中示出。在图7中,初始位图被显示在顶部。底部位图已被修正以淡化沿着连接顶部和底部轮廓中的局部极小值和极大值的线的非背景像素,所述顶部和底部轮廓出现在位图“sc”,“ss”以及“se”。
图8示出了将图像的位图中词语分割为字符或字形的方法300的一个例子。当接收到图像的位图时,方法300开始于步骤310。所述图像包括至少一个由基准线和中间线识别的文本行。接着,在步骤320中,生成多个候选截断线,其中每一个最大化适应函数,其中,随着相应候选截断线的总路径亮度增加,所述适应函数增加,并且随着交点数目增加,所述适应函数减少。交点数目表示了各候选截断线穿过的白到黑和黑到白的转换的数目。在步骤330中,从候选截断线之中选择至少一个截断线。所述截断线分隔文本行中的一对相邻的字符或字形。
如在本申请中所使用的,术语“组件”、“模块”、“***”、“装置”、“接口”等一般旨在指计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用和控制器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带...)、光盘(例如,紧凑盘(CD)、数字多功能盘(DVD)...)、智能卡,以及闪存设备(例如,卡、棒、键驱动器...)。当然,本邻域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但是可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种从文本位图生成字符或字形的装置,包括:
输入组件,用于接收包括至少一个文本行的图像的位图,所述文本行通过基准线和中间线识别;
字符截断器组件,包括用于生成多个截断线的候选截断线生成器组件,每一个截断线分隔所述文本行中的一对相邻的字符或字形,其中,所述候选截断线生成器组件被配置为穿过至少一行中的每个像素产生候选截断线,所述至少一行在所述文本行中并沿着所述文本行延伸,所述字符截断器组件进一步包括用于选择所述候选截断线的子集的截断线选择组件,所述候选截断线的子集对应于每一个均分隔所述文本行中的一对相邻的字符或字形的多个截断线;以及
输出组件,应用所述截断线到文本行中以产生所述字符或字形。
2.根据权利要求1所述的装置,其中,所述候选截断线生成器组件生成候选截断线,每个候选截断线最大化适应函数,其中,随着相应的候选截断线的总路径亮度增加,所述适应函数增加,并且随着交点数目增加,所述适应函数减少,其中,所述交点数目表示了相应的候选截断线穿过的白到黑和黑到白的转换的数目。
3.根据权利要求1所述的装置,其中,所述候选截断线组件针对所述文本行中沿着所述文本行延伸的额外像素行延伸字符截断线的每一个,同时继续最大化每个字符截断线表示字符或字形之间的实际截断线的似然度。
4.根据权利要求3所述的装置,其中所述额外像素行包括所述文本行中的所有像素行。
5.根据权利要求1所述的装置,其中,所述至少一行是所述文本行中基准线和中间线之间的中心行,并且所述字符截断器组件被配置为在所述中心行之上和之下分别产生候选截断半部线,并随后结合在一起。
6.根据权利要求2所述的装置,其中,所述候选截断线生成器组件生成与每个截断线关联的置信测度,该置信测度反映了截断线分隔字符或字形的精确程度。
7.根据权利要求6所述的装置,其中,所述置信测度依赖于缩放路径亮度和所述交点数目的乘积,其中,对于低于阈值水平的路径亮度,所述缩放路径亮度被赋值为零。
8.根据权利要求1所述的装置,其中所述截断线选择组件通过以下步骤选择候选截断线的子集:
将每个候选截断线分配到多个组,其中,每个组的候选截断线彼此都在阈值逻辑距离内,两个候选截断线之间的逻辑距离与位于两个候选截断线之间的取反像素值的和成比例;
从每个组中选择具有最大置信测度的候选截断线;
如果任何所选择的候选截断线的置信测度低于阈值水平,消除任何所选择的候选截断线,从而提供候选截断线的第一集合;以及
比较所述候选截断线第一集合中的候选截断线对,并且如果所述候选截断线对中的第一成员的置信测度小于所述候选截断线对中的第二成员的置信测度,并且如果所述第二成员的置信测度与所述第一和第二成员之间的逻辑距离的递减函数的乘积大于所述第一成员的置信测度,则消除所述候选截断线对中的第一成员,从而提供被指定为对应于所述多个截断线的所述候选截断线的所述子集的候选截断线的第二集合。
9.根据权利要求8所述的装置,其中,所述两个候选截断线之间的逻辑距离与位于所述两个候选截断线之间的所述取反像素值的加权和成比例,其中更接近于穿过所述文本行的中心线的像素的取反像素值比朝向所述中间线或所述基准线远离所述中心线的像素的取反像素值加权更多。
10.根据权利要求8所述的装置,其中,所述截断线选择组件消除不与任何不包含文本的所述图像的背景区域重叠的所选择的候选截断线,对于所述所选择的候选截断线,在所选择的候选截断线的指定的距离之内没有额外的候选截断线,以使得所述额外的候选截断线不与任何不包含文本的所述图像的背景区域重叠。
11.一种将图像的位图中的词语分割为字符或字形的方法,包括:
接收包括至少一个文本行的图像的位图,所述文本行通过基准线和中间线被识别;
生成多个截断线,每一个截断线通过穿过至少一行中的每个像素产生候选截断线来分隔所述文本行中的一对相邻的字符对或字形,所述至少一行在所述文本行中沿着所述文本行延伸;以及
选择所述候选截断线的子集,所述候选截断线的子集对应于每一个均分隔所述文本行中的一对相邻字符对或字形的多个截断线。
12.根据权利要求11所述的方法,其中产生多个截断线包括:生成所述候选截断线,以使得他们中的每一个最大化适应函数,其中,随着相应的候选截断线的总路径亮度增加,所述适应函数增加,并且随着交点数目增加,所述适应函数减少,其中,所述交点数目表示了相应的候选截断线穿过的白到黑和黑到白的转换的数目。
13.根据权利要求11所述的方法,进一步包括针对在所述文本行中沿着所述文本行延伸的每个像素行延伸字符截断线的每一个,同时继续最大化每个字符截断线表示字符或字形之间的实际截断线的似然度。
14.根据权利要求11所述的方法,其中所述至少一行是所述文本行中基准线和中间线之间的中心行,并且所述字符截断器组件被配置为在所述中心行之上和之下分别产生候选截断半部线,并随后结合在一起。
15.根据权利要求12所述的方法,进一步包括生成与每个截断线有关的置信测度,其反映了截断线分隔字符或字形的精确程度,所述置信测度依赖于缩放路径亮度和所述交点数目的乘积,其中,对于低于阈值水平的缩放路径亮度,所述缩放路径亮度被赋值为零。
CN201180023323.7A 2010-05-10 2011-04-28 在ocr过程中将词语位图分割为单个字符或字形 Active CN102870399B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/776,576 US8571270B2 (en) 2010-05-10 2010-05-10 Segmentation of a word bitmap into individual characters or glyphs during an OCR process
US12/776576 2010-05-10
PCT/US2011/034242 WO2011142977A2 (en) 2010-05-10 2011-04-28 Segmentation of a word bitmap into individual characters or glyphs during an ocr process

Publications (2)

Publication Number Publication Date
CN102870399A CN102870399A (zh) 2013-01-09
CN102870399B true CN102870399B (zh) 2015-09-02

Family

ID=44901973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180023323.7A Active CN102870399B (zh) 2010-05-10 2011-04-28 在ocr过程中将词语位图分割为单个字符或字形

Country Status (6)

Country Link
US (1) US8571270B2 (zh)
EP (1) EP2569930B1 (zh)
CN (1) CN102870399B (zh)
CA (1) CA2797363C (zh)
HK (1) HK1179445A1 (zh)
WO (1) WO2011142977A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401293B2 (en) * 2010-05-03 2013-03-19 Microsoft Corporation Word recognition of text undergoing an OCR process
US20130194448A1 (en) 2012-01-26 2013-08-01 Qualcomm Incorporated Rules for merging blocks of connected components in natural images
US9064191B2 (en) 2012-01-26 2015-06-23 Qualcomm Incorporated Lower modifier detection and extraction from devanagari text images to improve OCR performance
US9014480B2 (en) 2012-07-19 2015-04-21 Qualcomm Incorporated Identifying a maximally stable extremal region (MSER) in an image by skipping comparison of pixels in the region
US9141874B2 (en) 2012-07-19 2015-09-22 Qualcomm Incorporated Feature extraction and use with a probability density function (PDF) divergence metric
US9262699B2 (en) 2012-07-19 2016-02-16 Qualcomm Incorporated Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
US9076242B2 (en) 2012-07-19 2015-07-07 Qualcomm Incorporated Automatic correction of skew in natural images and video
US9047540B2 (en) 2012-07-19 2015-06-02 Qualcomm Incorporated Trellis based word decoder with reverse pass
US9183636B1 (en) 2014-04-16 2015-11-10 I.R.I.S. Line segmentation method
US9443158B1 (en) * 2014-06-22 2016-09-13 Kristopher Haskins Method for computer vision to recognize objects marked for identification with a bigram of glyphs, and devices utilizing the method for practical purposes
CN107392260B (zh) * 2017-06-08 2020-03-17 中国民生银行股份有限公司 一种字符识别结果的错误标定方法和装置
US10482344B2 (en) 2018-01-04 2019-11-19 Wipro Limited System and method for performing optical character recognition
US10970848B2 (en) 2018-11-29 2021-04-06 Sap Se Font family and size aware character segmentation
CN112926334A (zh) * 2019-12-06 2021-06-08 北京三星通信技术研究有限公司 确定词表示向量的方法、装置及电子设备
CN111626302B (zh) * 2020-05-25 2022-07-29 西北民族大学 乌金体藏文古籍文档图像的粘连文本行切分方法及***
CN113421256B (zh) * 2021-07-22 2024-05-24 凌云光技术股份有限公司 一种点阵文本行字符投影分割方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331120A (ja) * 1999-05-19 2000-11-30 Nec Corp 文字認識装置及びその文字認識方法並びにその制御プログラムを記録した記録媒体
CN101251892A (zh) * 2008-03-07 2008-08-27 北大方正集团有限公司 一种字符切分方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW222337B (zh) 1992-09-02 1994-04-11 Motorola Inc
US5848184A (en) 1993-03-15 1998-12-08 Unisys Corporation Document page analyzer and method
US5384864A (en) * 1993-04-19 1995-01-24 Xerox Corporation Method and apparatus for automatic determination of text line, word and character cell spatial features
EP0677811A1 (en) * 1994-04-15 1995-10-18 Canon Kabushiki Kaisha Image processing system with on-the-fly JPEG compression
JP3805005B2 (ja) * 1994-11-09 2006-08-02 キヤノン株式会社 画像処理装置及び光学的文字認識装置及びそれらの方法
JP3425408B2 (ja) * 2000-05-31 2003-07-14 株式会社東芝 文書読取装置
JP4655335B2 (ja) 2000-06-20 2011-03-23 コニカミノルタビジネステクノロジーズ株式会社 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
JP4181310B2 (ja) 2001-03-07 2008-11-12 昌和 鈴木 数式認識装置および数式認識方法
US7095894B2 (en) 2002-09-04 2006-08-22 Lockheed Martin Corporation Method and computer program product for recognizing italicized text
US20060008148A1 (en) * 2004-07-06 2006-01-12 Fuji Photo Film Co., Ltd. Character recognition device and method
US7911655B2 (en) 2004-10-06 2011-03-22 Iuval Hatzav System for extracting information from an identity card
US7808681B2 (en) 2004-10-06 2010-10-05 Iuval Hatzav Portable photocopy apparatus and method of use
US7702182B2 (en) 2006-02-16 2010-04-20 Adobe Systems, Incorporated Method and apparatus for creating a high-fidelity glyph prototype from low-resolution glyph images
US20080304113A1 (en) 2007-06-06 2008-12-11 Xerox Corporation Space font: using glyphless font for searchable text documents
GB0719964D0 (en) 2007-10-12 2007-11-21 Katholleke Universiteit Leuven Method for detecting and resolving hidden text salting
JP5376795B2 (ja) 2007-12-12 2013-12-25 キヤノン株式会社 画像処理装置、画像処理方法、そのプログラム及び記憶媒体
US7471826B1 (en) * 2008-03-31 2008-12-30 International Business Machines Corporation Character segmentation by slices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000331120A (ja) * 1999-05-19 2000-11-30 Nec Corp 文字認識装置及びその文字認識方法並びにその制御プログラムを記録した記録媒体
CN101251892A (zh) * 2008-03-07 2008-08-27 北大方正集团有限公司 一种字符切分方法和装置

Also Published As

Publication number Publication date
CA2797363C (en) 2017-07-04
WO2011142977A2 (en) 2011-11-17
EP2569930B1 (en) 2023-01-11
EP2569930A4 (en) 2017-08-09
US20110274354A1 (en) 2011-11-10
HK1179445A1 (zh) 2013-09-27
US8571270B2 (en) 2013-10-29
CA2797363A1 (en) 2011-11-17
EP2569930A2 (en) 2013-03-20
CN102870399A (zh) 2013-01-09
WO2011142977A3 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
CN102870399B (zh) 在ocr过程中将词语位图分割为单个字符或字形
CN102782702B (zh) 在光学字符识别(ocr)过程中的段落识别
JP5699570B2 (ja) 画像処理装置及び画像処理プログラム
JPH0713995A (ja) 自動テキスト特徴決定装置
JP6003705B2 (ja) 情報処理装置及び情報処理プログラム
CN104992152A (zh) 一种基于模板字符库的字符识别方法及字符识别***
US8538157B2 (en) Device, method and computer program for detecting characters in an image
CN102782705B (zh) 包括经历ocr处理的文本的图像的分辨率调整
US9330311B1 (en) Optical character recognition
CN111832497B (zh) 一种基于几何特征的文本检测后处理方法
De Nardin et al. Few-shot pixel-precise document layout segmentation via dynamic instance generation and local thresholding
Rodrigues et al. Cursive character recognition–a character segmentation method using projection profile-based technique
US5379349A (en) Method of OCR template enhancement by pixel weighting
JP6310155B2 (ja) 文字認識装置、文字認識方法及び文字認識プログラム
Jia et al. Grayscale-projection based optimal character segmentation for camera-captured faint text recognition
US9405997B1 (en) Optical character recognition
CN109409370B (zh) 一种远程桌面字符识别方法和装置
Kaur et al. TxtLineSeg: text line segmentation of unconstrained printed text in Devanagari script
JP5145862B2 (ja) 画像処理プログラムおよび画像処理装置
Sarkar et al. A font invariant character segmentation technique for printed bangla word images
US8432555B2 (en) Image processing apparatus, image processing method, computer-readable medium and computer data signal
Shakya et al. Optical character recognition for nepali, english character and simple sketch using neural network
JPS6343788B2 (zh)
Kariyaa et al. Development of training data for Optical Character recognition using deformed printing characters
CN116563869A (zh) 页面图像文字处理方法、装置、终端设备和可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1179445

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150612

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150612

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1179445

Country of ref document: HK