CN113269009A - 图像中的文本识别 - Google Patents
图像中的文本识别 Download PDFInfo
- Publication number
- CN113269009A CN113269009A CN202010093899.1A CN202010093899A CN113269009A CN 113269009 A CN113269009 A CN 113269009A CN 202010093899 A CN202010093899 A CN 202010093899A CN 113269009 A CN113269009 A CN 113269009A
- Authority
- CN
- China
- Prior art keywords
- text
- language
- line region
- text line
- model
- 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.)
- Pending
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/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/14—Image acquisition
- G06V30/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
-
- 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/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- 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/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
-
- 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/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/293—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of characters other than Kanji, Hiragana or Katakana
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
Abstract
根据本公开的实现,提出了一种用于图像中的文本识别的方案。在该方案中,从图像中确定预期具有待识别的文本的目标文本行区域。利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息。单一字符模型基于以下被训练:多个训练文本行区域和多个训练文本行区域中的相应真实文本。多个训练文本行区域中的文本以不同定向被组织,和/或真实文本包括与多种语言相关的文本(例如,与拉丁语言和东方语言相关的文本)。基于所确定的概率分布信息,可以确定目标文本行区域中的文本。单一字符模型的应用使得文本识别过程更高效和简便。
Description
背景技术
文本识别指的是从图像中识别出其中的文本。图像文本中的文字形态可以是打印体、手写体和数字墨水文字等。包含文本的图像可以是由电子设备拍摄的数字图像、文档的扫描版本、数字墨水渲染的文本图像、以及任何其他包含文本的图像。图像中的文本识别具有很多用途,例如可以用于将手写字符数字化,用于从所拍摄的图像中识别车牌号、证件信息等期望信息,用于对扫描文档的数字化,用于实现基于图像的信息检索,用于数字墨水识别系统,等等。已经提出了很多文本识别技术。然而,由于图像中所呈现的文本的形式变化多样,期望能够提供更优化的方案用于实现文本识别。
发明内容
根据本公开的实现,提出了一种用于图像中的文本识别方案。在该方案中,从图像中确定预期具有待识别的文本的目标文本行区域。利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息。单一字符模型基于以下被训练:多个训练文本行区域和多个训练文本行区域中的相应真实文本。多个训练文本行区域中的文本以不同定向被组织,和/或真实文本包括与多种语言相关的文本(例如,与拉丁语言和东方语言相关的文本)。基于所确定的概率分布信息,可以确定目标文本行区域中的文本。通过该方案,可以无需针对不同文本定向和/或不同语言训练多个字符模型。单一字符模型的应用使得在文本识别过程中无需确定目标文本行区域中的文本定向和/或语言,从而更高效和简便。
提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实施本公开的多个实现的计算环境的框图;
图2示出了根据本公开的一些实现的文本识别模块的框图;
图3示出了根据本公开的一些实现的从图像中确定的目标文本行区域的示例;
图4A至图4C示出了根据本公开的一些实现的文本行预处理的一些示例;
图5示出了根据本公开的另一些实现的文本识别模块的框图;以及
图6A和图6B示出了根据本公开的一些实现的用于文本识别的过程的流程图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文中,“机器学习模型”也可以称为“学习模型”、“学习网络”、“网络模型”、或“模型”。“神经网络”或“神经网络模型”是一种深度机器学习模型。机器学习模型的参数集通过训练而确定。机器学习模型以利用训练的参数集,将接收到的输入映射到对应的输出。因此,机器学习模型的训练过程可以被认为是从训练数据中学习从输入到输出之间的映射或关联关系。
图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
在一些实现中,计算设备100可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如内存、闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。
计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实现中,除了被集成在单个设备上之外,计算设备100的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
计算设备100可以用于实施本公开的多个实现中的文本识别。存储器120可以包括一个或多个模块,其具有一个或多个程序指令,这些模块可以由处理单元110访问和运行,以实现本文所描述的各种实现的功能。例如,存储器120可以包括文本识别模块122,用于执行图像中的文本识别。
在文本识别时,计算设备100能够通过输入设备150接收待处理的图像170。图像170可以是由用户输入或用户指定,或者从其他途径获取或接收到。图像170中呈现文本,例如中文文本“单点蔬菜”、英文文本“Vegetables”、中文和英文混合文本“沙地土豆SandPotato”等等。文本识别模块122被配置为对图像170执行文本识别处理,并且将从图像170中识别的文本作为输出180。输出180可以可选地经由输出设备160输出,例如被呈现给用户或者给提供给外部设备。在一些实现中,输出180可以被存储以供后续使用,和/或作为针对图像170的后续处理的输入(例如,基于图像170的信息检索等)。本公开的实施例在此方面不受限制。
应当理解,图1示出的计算设备的部件和布置仅是示例,适于用于实现本公开所描述的示例实现的计算设备可以包括一个或多个不同的部件、其他部件和/或不同的布置方式。图1中示出的输入图像和对文本识别的输出也仅是示例。计算设备可以适合根据本公开的示例实现来处理任何其他图像,以识别或尝试识别图像中的文本。文本中的文字可以是打印体、手写体和数字墨水文字。用于执行文本识别的图像可以是任何类型的图像,诸如由电子设备拍摄的数字图像、文档的扫描版本、包含手写文本或数字墨水文本的图像、以及任何其他类型的图像。
如以上提及的,图像中所呈现的文本的排版可能存在很多变化。例如,在图像中,一组字符可能以纵向方向排列(例如,图1的图像170中的中文文本“单点蔬菜”),而另外一组字符可能以横向方向排列(例如,图1的图像170中的英文文本“Vegetables”以及其他文本)。此外,在很多实际应用中,例如在商业文档、商店招牌、餐厅菜单等场景,混合语言文本是非常常见的(例如,图1的图像170中的“沙地土豆Sand Potato”)。在本文中,“混合语言文本”指的是两种或两种以上语言的字符共同存在于一句话或者一部分文本中。相应的,“单一语言文本”指的是文本中仅存在单个语言的字符。当然,在混合语言文本和单一语言文本中,除语言特定的字符之外,可能还存在一些通用字符,诸如数字、标点符号或者其他符号。
大多数文本识别方案通常是从图像中定位一个可能存在文本的图像区域,然后对该图像区域执行处理以识别其中可能存在的文本。考虑到字符排列方向和不同语言的字符的差异性,在常规方案中,要求设计针对各个定向的多个专用文本识别模型和针对不同语言的多个专用文本识别模型来处理对应的图像区域。这就要求在定位特定图像区域之后,首先要判断该图像区域中文本的定向或语言,然后将图像区域输入到针对所确定的定向或语言而训练的文本识别模型中进一步处理。
这种方式不仅导致模型训练的复杂度增加,在实际文本识别过程中还要求更多的存储空间用于模型存储以及更多的计算资源用于实现复杂的文本识别过程。如果图像中不仅存在不同定向的文本,还存在不同语言的文本,则需要针对每种语言的某类定向来设计对应的文本识别模型,这进一步增加了模型训练和使用的复杂度。此外,对特定图像区域的文本识别结果非常依赖于对该图像区域中的文本的定向和语言识别的准确性,而这在一些复杂情况下(例如,图像变形,不同语言的字符频繁交替出现等)可能难以保证。
根据本公开的实现,提出了一种用于图像中的文本识别的方案。该方案利用单一模型来实现对图像中以各种定向被组织的文本和/或不同语言的文本进行识别,而无需涉及多个分离的专用模型来实现特定于语言或特定于文本定向的文本识别。在本方案中所使用的单一模型可以是单一字符模型,该模型被用来确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息。单一字符模型基于多个训练文本行区域和多个训练文本行区域中的相应真实文本进行训练。训练文本行区域中的文本可以包括以不同定向被组织的文本和/或与多种语言相关的文本,从而使得单一字符模型能够确定不同定向的文本和/或不同语言的文本的字符出现概率。
利用这样的单一字符模型,从图像中确定的任何目标文本行区域被直接提供为模型输入,而无需确定目标文本行区域中的文本的定向和/或语言。单一模型的使用使得文本识别过程更快速、简便,特别适合处理复杂应用中(例如,具有多种定向和/或混合语言文本的图像)的文本识别。单个模型的应用降低了对存储空间和计算资源消耗的要求。而且,单一模型的要求也可以简化模型训练过程,无需耗费处理资源和时间训练特定定向或特定语言的不同模型。
以下将继续参考附图来详细描述从图像中识别文本的示例实现。
图2示出了根据本公开的一些实现的文本识别模块的示例结构。文本识别模块例如可以是图1的计算设备100中的文本识别模块122。为讨论方便,将参考图1来描述文本识别模块。如图所示,文本识别模块122包括文本行检测器210、单一字符模型220和文本解码器230,以用于实现对图像170中的部分或全部文本的识别。
文本行检测器210被配置为确定图像170中的目标文本行区域212。目标文本行区域指的是图像170中预期具有待识别的文本的区域,例如具有特定排列方式的文本区域。特定排列方式例如可以包括按水平直线、垂直直线、曲线或倾斜线等方式布置文本中的各个字符。文本行检测器210可以从图像170中检测一个或多个目标文本行区域212。
文本行检测器210可以被配置为利用各种文本行检测方法来从图像170检测或定位目标文本行区域212。在一些实现中,文本行检测器210可以利用自动的文本行检测算法来处理图像170,以从图像170中确定一个或多个目标文本行区域212。例如,文本行检测器210可以利用机器学习模型或者神经网络(例如,基于关系网络的机器学习模型)来从图像170自动检测一个或多个目标文本行区域212。在确定目标文本行区域212时,文本行检测器210不要求能够识别图像170中的具体字符或文本,而是判断图像170中的一组像素或更大的图像单元是否可能呈现文本。备选地或附加地,文本行检测器210还可以借助手动标定等方式来确定或辅助确定图像170中的一个或多个目标文本行区域212。应当理解,文本行检测器210可以采用当前正在使用的或者将来待开发的任何文本行检测技术来检测图像170中的目标文本行区域212。
图3示出了从图像170中确定的目标文本行区域212的示例。如图所示,文本行检测器210可以确定图170中的多个目标文本行区域212-1、212-2、……212-10(统称为或单独称为目标文本行区域212),每个目标文本行区域212被认为具有待识别的文本。应当理解,图3示出的目标文本行区域的划分仅是示例。在其他实施例中,文本行检测器210可以将图像170中的一个或多个目标文本行区域确定为其他大小、尺寸和/定向。例如,如果图像170中的一行文本以其他方式被布置(例如,多个字符被布置在具有一定弧度的一行中而不是按垂直或水平方向定位),文本行检测器210也可以检测出将这样一行文本界定在内的目标文本行区域212。
在一些情况中,图像170的目标文本行区域212中的文本可以以任意定向被组织。例如,在图3的示例中,目标文本行区域212-1中的文本以纵向定向被组织,而目标文本行212-2至212-10中的文本以横向定向方式被组织。在本文中,“纵向定向”的文本指的是文本的多个字符以纵向方式书写(排列),因此一个字符的底部与相邻的另一个字符的顶部更靠近;“横向定向”的文本指的是文本的多个字符以横向方式书写(排列),因此一个字符的侧边与相邻的另一个字符的侧边更靠近。从阅读上来说,读者通常可以按大致从上到下的顺序来阅读“纵向定向”的文本,而按大致从左到右的顺序来阅读“横向定向”的文本。然而,应当理解,在图像中,“纵向定向”的文本并不一定按照垂直方向呈现在图像中,而是可以具有相对于垂直轴的较大或较小角度的偏移。类似的,“横向定向”的文本也可能并非按水平方向呈现在图像中,而是可以具有相对于水平轴的较大或较小角度的偏移。具体的偏移情况取决于图像中文本的具体设计,图像的拍摄或获取过程,等等。
除可能具有不同定向之外或者作为备选,图像170的目标文本行区域212中的文本还可能具有不同语言的字符。在一些情况中,一个目标文本行区域212中的文本可能是单一语言的一个或多个字符,例如,图3中的目标文本行区域212-1包括仅中文的多个汉字,目标文本行区域212-2包括仅英文的多个字母,而图3中的目标文本行区域212-3、212-5、212-7和212-9包括混合语言文本,其中具有中文汉字和英文字母。在一些实施例中,除各种语言中的字符之外,一个或多个目标文本行区域212还可以包括其他通用符号,诸如数字、标点符号、货币符号等,例如图3中的目标文本行区域212-4、212-6、212-8和212-10。
根据本公开的实现,期望能够利用单一模型来识别目标文本行区域212中具有任意定向的文本和/或不同语言的文本,而不需要具体区分文本的定向和/或语言。具体地,文本解码器230可以利用单一字符模型220来支持这样的单一识别。
在一些实现中,在提供给文本解码器230之前,可以对从图像170确定的目标文本行区域212执行一些预处理。文本识别模块122可以包括一个或多个子模块(未示出)用于对目标文本行区域212执行相应的预处理操作。在一些实现中,预处理的目的在于将从图像中识别出的不同目标文本行区域归一化到单一形状和/或尺寸,以方便单一字符模型220和文本解码器230的分析和处理。
在一些示例中,预处理操作可以包括尺寸归一化操作,以将目标文本行区域放大或缩小到预定尺寸以供后续处理。例如,图4A和图4B示出了将图像170中的目标文本行区域212-1和212-2缩放到预定尺寸。
备选地或附加地,预处理操作还可以包括定向分类和基于定向分类的旋转操作,以使得一行中的文本的字符以预定方向分布。例如,可以将具有以纵向定向的文本的目标文本行区域212旋转,使得文本中的多个字符按在水平方向分布。如图4C所示,具有纵向定向的文本的目标文本行区域212-1可以被逆时针方向旋转90度,以使得多个字符在水平方向上顺序分布。以其他角度相对于垂直轴倾斜的文本也可以被旋转以使得字符在水平方向上顺序分布,而对于原本水平方向上分布的具有横向定向的文本的目标文本行区域,可以保持不变。如果目标文本行区域的横向定向的文本相对于水平轴倾斜一定角度,也可以将目标文本行区域旋转到水平方向上。在另一个示例中,也可以将具有不同文本定向和不同倾斜角度的目标文本行区域旋转为在垂直方向上顺序分布,或者也可以旋转为相对于垂直轴或水平轴的某个角度(例如倾斜45度)。
在另外一些示例中,如果目标文本行区域212具有弯曲线条(即用弯曲线条界定一行文本),可以对目标文本行区域212执行校正,以生成具有预定形状(例如,矩形形状)的文本行区域。例如,对于具有多个字符被排列在具有一定弧度的一行中的目标文本行区域212,可以通过拉伸、收缩等多种校正操作,将目标文本行区域校正成预定形状。备选地或附加地,如果目标文本行区域212中的文本是镜像文本,还可以对目标文本行区域212执行镜像处理。
应当理解,以上仅是可应用于目标文本行区域212的预处理操作的一些示例。根据实际应用,还可以附加地或备选地应用其他预处理操作。本公开的实现的范围在此方面不受限制。
返回参考图2,经过(预定处理之后的)目标文本行区域212被提供给文本解码器230。文本解码器230利用已训练的单一字符模型220来确定目标文本行区域212呈现的一个或多个字符模型单元的概率分布信息。如本文中所使用的,字符模型单元是单一字符模型220执行概率确定的基本单元,每个字符模型单元包括预定字符集中的一个或多个字符或符号。概率分布信息指示每个可能的字符模型单元基于目标文本行区域212的条件概率。在一些实现中,文本解码器230利用单一字符模型220来确定在目标文本行区域212中出现概率最大的字符模型单元序列。
预定字符集可以包括至少一种预定语言中所使用的多个字符。字符可以是语言中所使用的基本单元。在诸如拉丁类语言中,一个字符包括用于组成词的字母,在东方语言中,字符可以包括单个字。预定字符集中所包括的字符具体取决于对于单一字符模型220的设计,这在下文中会更详细讨论。在一些实现中,除了某种语言中的字符之外,预定字符集还可以包括一个或多个通用符号,诸如数字、语言中所采用的标点符号、货币符号、或者其他符号。
在一些实现中,单一字符模型220可以被配置为针对文本的不同定向是“统一的”,即,单一字符模型220有能力处理具有以任意定向被组织的文本的目标文本行区域。在一些实现中,单一字符模型220可以被配置为针对不同语言的文本是“统一的”,即,单一字符模型220有能力处理具有不同语言的文本(例如,不同语言的单一语言文本以及混合语言文本)的目标文本行区域。在又一些实现中,单一字符模型220还可以被配置为针对文本的不同定向以及针对多种语言的文本均是“统一的”,即利用单个模型来实现对任意定向和多种语言的文本识别。因此,单一字符模型220的使用使得无需执行对目标文本行区域中的文本的定向和/或语言的确定。
在本公开的实现中,为了能够获得对不同定向和/或多种语言的文本的识别能力,单一字符模型220被配置为机器学习模型,并且通过机器学习的方式从训练数据中学习到对应的能力。用于训练单一字符模型220的训练数据包括多个训练文本行区域和在这些训练文本行区域中被标注的文本(也称为“真实文本”或“已知文本”)。在一些实现中,为了使单一字符模型220能够识别各种目标文本行区域中以不同定向被组织的文本,在训练阶段,多个训练文本行区域包括不同定向的真实文本。例如,一些训练文本行区域中的真实文本以纵向定向排列,而另一些训练文本行区域中的真实文本以横向定向排列。为了使得模型训练更准确,训练文本行区域以及其中呈现的真实文本可以在纵向定向或横向定向上具有不同的角度变化,例如相对于垂直轴或水平轴偏移一定的角度。在一些实现中,训练文本行区域也可以经过一些预处理后(例如尺寸归一化、旋转、校正、镜像操作等)再用于模型训练。
在一些实现中,为了使得单一字符模型220能够识别目标文本行区域中可能出现的多种语言的字符模型单元,在训练阶段,训练数据中的多个训练文本行区域中的真实文本可以包括与这些语言相关的多个文本。用于训练的文本可以包括每种语言的单一语言文本,在一些情况下还可以包括混合语言文本。在此,混合语言文本可以包括任何两种或更多种预定语言的字符。在一些情况下,混合语言文本不是必要的,通过将多种语言的单一语言文本作为训练数据,也能够使单一字符模型220学习到不同语言中的字符特征,从而能够用于识别这些语言的单一语言文本和混合语言文本。
在一些实现中,训练数据中的真实文本可以是拉丁语言的文本和东方语言的文本,包括至少一种拉丁语言的一个或多个字符和至少一种东方语言的一个或多个字符。拉丁语言例如但不限于包括英语、法语、德语、荷兰语、意大利语、西班牙语、葡萄牙语等语言以及它们的变形语言。东方语言有时也称为亚洲语言,示例包括但不限于中文(包括简体中文和繁体中文)、日语、韩语等语言以及它们的变形语言。中文、日语和韩语也称为CJK语言。例如,真实文本可以包括一个或多个训练文本行区域中的单一中文、一个或多个训练文本行区域中的英文,并且可能还可以包括一个或多个训练文本行区域中出现的中文和英文的混合文本。用于训练单一字符模型220的真实文本还可以包括三种或三种以上的语言的文本,例如包括中文、日文和英文等。应当理解,可以利用除拉丁语言和东方语言之外的其他一个或多个语言对应的训练文本行区域和真实文本来训练单一字符模型220。
在一些实现中,除不同语系的混合之外或者作为备选,训练数据中的真实文本还可以包括同一语系或者较为近似语系的不同语言的文本。例如,用于训练的真实文本可以包括不同拉丁语言(例如英语和法语)的文本、不同东方语言(例如中文和日语)的文本和/或它们的混合语言文本。概括来说,如果期望单一字符模型220能够识别多种语言的文本,就可以利用具有这些语言的真实文本作为训练数据进行模型训练。
在一些实现中,如果期望单一字符模型220能够针对具有任意定向和多种语言的文本执行字符模型单元的概率分布确定,训练数据可以被选择为具有在文本定向和语言两个方面的变化,也就是说一些训练文本行区域中的文本以多个不同定向被组织,并且一些训练文本行区域中的文本包括多种预定语言的字符。可以理解,如果仅需要将单一字符模型220训练为具有识别以不同定向被组织的文本的能力,训练文本行区域中的真实文本可以包括单一语言的字符。类似地,如果仅需要将单一字符模型220训练为具有识别多种语言文本的能力而在文本定向上没有单一要求,训练文本行区域中的所有真实文本可以仅以单一定向(以纵向或横向排列方式)被排列。
如以上提及的,单一字符模型220要被训练为确定在目标文本行区域中呈现的字符模型单元的概率分布信息。取决于单一字符模型220的设计,预定字符集包括单一字符模型220所针对的语言中可能出现的字符。例如,如果单一字符模型220仅被训练用于识别某种语言中以不同定向排列的文本,预定字符集包括该语言的字符以及在该语言的应用中可能会出的一个或多个通用符号。如果单一字符模型220被训练用于识别多种语言的文本,预定字符集可以包括这些语言的字符,以及在这些语言的应用中可能会出现的一个或多个通用符号。
取决于模型选择和具体配置,单一字符模型220可以采用不同的框架,不同的模型结构,以不同的目标函数进行训练。在一些实现中,单一字符模型220可以利用的机器学习算法可以包括适合用于图像处理和自然语言处理的算法,示例包括但不限于卷积神经网络(CNN)、长短时记忆(LSTM)模型、深度双向LSTM(DB LSTM)模型、循环神经网络(RNN)、Transformer、前馈顺序存储网络(FSMN)、基于注意力机制的编码解码模型、基于决策树的模型(例如,随机森林模型)、支持向量机(SVM),或者前述多个模型/网络的组合,等等。这些模型/网络的具体工作原理是本领域技术人员所熟知的,在此不再详细赘述。例如,单一字符模型220可以是基于CNN和DBLSTM模型的组合。还应理解,当前开发的或者今后对机器学习模型的改进均可以被相应应用到本公开的示例实现中。
单一字符模型220的训练过程使得该模型能够从训练数据中学习和关注不同定向和/或不同语言的字符(以及通用符号)的特定特征。单一字符模型220可以基于选取的模型架构,采用不同的目标函数进行训练。例如,连接时序分类(CTC),最小交叉熵估计准则(CE),最大互信息量估计(MMIE),最小分类错误准则(MCE),最小词/音素错误准则(MWE/MPE)等其他区分性训练准则等。还可以备选地或附加地利用随机梯度下降、前向纠错等方法完成单一字符模型220的训练。在一些实现中,单一字符模型220的训练可以由要执行文本识别的计算设备100之外的设备,例如具有较强计算能力的设备来完成。当然,在一些实现中,由计算设备100(单独地或结合其他计算设备)来执行模型训练也是可行的。
以上讨论了单一字符模型220如何实现在文本定向和多种语言方面的单一。通过训练获得的单个单一字符模型220由此能够实现复合的文本识别任务。由此,不需要关注目标文本行区域212中的文本的定向和/或语言的混合情况,可以直接将目标文本行区域212输入到文本解码器230中利用单个单一字符模型220,解码得到最优的字符模型单元序列。
在一些实现中,除单一字符模型220之外,文本解码器230还可以借助语言模型和预定词典来得到更好的文本识别结果。预定词典包括各语言中的文本单元。如本文中所使用的,文本单元指的是语言中具有特定含义的文本片段,例如单词、词组、语句等。一个文本单元包括一个或多个字符模型单元。在一些实现中,预定词典还指示文本单元与字符模型单元的映射,即指示每个文本单元由哪些字符模型单元构成。语言模型用于约束各语言中的文本单元之间的语法关系。
对于任意可能的字符模型单元序列,文本解码器230结合单一字符模型220从目标文本行区域212中计算得到的字符模型单元的概率分布信息、词典520中的文本单元和从单一语言模型510中计算得到的文本单元层面上的语言约束分值,选择综合分值最优的字符模型单元序列作为识别结果输出。
语言模型例如可以是自然语言处理中使用的n元语言模型。语言模型的另外一些示例包括最大熵模型、隐形马尔科夫(HMM)模型、条件随机场(CRF)模型、循环神经网络(RNN)、长短时记忆(LSTM)模型、门控循环单元模型(GRU)、Transformer等其他神经网络语言模型(NNLM)。这些模型/网络的具体工作原理是本领域技术人员所熟知的,在此不再详细赘述。通过训练过程,语言模型均能够被训练为能够衡量字符模型单元序列是否符合一种或多种特定语言的约束(例如,语法约束)。借助语言模型,可以使得最终确定的文本符合一种或多种预定语言的约束,获得实际可能会出现的有意义的文本。
在一些实现中,语言模型可以是单一语言模型,能够将多种预定语言的约束应用于确定对目标文本行区域212的文本识别。图5示出了根据本公开的一些实现的文本识别模块122的示例,其中增加了单一语言模型510和预定词典520。词典520可以被存储在计算设备100的内部存储设备或外部存储设备中,并且由文本识别模块122可访问。多种预定语言可以包括任何不同语言,例如可以包括一种或多种拉丁语言,一种或多种东方语言,和/或任何其他语言。单一语言模型510的“单一”体现在能够利用单个模型来统一学习和应用多种不同语言的约束(例如,语法约束),以识别各个语言的文本或者这些语言的混合文本。
在多种预定语言中,不同语言的常见文本单元的数量和包含字符的长度会有比较大的差异,例如拉丁语言中的单词和东方语言中的字。因此,为均衡不同语言中文本单元集的大小及支持识别词典520中没有出现的部分集外词,在一些实现中可以采用子词作为某些语言中的语言模型和预定词典的基本单元(又称为“文本子单元”)。文本子单元可以包括拉丁语言中的一个文本单元的一部分。新的词汇经常可能出现在拉丁语言中,因为随着语言的使用和发展,不同字符可能会被用于组成新的文本单元(例如,新的词)。文本子单元可以被包括到词典520中,这些文本子单元的组合由此可以用于涵盖这些可能的新文本单元。
一个或多个文本子单元可以采用不同的方法来获得,比如采用词干后缀分割等词形态分析的方法、基于大规模语料的子词学习方法(比如Morfessor、G1G和字节对编码(BPE)等)等。若如采用BPE的方法,文本子单元从已有的以单词为文本单元的语料或提前计算好的词频统计量中,采用BPE算法学习得到。在一些实现中,在得到一个或多个文本子单元后,用于训练语言模型的语料中的相应文本单元都将通过BPE算法转换为对应的文本子单元序列,然后进行各类型语言模型的训练。
在一些实现中,单一语言模型510所针对的多种预定语言可以与单一字符模型220能够处理的多种预定语言的文本相对应。具体地,如果单一字符模型220被配置为确定多种预定语言(例如,拉丁语言和东方语言)的字符在目标文本行区域212的概率分布信息,单一语言模型510也被配置为针对这些预定语言来确定和应用语言的约束,以识别目标文本行区域212中的对应文本。备选地,如果单一字符模型220被配置为处理特定语言的任意定向的文本,单一语言模型510可以被配置为针对该特定语言以及一个或多个其他语言(例如,如果存在被配置为处理其他语言的任意定向的文本的一个或多个其他单一字符模型)来确定和应用语言的约束。
为了使得单一语言模型510能够确定和应用多种语言的约束,单一语言模型510被配置为机器学习模型,并且通过机器学习的方式从训练数据中学习到对应的能力。用于训练单一语言模型510的训练数据可以包括基于多种预定语言的语料。单一语言模型能为由特定语言内的任意一种或多种语言文本单元组成的句子的语法表达进行打分。由此,单一语言模型510可以在比字符级别更大粒度(例如,文本单元粒度)上判断在目标文本行区域中出现某种字符的组合是否是符合特定语言的约束。
语料包括在单一语言模型510所针对的多种语言的实际使用中真实出现的语言材料,诸如来自小说、网页、新闻、报刊杂志、论文、博客等等各种来源的语言材料。从各个来源获取的语言材料可以被电子化,并且经过一定的分析和处理后,可以被存储到语料库中以供在执行模型训练时使用。在一些实现中,语料可以包括多种语言的单一语言文本,也可以包括多种语言中的混合语言文本。
取决于所采用的具体语言模型,可以采用对应的训练算法来训练单一语言模型510。本公开的实现在单一语言模型510的具体训练算法方面不受限制。在一些实现中,单一字符模型220的训练可以由要执行文本识别的计算设备100之外的设备,例如具有较强计算能力的设备来完成。当然,在一些实现中,可以由计算设备100(单独地或结合其他计算设备)来执行模型训练。
应当理解,虽然以上讨论了单一语言模型,在一些实现中,可以应用特定于语言的语言模型来应用约束。例如,如果单一字符模型220针对多种预定语言单一确定在目标文本行区域中呈现的字符模型单元的概率分布信息,则可以应用多个语言模型来考虑这些预定语言的约束。
在确定目标文本行区域212中的文本时,文本解码器230借助单一字符模型220的概率分布信息、词典520的文本单元和单一语言模型510应用的约束,来识别目标文本行区域212中的文本作为输出180。在一些实现中,文本解码器230可以利用基于加权有限状态转换器(WFST)的解码模型(或解码网络)来确定目标文本行区域212中的文本。对于一个输入序列(比如字符模型单元序列),WFST将判断是否接收这个序列,如果接收,则输出其对应的输出序列(比如单词序列)及其分值。
对目标文本行区域212中的文本识别过程可以认为是利用高效的搜索算法,再将词典和语言模型组合优化到WFST网络中,结合字符模型提供的字符模型单元的概率分值,快速找到一条综合最优的路径,该路径对应的输出结果即为识别的文本。应当理解,除基于WFST的解码模型之外,其他静态或动态结合字符模型、语言模型和词典进行搜索解码的算法也可以应用于文本解码器230中。
在一些实现中,文本识别模块122还可以包括另外的子模块(未示出),用于进一步衡量由文本解码器230针对目标文本行区域212确定的文本是否是正确或可用的,以进一步提高文本识别的准确性。例如,文本识别模块122还可以包括接受/拒绝子模块,用于确定由文本解码器230输出的文本是否是语言的实际应用中可能出现的文本,例如有实际含义的文本。这样可以避免将诸如图像中出现的非文本图案错误地识别文本。又例如,文本识别模块122还可以包括置信度子模块,用于确定由文本解码器230输出的文本的可靠程度。应当理解,文本识别模块122还可以附加地或备选地包括一个或多个其他子模块,用于实现其他期望的功能。本公开的实现在此方面不受限制。
在文本识别模块122中,一个或多个子模块采用了机器学习或深度学习模型/网络来实现相应的功能,例如文本行检测器210、单一字符模型220、单一语言模型510、文本解码器230等。在这些实现中,可以针对各个子模块要实现的功能,基于相应的训练数据来单独训练相应的机器学习或深度学习模型/网络。也可以在单独训练之后或者在一开始就采用端到端的方式训练文本识别模块122中所包含的多个机器学习或深度学习模型/网络,以实现从输入图像中识别文本的目标。在一些实现中,文本行检测器210可以独立于其他子模块而被单独训练。当然,其他实现也可以不局限于此。
图6A示出了根据本公开的一些实现的过程600的流程图。过程600可以由计算设备100来实现,例如可以被实现在计算设备100的文本识别模块122处。
在框610,计算设备100确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本。在框620,计算设备100利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和多个训练文本行区域的相应真实文本。每个字符模型单元包括至少一个字符或符号。在框630,计算设备100基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,多个训练文本行区域中的相应真实文本包括与多种预定语言相关的多个文本,多个文本中的每个文本包括单一语言文本或混合语言文本。
在一些实现中,多种预定语言包括以下至少一项:至少一种拉丁语言和至少一种东方语言。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元的确定包括对拉丁语言的语料执行字节对编码(BPE)。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
图6B示出了根据本公开的另一些实现的过程602的流程图。过程602可以由计算设备100来实现,例如可以被实现在计算设备100的文本识别模块122处。
在框640,计算设备100确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本。在框650,计算设备100利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,而无需确定目标文本行区域中的文本的定向和语言,单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域和多个训练文本行区域中的相应真实文本,真实文本至少包括与拉丁语言和东方语言相关的文本。每个字符模型单元包括至少一个字符或字符。在框660,计算设备100基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元的确定包括对拉丁语言的语料执行字节对编码(BPE)。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
以下列出了本公开的一些示例实现方式。
在第一方面,本公开提供了一种计算机实现的方法。该方法包括:确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本;利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,每个字符模型单元包括至少一个字符或符号,单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和多个训练文本行区域的相应真实文本;以及基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,多个训练文本行区域中的相应真实文本包括与多种预定语言相关的多个文本,多个文本中的每个文本包括单一语言文本或混合语言文本。
在一些实现中,多种预定语言包括以下至少一项:至少一种拉丁语言和至少一种东方语言。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元的确定包括对拉丁语言的语料执行字节对编码(BPE)。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
在第二方面,本公开提供了一种电子设备。该电子设备包括:处理单元;以及存储器,耦合至处理单元并且包含存储于其上的指令,指令在由处理单元执行时使设备执行以下动作:确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本;利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,每个字符模型单元包括至少一个字符或符号,单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和多个训练文本行区域的相应真实文本;以及基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,多个训练文本行区域中的相应真实文本包括与多种预定语言相关的多个文本,多个文本中的每个文本包括单一语言文本或混合语言文本。
在一些实现中,多种预定语言包括以下至少一项:至少一种拉丁语言和至少一种东方语言。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元的确定包括对拉丁语言的语料执行字节对编码(BPE)。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
在第三方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方法的一个或多个实现。
在第四方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述第一方面的方法的一个或多个实现。
在第五方面,本公开提供了一种计算机实现的方法。该方法包括:确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本;利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,而无需确定目标文本行区域中的文本的定向和语言,每个字符模型单元包括至少一个字符或符号,单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域和多个训练文本行区域中的相应真实文本,真实文本至少包括与拉丁语言和东方语言相关的文本;以及基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元通过对拉丁语言的语料执行字节对编码(BPE)来确定。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
在第六方面,本公开提供了一种电子设备。该电子设备包括:处理单元;以及存储器,耦合至处理单元并且包含存储于其上的指令,指令在由处理单元执行时使设备执行以下动作:确定图像中的目标文本行区域,目标文本行区域中预期具有待识别的文本;利用单一字符模型,确定在目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,而无需确定目标文本行区域中的文本的定向和语言,每个字符模型单元包括至少一个字符,单一字符模型基于以下被训练:训练图像中的文本以不同定向被组织的多个训练文本行区域和多个训练文本行区域中的相应真实文本,真实文本至少包括与拉丁语言和东方语言相关的文本;以及基于所确定的概率分布信息,确定目标文本行区域中的文本。
在一些实现中,确定目标文本行区域中的文本包括:基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成目标文本行区域中的文本,其中预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且单一语言模型约束多种语言的文本单元之间的语法关系。
在一些实现中,在多种预定语言包括拉丁语言的情况下,预定词典还包括从拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括拉丁语言的一个文本单元的一部分。在一些实现中,多种预定语言包括至少一种东方语言。
在一些实现中,至少一个文本子单元的确定包括对拉丁语言的语料执行字节对编码(BPE)。
在一些实现中,单一语言模型包括n元语言模型。
在一些实现中,确定目标文本行区域中的文本包括:利用基于加权有限状态转换器(WFST)的解码模型来确定目标文本行区域中的文本。
在第七方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方法的一个或多个实现。
在第八方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述第五方面的方法的一个或多个实现。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
1.一种电子设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
确定图像中的目标文本行区域,所述目标文本行区域中预期具有待识别的文本;
利用单一字符模型,确定在所述目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,每个字符模型单元包括至少一个字符或符号,所述单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和所述多个训练文本行区域的相应真实文本;以及
基于所确定的概率分布信息,确定所述目标文本行区域中的所述文本。
2.根据权利要求1所述的设备,其中所述多个训练文本行区域中的所述相应真实文本包括与多种预定语言相关的多个文本,所述多个文本中的每个文本包括单一语言文本或混合语言文本。
3.根据权利要求2所述的设备,其中所述多种预定语言包括以下至少一项:至少一种拉丁语言和至少一种东方语言。
4.根据权利要求1所述的设备,其中确定所述目标文本行区域中的所述文本包括:
基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成所述目标文本行区域中的所述文本,
其中所述预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且所述单一语言模型约束所述多种语言的所述文本单元之间的语法关系。
5.根据权利要求4所述的设备,其中在所述多种预定语言包括拉丁语言的情况下,所述预定词典还包括从所述拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括所述拉丁语言的一个文本单元的一部分。
6.根据权利要求5所述的设备,其中所述至少一个文本子单元的确定包括对所述拉丁语言的所述语料执行字节对编码(BPE)。
7.根据权利要求4所述的设备,其中所述单一语言模型包括n元语言模型。
8.根据权利要求1所述的设备,其中确定所述目标文本行区域中的所述文本包括:
利用基于加权有限状态转换器(WFST)的解码模型来确定所述目标文本行区域中的所述文本。
9.一种计算机实现的方法,包括:
确定图像中的目标文本行区域,所述目标文本行区域中预期具有待识别的文本;
利用单一字符模型,确定在所述目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,每个字符模型单元包括至少一个字符或符号,所述单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和所述多个训练文本行区域的相应真实文本;以及
基于所确定的概率分布信息,确定所述目标文本行区域中的所述文本。
10.根据权利要求9所述的方法,其中所述多个训练文本行区域中的所述相应真实文本包括与多种预定语言相关的多个文本,所述多个文本中的每个文本包括单一语言文本或混合语言文本。
11.根据权利要求10所述的方法,其中所述多种预定语言包括以下至少一项:至少一种拉丁语言和至少一种东方语言。
12.根据权利要求9所述的方法,其中确定所述目标文本行区域中的所述文本包括:
基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成所述目标文本行区域中的所述文本,
其中所述预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且所述单一语言模型约束所述多种语言的所述文本单元之间的语法关系。
13.根据权利要求12所述的方法,其中在所述多种预定语言包括拉丁语言的情况下,所述预定词典还包括从所述拉丁语言的语料中确定的至少一个文本子单元,每个文本子单元包括所述拉丁语言的一个文本单元的一部分。
14.根据权利要求13所述的方法,其中所述至少一个文本子单元的确定包括对所述拉丁语言的所述语料执行字节对编码(BPE)。
15.根据权利要求9所述的方法,其中所述单一语言模型包括n元语言模型。
16.根据权利要求9所述的方法,其中确定所述目标文本行区域中的所述文本包括:
利用基于加权有限状态转换器(WFST)的解码模型来确定所述目标文本行区域中的所述文本。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备:
确定图像中的目标文本行区域,所述目标文本行区域中预期具有待识别的文本;
利用单一字符模型,确定在所述目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,每个字符模型单元包括至少一个字符或符号,所述单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域,和所述多个训练文本行区域的相应真实文本;以及
基于所确定的概率分布信息,确定所述目标文本行区域中的所述文本。
18.根据权利要求17所述的计算机程序产品,其中所述多个训练文本行区域中所述相应真实文本包括与多种预定语言相关的多个文本,所述多个文本中的每个文本包括单一语言文本或混合语言文本。
19.根据权利要求17所述的计算机程序产品,其中确定所述目标文本行区域中的所述文本包括:
基于所确定的概率分布信息并且借助单一语言模型和预定词典,来生成所述目标文本行区域中的所述文本,
其中所述预定词典至少包括多种预定语言的文本单元,每个文本单元包括至少一个字符模型单元,并且所述单一语言模型约束所述多种语言的所述文本单元之间的语法关系。
20.一种电子设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
确定图像中的目标文本行区域,所述目标文本行区域中预期具有待识别的文本;
利用单一字符模型来确定在所述目标文本行区域中呈现的至少一个字符模型单元的概率分布信息,而无需确定所述目标文本行区域中的所述文本的定向和语言,每个字符模型单元包括至少一个字符或符号,所述单一字符模型基于以下被训练:文本以不同定向被组织的多个训练文本行区域和所述多个训练文本行区域中的相应真实文本,所述真实文本至少包括与拉丁语言和东方语言相关的文本;以及
基于所确定的概率分布信息,确定所述目标文本行区域中的所述文本。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093899.1A CN113269009A (zh) | 2020-02-14 | 2020-02-14 | 图像中的文本识别 |
EP21729614.4A EP4104095A1 (en) | 2020-02-14 | 2021-01-20 | Text recognition in image |
US17/795,446 US11823471B2 (en) | 2020-02-14 | 2021-01-20 | Text recognition in image |
PCT/IB2021/000032 WO2021161095A1 (en) | 2020-02-14 | 2021-01-20 | Text recognition in image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010093899.1A CN113269009A (zh) | 2020-02-14 | 2020-02-14 | 图像中的文本识别 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113269009A true CN113269009A (zh) | 2021-08-17 |
Family
ID=76250373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010093899.1A Pending CN113269009A (zh) | 2020-02-14 | 2020-02-14 | 图像中的文本识别 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11823471B2 (zh) |
EP (1) | EP4104095A1 (zh) |
CN (1) | CN113269009A (zh) |
WO (1) | WO2021161095A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780276A (zh) * | 2021-09-06 | 2021-12-10 | 成都人人互娱科技有限公司 | 一种结合文本分类的文本检测和识别方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117897735A (zh) * | 2021-08-27 | 2024-04-16 | 甲骨文国际公司 | 基于图像的文档中的自动语言识别 |
CN114065759B (zh) * | 2021-11-19 | 2023-10-13 | 深圳数阔信息技术有限公司 | 一种模型失效检测方法、装置、电子设备及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751567B (zh) | 2008-12-12 | 2012-10-17 | 汉王科技股份有限公司 | 快速文本识别方法 |
US8442813B1 (en) * | 2009-02-05 | 2013-05-14 | Google Inc. | Methods and systems for assessing the quality of automatically generated text |
CN102012748B (zh) | 2010-11-30 | 2012-06-27 | 哈尔滨工业大学 | 语句级中英文混合输入方法 |
US9798943B2 (en) | 2014-06-09 | 2017-10-24 | I.R.I.S. | Optical character recognition method |
JP6342298B2 (ja) * | 2014-10-31 | 2018-06-13 | 株式会社東芝 | 文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラム |
US10043231B2 (en) * | 2015-06-30 | 2018-08-07 | Oath Inc. | Methods and systems for detecting and recognizing text from images |
EP3433795A4 (en) * | 2016-03-24 | 2019-11-13 | Ramot at Tel-Aviv University Ltd. | METHOD AND SYSTEM FOR CONVERTING A TEXT IMAGE |
CN106528535B (zh) | 2016-11-14 | 2019-04-26 | 北京赛思信安技术股份有限公司 | 一种基于编码和机器学习的多语种识别方法 |
US10372821B2 (en) * | 2017-03-17 | 2019-08-06 | Adobe Inc. | Identification of reading order text segments with a probabilistic language model |
GB2572386B (en) * | 2018-03-28 | 2021-05-19 | Canon Europa Nv | An image processing system and an image processing method |
CN109902622B (zh) | 2019-02-26 | 2020-06-09 | 中国科学院重庆绿色智能技术研究院 | 一种用于登机牌信息验证的文字检测识别方法 |
US11328524B2 (en) * | 2019-07-08 | 2022-05-10 | UiPath Inc. | Systems and methods for automatic data extraction from document images |
-
2020
- 2020-02-14 CN CN202010093899.1A patent/CN113269009A/zh active Pending
-
2021
- 2021-01-20 WO PCT/IB2021/000032 patent/WO2021161095A1/en unknown
- 2021-01-20 US US17/795,446 patent/US11823471B2/en active Active
- 2021-01-20 EP EP21729614.4A patent/EP4104095A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780276A (zh) * | 2021-09-06 | 2021-12-10 | 成都人人互娱科技有限公司 | 一种结合文本分类的文本检测和识别方法及系统 |
CN113780276B (zh) * | 2021-09-06 | 2023-12-05 | 成都人人互娱科技有限公司 | 一种结合文本分类的文本识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11823471B2 (en) | 2023-11-21 |
EP4104095A1 (en) | 2022-12-21 |
WO2021161095A1 (en) | 2021-08-19 |
US20230064122A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765996B (zh) | 文本信息处理方法及装置 | |
CN107656922B (zh) | 一种翻译方法、装置、终端及存储介质 | |
US11823471B2 (en) | Text recognition in image | |
KR101650112B1 (ko) | 음역을 위한 기계 학습 | |
US20180267956A1 (en) | Identification of reading order text segments with a probabilistic language model | |
US20120033874A1 (en) | Learning weights of fonts for typed samples in handwritten keyword spotting | |
US9501708B1 (en) | Adaptive sliding windows for text recognition | |
Diaz et al. | Rethinking text line recognition models | |
US10402474B2 (en) | Keyboard input corresponding to multiple languages | |
WO2023202197A1 (zh) | 文本识别方法及相关装置 | |
US9898452B2 (en) | Annotation data generation and overlay for enhancing readability on electronic book image stream service | |
CN108256523B (zh) | 基于移动终端的识别方法、装置及计算机可读存储介质 | |
CN110718226A (zh) | 语音识别结果处理方法、装置、电子设备及介质 | |
US9733825B2 (en) | East Asian character assist | |
US9536180B2 (en) | Text recognition based on recognition units | |
US20210350090A1 (en) | Text to visualization | |
CN108628911B (zh) | 针对用户输入的表情预测 | |
CN111444906B (zh) | 基于人工智能的图像识别方法和相关装置 | |
Yang et al. | Spell Checking for Chinese. | |
CN113761923A (zh) | 命名实体识别方法、装置、电子设备及存储介质 | |
US20230036812A1 (en) | Text Line Detection | |
US20160078013A1 (en) | Fault-tolerant input method editor | |
Ou et al. | ERCS: An efficient and robust card recognition system for camera-based image | |
Yasin et al. | Transformer-Based Neural Machine Translation for Post-OCR Error Correction in Cursive Text | |
Rychlik et al. | Development of a New Image-to-Text Conversion System for Pashto, Farsi and Traditional Chinese |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |