首页> 中国专利> 识别在文档中使用的语言并且基于识别的语言执行OCR识别的方法和装置

识别在文档中使用的语言并且基于识别的语言执行OCR识别的方法和装置

摘要

在此提供一种基于每个字符的笔画数识别文档中使用的语言的方法和装置。一旦识别,可以基于识别的语言进行字符识别。在一个实施例中,字符识别引擎用于字符识别,其中,字符识别引擎是为识别的语言特制的。

著录项

  • 公开/公告号CN104704510A

    专利类型发明专利

  • 公开/公告日2015-06-10

    原文格式PDF

  • 申请/专利权人 摩托罗拉解决方案公司;

    申请/专利号CN201280076305.X

  • 发明设计人 赵明熙;陈士杰;何启贞;林崴;

    申请日2012-10-10

  • 分类号

  • 代理机构中原信达知识产权代理有限责任公司;

  • 代理人陈依虹

  • 地址 美国伊利诺伊州

  • 入库时间 2023-12-18 09:28:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-31

    授权

    授权

  • 2015-07-08

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

    实质审查的生效

  • 2015-06-10

    公开

    公开

说明书

技术领域

本发明一般涉及确定文档中使用的是什么语言,并且更具体地涉 及一种用于识别在文档中使用的语言,并执行基于识别的语言执行字 符识别的方法和装置。

背景技术

在大多数字符识别应用中,对每一个书写字符进行分析,并试图 识别该字符。如已经使用字符识别的人所知,这个过程可能需要一定 时间。例如,在常用的字符识别软件中,对一个15页的文档执行字符 识别可能花费一分钟。如果可以减少这个时间段,将是有益的。因此, 需要有一种比现有技术更快的执行字符识别的方法和装置。

附图说明

在附图的各个独立示图中,相同的附图标记是指相同或功能相似 的要素,附图与在下面的具体实施例一起,被并入本说明书并且形成 本说明书的一部分,以及用来进一步说明各种实施例,并且解释根据 本发明的各种原理和优势。

图1示出字符中的每个笔画被分离的字符。

图2示出具有彼此交叉的笔画的字符。

图3示出特定字符的笔画的确定。

图4是示出光学字符识别(OCR)设备的框图。

图5是示出图4的OCR设备的操作的流程图。

图6示出薄线以帮助识别字符。

本领域技术人员将理解的是,附图中的要素为了简明和清晰起见 而被图示,并且不一定按比例绘制。例如,附图中的部分要素的尺寸 可以相对于其它要素被夸大,以帮助提高对本发明的实施例的理解。 而且,为了促进对于本发明的这些各种实施例的不太混乱的查看,通 常不描绘在商业上可行的实施例中实用或必要的常见而公知的要素。 应当进一步认识到,可以以特定的发生顺序来描述或描绘特定的动作 和/或步骤,而本领域中的技术人员将理解,实际上不需要这样的关于 顺序的指定。

具体实施方式

为了缓解上述需要,在本文中提供一种用于识别在文档中使用的 语言的方法和装置。一旦识别,可用基于识别的语言进行字符识别。 在一个实施例中,字符识别引擎被用于字符识别,其中,字符识别引 擎是为识别的语言特制的。

更具体地,当以多种语言中的一种撰写文档时,可以识别打印的 文档(或字符)的主要语言,并且在字符识别中使用相应的识别引擎。 如所讨论的,字符识别引擎是为识别的语言特制的。在此方法中,根 据识别的语言,分别使用不同的识别引擎。为了识别字符或文档中使 用的语言,确定在书写字符时使用的笔画数。然后,笔画数确定当执 行字符识别时使用何种识别引擎。

在不同的语言之间,每个字符的平均笔画数差异非常大。作为示 例,对于汉语,每个字符的平均笔画数约为15。对于英语,每个字符 的平均笔画数约为2。在本发明的一个实施例中,确定字符中使用的笔 画数,并且该信息用于确定在文档中使用的主要语言。一旦语言已经 被识别,可以使用特制的识别引擎来识别文档中的字符。

上述用于识别语言和执行字符识别的技术可以大大减少字符识别 所需的时间量。更具体地,因为字符中的笔画数可以被快速识别,所 以文档中使用的语言可以被快速识别。这允许在识别特定字符时使用 特定识别引擎(针对所识别的语言)。例如,第一识别引擎可能仅能 够识别来自第一语言(例如,英语)的字符,而第二识别引擎可能仅 能够识别来自第二语言(例如,汉语)的字符。由于对于一小组字符 只利用单个识别引擎,因此可以显着加快字符识别处理。换句话说, 因为不使用同时包含英语和汉语字符的较大识别引擎,可以加快字符 识别处理。

估计字符中的笔画数:

笔画被定义为从笔按压(端点)开始且在笔抬起(也是端点)结 束的曲线/直线。一个字符包括几个笔画。笔画可以与其它笔画交叉。 所有字符可被分为两大类:

A.字符的各笔画被分离的字符(图1)。在这种情况下,很容易获 得字符的笔画数。具体而言,可以容易地计算一个字符的端点数。在 图1中,端点数是笔画数的2倍。因此,如果我们知道端点数,就可 以得到一个字符的笔画数。

B.具有相互交叉笔画的字符。大多数汉语字符包括彼此相交的笔 画(图2)。当这种情况时,更难得到一个字符中的端点数。我们观察 到,交叉的笔画总是具有交叉点,位于一个笔画的中心或者的端部。 我们可以将交叉点分成3种情况。对于每一种情况,我们给出规则以 得到有效的端点数:

对于201所描绘的情况,在交叉点周围有四个分支。在交叉点处, 假定没有端点。

对203中所描绘的情况,在交叉点处有三个分支。在交叉点处, 假定存在一个端点。

对205中所描绘的情况,其中两条线相交,如果前一像素与后一 像素之间的角度大于阈值(例如,60度),则它被定义为交叉点。在 交叉点处,假定存在两个端点。

为了估计字符中的总笔画数,我们检查字符的所有端点和交叉点。 端点是仅具有一个邻居的像素,并且交叉点是上述三种情况。每个实 际端点为总端点数贡献一个,而对于交叉点,我们可以基于图2所示 的上述三种情况积累数量。例如,在图3,总端点数是10(以计算的 笔画数加圈和编号),所以笔画数量是5。(请注意,我们计算的端点 数是实际笔画数的2倍)。

在获得字符的笔画数后,此值可用于确定该字符的语言。例如, 如果笔画数高于第一阈值,则语言可以被识别为第一语言(例如,汉 语、日语、韩语、…等)。然而,如果笔画数低于第一阈值,则语言 可以被识别为第二语言(例如,英语、西班牙语、...等)。例如,该阈 值可以是4。因此,如果在英语和汉语之间确定(在大多数情况下,不 存在笔画数大于4的英语字符),则若笔画数大于4,我们假设以汉语 撰写该字符(和在某些情况下,整个文档),否则该字符是英语。

上述技术可用于基于任意数量的样本字符中每个字符的平均笔画 数确定文档是以汉语撰写还是以英语撰写。例如,可以采样15个字符, 并且获得每个字符的平均笔画数。这可用于确定文档是以第一语言撰 写或以第二语言撰写。一旦语言被识别,可以进行字符识别。更具体 地,使用字符识别引擎进行字符识别,其中,字符识别引擎是为识别 的语言特制的。为特定语言特制字符引擎提供了具有仅包括来自特定 语言字符的字符集的字符引擎。因此,第一字符识别引擎可以用于第 一识别语言,而第二字符识别引擎可以用于识别第二语言。第一字符 识别引擎将不能够从第二语言识别字符,而第二字符识别引擎将不能 够从第一语言识别字符。

图4是示出根据本发明的一个实施例的光学字符识别(OCR)设 备400的框图。通常,如在此使用,OCR设备400被“配置”或“适 用于”是指使用一个或多个组件(例如存储器元件、网络接口和中央 处理单元)实现装置400,其中,可操作地耦接所述一个或多个组件, 并且当对所述一个或多个组件进行编程时,对这些系统元件形成实现 它们期望的功能,例如,如通过参照图5所示的方法示出的装置。OCR 装置400包括处理器401,其与各种系统组件可通信地耦接,包括存储 字符识别引擎407的存储器,存储字符识别程序403的存储部件,存 储操作系统405的存储部件,存储语言识别程序411的存储部件,存 储文档409的存储部件和图形用户界面(GUI)413。应当注意,尽管 在图4中所有存储部件分别示出,但是本领域的普通技术人员将认识 到,可以组合任意数量的存储部件403-413。另外,为了便于说明,在 图4中仅示出有限数量的系统元件,但是OCR装置400中可以包括附 加的此类元件。

在本发明的一个实施例中,所有存储部件包括标准的随机存取存 储器,而处理器401包括数字信号处理器(DSP)、通用微处理器,可 编程逻辑设备或者专用集成电路(ASIC),且用于使用语言识别程序 411来确定任何存储文件409所使用的语言或输入到GUI 413时所使用 的语言。一旦处理器401已经确定语言,处理器401利用字符识别程 序403和适当的字符识别引擎407来执行OCR。应当注意,尽管字符 识别程序403、语言识别程序411和引擎407作为单独的实体示出,但 是本领域的普通技术人员将认识到,任何数量的这些元件可以被存储 在单个存储部件内。

处理装置401可以部分以硬件实现,从而可以使用用于执行在图 4和图5描述的功能的软件或固件逻辑或代码(例如,字符识别程序 403)进行编程;和/或处理装置401可以完全以硬件实现,例如,实现 为状态机或ASIC(专用集成电路)。

程序403和411与引擎407一起在操作系统405(例如:Windows 7或Linux)顶部运行。当操作系统405请求任何程序或引擎启动时, 它是由处理器401执行。处理装置401使用语言识别程序411分析文 档或GUI输入,并基于笔画数确定使用的语言。然后,处理器使用字 符识别程序403和所确定的语言来加载恰当的引擎407。然后可以使用 适当的引擎执行字符识别。

光学字符识别引擎是为识别特定语言的字符特制的优选专用软 件。例如,在使用汉语字符的文档中,被设计为识别汉语字符的引擎 优选,而例如,在使用英语的文档中,被设计为识别英语字符的引擎 优选。

在装置400的操作期间,处理器401接收对存储的文档409或通 过GUI 413输入的文本执行OCR的请求。此请求可能通过GUI 413来 自设备400的用户。一旦接收到请求,需要确定文档/输入的语言。处 理器401执行语言识别程序411,以便确定该文档使用的语言。在执行 语言识别程序411期间,处理器401将提取文本的每一行,并使用标 准二值化将文本行转换为黑色和白色。对黑白图像执行图像处理方法 以使字符“变薄”。在图6中示出。如图所示,较厚的字符601变薄, 从而得到字符603。在此变薄中,笔画的宽度被最小化。为了识别单个 字符,可以对变薄的图像使用垂直投影方法。识别单个字符后,识别 每个字符的笔画数的估计,并且获得平均值。基于每个字符的平均笔 画数识别语言。

一旦语言已经识别,处理器401执行OCR程序403。当执行时, OCR程序403将利用所识别的语言来加载特制的识别引擎407。OCR 将使用特制的识别引擎407进行。

图5是示出装置400的操作的流程图。逻辑流程开始于步骤501, 在步骤501处,处理器401接收对存储的文件409或通过GUI 413输 入的文本执行OCR的请求。此请求可能通过GUI 413来自用户设备 400。一旦接收到请求,处理器401接收本文,并且处理器401确定文 档/文本的语言(步骤503)。如上所讨论的,通过对于一部分文档/文 本(例如,预定数量的字符、行、列、…等)确定每个字符的平均笔 画数来确定文档/文本的语言。一旦语言已经被识别,处理器401使用 特制的识别引擎407执行OCR(步骤505)。如上所讨论的,在执行 OCR时,使用识别引擎对本文执行字符识别,其中,所述识别引擎是 为所识别的语言特制的。因此,选择识别引擎的步骤包括从多个不同 的识别引擎选择识别引擎的步骤,其中,所述多个识别引擎内的每个 识别引擎是为特定语言(例如,汉语或英语)特制的。

在前面的说明书中,已经描述了具体实施例。然而,本领域技术 人员理解的是,在不背离所附权利要求中所阐述的本发明的范围的情 况下,可以作出各种修改和改变。例如,尽管上面给出特定技术来确 定每个字符的笔画数,但是这不应该被认为是可用于确定每个字符的 笔画数的唯一技术。因此,本说明书和附图应以说明性而非限制性意 义来考虑,并且所有这样的修改意在被包括在本教导的范围内。

本领域技术人员将进一步理解,诸如“电路”的特定实现实施例 可以等同地经由执行存储在非易失性计算机可读存储器中的软件指令 的通用计算装置(例如,CPU)或专用处理装置(例如,DSP)来实现。 还将理解的是,本文中所用的术语和表达具有常规技术含义,这与上 文阐述的本领域技术人员所用的此类术语和表达一致,除非其中不同 的特定含义在本文中的其它方面已经阐明。

益处、优势、对问题的解决方案、以及可以促使任何益处、优势 或解决方案被发现或者变得更显著的任何要素并不被解释为任何或所 有权利要求的关键性、所需或必要特征或要素。本发明由所附权利要 求唯一地限定,包括在本申请的未决期间进行的任何修改以及所发布 的那些权利要求的所有等同物。

此外,在本文档中,诸如第一和第二、顶部和底部等的关系用语 可以仅被用来区分一个实体或动作与另一实体或动作,而不必在这样 的实体或行为之间要求或暗示任何实际这样的关系或者顺序。用语“包 括”、“具有”、“包含”或其任何其它变体意在覆盖非排他性包括, 使得包括、具有、包含要素列表的过程、方法、物品或装置不仅包括 那些要素,而且可以包括没有明确列出或对这样的过程、方法、物品 或装置是固有的其它要素。在没有更多约束的情况下,由“包括…… 一个”、“具有……一个”、“包括……一个”、“……一个”展开的 要素不排除在包括、具有、包括、包含该要素的过程、方法、物品或 装置中存在额外的相同要素。除非在本文中另外明确说明。用语“一” 和“一个”被定义为一个或多个。用语“基本上”、“本质上”、“近 似地”、“大约”或者其任何其它说法被定义为接近于本领域技术人 员所理解,以及在一个非限制实施例中,该用语被定义为是在10%内, 在另一实施例中,在5%内,在另一实施例中,在1%内以及在另一实 施例中,在0.5%内。如在本文中所使用的用语“被耦接”被定义为被 连接,尽管不必直接并且不必机械地。以某种方式“被配置”的设备 或结构至少以该方式来配置,但是还可以以未列出的方式来配置。

将理解的是,一些实施例可以由以下组成:一个或多个通用或者 专用处理器(或“处理设备”),诸如微处理器、数字信号处理器、 定制处理器和现场可编程门阵列(FPGA);以及特有存储的程序指令 (包括软件和固件两者),其控制该一个或多个处理器结合某些非处 理器电路来实现在本文中所述的方法和/或装置的部分、大部分或全部 功能。可替选地,部分或全部功能可以由尚未存储程序指令的状态机、 或以其中每一个功能或某些功能的一些组合被实现为定制逻辑的一个 或多个专用集成电路(ASIC)来实现。当然,可以使用这两种方法的 组合。

此外,实施例可以被实现为在其上存储有计算机可读代码的计算 机可读存储介质,所述计算机可读代码用于为计算机(例如,包括处 理器)编程以执行如在本文中描述和所要求保护的方法。这样的计算 机可读存储介质的示例包括但是不限于:硬盘、CD-ROM、光存储设 备、磁存储设备、ROM(只读存储器)、PROM(可编程只读存储器)、 EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只 读存储器)和闪速存储器。进一步,预期的是,尽管有可能显著的努 力和由例如可用时间、当前技术和经济考虑激发的许多设计选择,本 领域技术人员当受到本文中公开的构思或者原理引导时将容易能够在 具有最少实验的情况下生成这样的软件指令和程序以及IC。

提供了本公开的摘要以允许读者快速弄清技术公开的性质。提交 摘要是为了便于理解,摘要将不用于解释或限制权利要求的范围或含 义。另外,在上述详细描述中,可以看出,为了精简公开的目的,在 各个实施例中将各种特定组合在一起。本公开的方法不被解释为反映 这样的意图:要求的实施例需要比每个权利要求中明确陈述的特征更 多的特征。而是,根据所附权利要求反映,有创造性的主题在于少于 单个公开实施例的全部特征。因此,所附权利要求并入详细描述,其 中,每个权利要求依靠其自身作为独立主张的主题。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号