CN111723807B - 使用端到端深度学习识别机打字符和手写字符 - Google Patents
使用端到端深度学习识别机打字符和手写字符 Download PDFInfo
- Publication number
- CN111723807B CN111723807B CN201911050542.9A CN201911050542A CN111723807B CN 111723807 B CN111723807 B CN 111723807B CN 201911050542 A CN201911050542 A CN 201911050542A CN 111723807 B CN111723807 B CN 111723807B
- Authority
- CN
- China
- Prior art keywords
- characters
- document
- bounding box
- ocr system
- segmentation mask
- 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
Links
- 238000013135 deep learning Methods 0.000 title abstract description 4
- 230000011218 segmentation Effects 0.000 claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000013528 artificial neural network Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 12
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000012015 optical character recognition Methods 0.000 abstract description 231
- 230000003287 optical effect Effects 0.000 abstract description 6
- 238000004590 computer program Methods 0.000 abstract description 4
- 238000013527 convolutional neural network Methods 0.000 description 66
- 238000012549 training Methods 0.000 description 50
- 238000003860 storage Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000013507 mapping Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 235000019580 granularity Nutrition 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 241000282326 Felis catus Species 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 235000019587 texture Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本文公开了使用端到端深度学习的光学字符识别的系统、方法和计算机程序产品实施例。在实施例中,光学字符识别系统可以训练神经网络以标识像素图像的字符,向字符分配索引值,并且识别字符的不同格式,诸如区分手写字符和机打字符。所述神经网络还可以被训练为标识字符的组,并生成边界框以分组这些字符。所述光学字符识别系统然后可以基于像素数据分析文档以标识字符信息,并产生分割掩码,诸如类型网格分割掩码、和一个或多个边界框掩码。所述光学字符识别系统可以供应这些掩码作为输出,或者可以组合掩码以生成具有光学识别字符的接收的文档的版本。
Description
相关申请的交叉引用
本申请涉及于2018年9月6日提交的题为“Optical Character RecognitionUsing End-to-End Deep Learning”的美国专利申请No.16/123,177,其全部内容通过引用并入本文中。
背景技术
图像向文本的转换的一种类型包含光学字符识别(OCR)。OCR使用诸如去歪斜(de-skewing)、去斑点(de-speckling)、二值化、行移除、和/或布局分析之类的步骤,然后进行字符识别或后处理。然而,使用多个步骤导致潜在的错误,诸如在中间步骤中的信息损失和失真。该信息损失或失真还可能特别发生在中间步骤中试图识别手写字符时。特别是当顺序地应用步骤时,这些OCR过程可能产生后来可能无法校正的错误预测。此外,OCR的顺序的性质导致使用相当大的计算成本的费时过程。
附图说明
附图并入于本文中并且形成说明书的部分。
图1描绘了根据一些实施例的光学字符识别环境的框图。
图2A描绘了根据一些实施例的示例文档的框图。
图2B描绘了根据一些实施例的示例字符网格分割掩码的框图。
图2C描绘了根据一些实施例的示例类型网格分割掩码的框图。
图2D描绘了根据一些实施例的包含字符边界框的示例边界框掩码的框图。
图2E描绘了根据一些实施例的包含单词边界框的示例边界框掩码的框图。
图3描绘了图示根据一些实施例的识别文档的字符的方法的流程图。
图4描绘了根据一些实施例的示例字符处理流程的框图。
图5描绘了可用于实现各种实施例的示例计算机系统。
附图中,相同的附图标记指示相同或相似的元件。附加地,总体上,附图标记的最左侧(多个)数字标识该附图标记首次出现的附图。
具体实施方式
本文中提供了使用机器学习的光学字符识别的系统、设备、装置、方法和/或计算机程序产品实施例,和/或它们的组合和子组合。本文中公开的实施例可以处理和/或提取来自包含手写和/或机打字符的文档中的字符信息。
在实施例中,光学字符识别(OCR)系统可以利用神经网络架构。该神经网络架构可以允许用单个模型和单个计算步骤将手写和/或机打文本的图像转换成字符。神经网络可以接收图像作为输入,并且可以输出图像中发现的字符的集合,字符在图像上的位置,和/或字符、单词或行的边界框。使用这些输出或这些输出的子集合可以允许OCR系统生成具有光学识别的文本的文档。OCR系统能够分析具有手写和/或机打文本的文档。
OCR系统可以用比现有顺序方案更快的方式来识别文档中的字符以进行OCR处理。神经网络架构可以减少执行的步骤的数目以处理文档。另外,神经网络在处理期间可以提供对可能噪声或失真的稳健性。基于执行的训练,神经网络可以是灵活的并且适应于各种类型的数据、符号、语言和字符。训练可以允许神经网络区分手写文本和机打文本。
因为神经网络可以在单个步骤中处理完整的文档,所以OCR系统可以合并围绕的字符、单词、段落的全局上下文、和/或文档的整体结构,以标识或表征特定字符。单个步骤配置可以允许文档处理更快,以及计算资源的成本降低。另外,通过移除多个步骤或多个状态配置,OCR系统可以避免在中间处理步骤期间可能发生的潜在的错误。该配置还避免在试图识别手写文本时的潜在错误。因为OCR系统使用来自神经网络的深度学习模型执行端到端处理,因而可以避免这些中间错误。
现在将参考对应的附图讨论这些特征的各种实施例。
图1描绘了根据一些实施例的光学字符识别(OCR)环境100的框图。OCR环境100可以包含光学字符识别(OCR)系统110和文档120。文档120可以包含手写和/或机打文本。OCR系统110可以从文档120识别文本和/或字符。OCR系统110可以接收文档120作为输入。OCR系统110可以产生文档120的版本作为具有光学识别的文本的输出。在实施例中,OCR系统110可以产生一个或多个分割掩码和/或边界框作为输出。OCR系统110的输出可以被计算机系统利用以执行其他文档处理。
OCR系统110可以使用一个或多个处理器来实现和/或可以包含硬件和/或软件,其可以配置为识别文档120的字符。在实施例中,如参考图5进一步描述的,OCR系统110可以使用计算机系统500来实现。文档120可以是包含可以提取的文本信息的计算机文件、文档、图像、和/或其他数字文件或对象。文档120可以包含手写和/或机打文本。文档120的示例可以包含网页、印刷稿件、出版物、发票、说明书手册、幻灯片演示、手写笔记、和/或包含文本字符的其他图像,仅举一些示例。参考图2A描述文档120的实施例。机打文本可以指不是手写的文本。机打文本的示例包含但不限于,使用键盘键入的文本、从打字机生成的文本、印刷的文本、和/或从印刷机生成的文本或其他早期形式的印刷物。
文档120中的文本信息可以包含组织的或未组织的字符。文档120可以包含具有诸如行的预定布置的字符、不遵循预定布置的字符、和/或与图形图像混合的字符。字符可以采取一个或多个字母表、字母、数字、符号和/或其他图像的形式。基于视觉图像和在对文档120进行处理之前可以发生的训练,OCR系统110可以被训练为识别字符。该训练可以包含对手写和/或机打文本的识别。
“字符”可以是指文档120上的字母、数字、符号、单词,字母、数字和/或符号的结合或组合,符号标记,图像,和/或其他视觉指示符。OCR系统110可以将标识的字符转换成索引值。索引值可以例如对应于ASCII值或单词的词典。转换可以使用映射函数来分配索引值。OCR系统110可以使用索引值遮蔽字符。在实施例中,因为字符可以占据由[像素宽度×像素高度]度量的尺寸,遮蔽字符可以包含用索引值表示面积。OCR系统110可以将该过程应用于文档的每一个字符以生成分割掩码。
在实施例中,文档120可以包含手写文本和机打文本。OCR系统110可以将手写字符和机打字符的两者中的标识的字符关联到相同的索引值。例如,如果文档120包含手写和机打两种形式下的字母“E”,则OCR系统110可以使用相同索引值以标识字母的每个实例。如此,OCR系统110可以识别字符的两种类型并且将它们映射到相同的索引值。
当生成分割掩码时,OCR系统110可以应用下采样技术以降低分割掩码相对于文档120的图像尺寸的分辨率。如此,缩放可以是不同的。较低分辨率分割掩码可以允许在分析掩码时增加处理速度和/或可以降低掩码的储存大小。在实施例中,采样可以允许缩放在水平和垂直方向上的差异。取决于OCR系统110的训练,不同分辨率可以应用于掩码的不同方向。例如,在垂直尺度可能具有降低分辨率时,更加精细纹理的分辨率可以应用于水平尺度。在该示例中,下采样可以应用于垂直尺度而不应用于水平尺度。该配置可以应用于具有水平地延伸的文本或语句的文档。更高水平分辨率可以允许捕获更加精细的字符细节。然而,由于较小的分割掩码尺寸,对垂直尺度进行下采样允许提高处理的速度。
为了执行字符识别处理,OCR系统110可以使用卷积神经网络(CNN)140、边界框检测器150、字符语义分割生成器160、和/或类型语义分割生成器170。CNN 140可以接收文档120。为了接收文档120,用户可以向OCR系统110供应命令以对文档120执行OCR过程。使用CNN 140,OCR系统110可以标识字符以生成一个或多个分割掩码和/或标识单词以生成边界框。OCR系统110可以组合这些层以生成文档的OCR版本。
CNN 140可以是人工智能网络和/或可以应用机器学习算法以标识期望的字符和/或文档120的方面。CNN 140可以使用训练文档示例被训练为识别字符、以及字符的标识组(诸如单词、行或语句)的像素信息。训练文档还可以训练CNN 140区分机打的字符和手写的字符。OCR系统110可以使用该信息以生成区分手写文本和机打文本的分割掩码。训练和像素识别还可以允许OCR系统110将相同索引值相同的字符的手写文本中的字符与机打文本中的字符相关联。
基于该训练,CNN 140可以产生一个或多个分割掩码和/或边界框以生成文档的OCR版本。一种分割掩码可以是“字符网格”,其可以是文档120的用索引值替换字符的版本。关于图2B进一步讨论该字符网格分割掩码的实施例。另一种分割掩码可以是“类型网格”,其可以是文档120的像素被标识为手写、机打和/或文档120的背景的一部分的版本。关于图2C进一步讨论该类型网格分割掩码的实施例。边界框可以是文档120的具有位置信息的版本,该位置信息指示被字符或字符的组占据的空间。关于图2D和图2E进一步讨论边界框的实施例。产生这两个文档120结构可以导致增强对文档120的处理,以在识别文本时花费较少资源。
CNN 140可以利用编码器142和/或解码器144执行处理,以生成一个或多个分割掩码和/或边界框。编码器142可以通过用索引值替换文档120的字符来帮助创建字符网格分割掩码。可以根据映射函数分配索引值。例如,编码器142可以使用预先定义的词典,以将字符“A”映射到“65”或“0x41”的索引值。编码器142已经可以被训练为将字符的像素图像直接与索引值相关联。例如,编码器142已经可以被训练为标识字符“A”的手写版本的像素,并且将像素图像与索引值相关联。编码器142可以将包含字母、数字、和/或符号的标识的字符映射到对应的索引值。编码器142可以取决于在训练编码器142时所利用的映射函数和/或词典对多个语言之间的字符执行该映射。在实施例中,类型网格分割掩码还可以用于从第一语言分组字符的第一子集合,而从第二语言分组字符的第二子集合。
图4描绘了演示将字符串420转换成具有与字符对应的索引值的字符串430的示例实施例。当生成分割掩码时,索引值可以替换被字符占据的像素区域。OCR系统110可以为文档120的每个字符分配索引值。例如,字符“M”可以映射到“4”的索引值。连同索引值的定位信息的集体索引值可以包含字符网格分割掩码。除了对字符进行索引之外,编码器142可以标识背景类。背景类可以指代文档120的背景或“白空间”,并且可以帮助将索引值与背景区分。使用CNN 140的该索引散列过程可以允许更快的字符识别,并且降低相对于顺序OCR系统的计算资源花费。CNN 140可以使用编码器142对标识的字符执行该字符索引,并且可以使用解码器144以连同背景类组合索引值生成分割掩码。
CNN 140可以用类似方式生成类型网格分割掩码。CNN 140可以分配与文档120的手写字符、机打字符、和/或背景对应的像素区域的值。这些值分配可以将特定文本指定为机打或手写文本。值的集体划界可以包含类型网格分割掩码。在实施例中,可以将字符网格和类型网格组合成共用分割掩码。例如,与字符对应的值可以指示索引值以及字符是手写还是机打。
除了生成一个或多个分割掩码之外,CNN 140可以在文档120中确定边界框。边界框可以标识文档120中的特定字符、单词、行和/或语句的位置。该位置信息可以用字符信息以及字符位置信息帮助重构文档120,以生成具有光学识别的文本的文档120的版本。例如,CNN 140可以生成每个标识的字符周围的边界框。这些边界框可以生成在手写和/或机打字符周围。图4提供了机打字符的示例,而CNN 140可以将相同过程应用于手写字符。
在实施例中,CNN 140可以在文档120中单词周围确定边界框。单词边界框可以表示由单词占据的像素区域(例如,宽度×高度)。例如,参考图4,CNN 140可以在文档120中标识字符串410。CNN 140可以将该字符串中的三个分开的单词标识为“THE”、“MERCHANT”和“COMPANY”。CNN 140可以识别这些单词,并且将每个单词与单词边界框相关联。CNN 140还可以在文档120中标识单词边界框的位置。例如,CNN 140可以利用坐标系统或相对像素位置。CNN 140可以将单词边界框应用于机打字符和/或手写字符。
在实施例中,CNN 140可以将单词框划分成字符框,并且将字符串410转换成字符串420。例如,CNN 140可以标识包含不同的字符的单词边界框内的像素。如此,CNN 140可以将单词框转换成字符框。该划分可以维持与字符相关的定位信息。
在实施例中,CNN 140可以直接地标识字符框。例如,CNN 140可以从文档120提取字符和像素尺寸而不是首先对单词框进行标识。在实施例中,CNN 140可以利用与文档120相关联的元数据以标识字符框和/或单词框。基于由CNN 140所执行的分析,OCR系统110可以识别文档120的特定字符、由字符占据的区域、和/或字符的位置,以构造具有光学识别的文本的文档120的版本。识别的字符可以是手写的和/或机打的。
在实施例中,CNN 140可以直接地标识行框和/或语句框。行边界框可以表示由一个或多个单词占据的像素区域(例如,宽度×高度)。例如,参考图4,CNN 140可以将字符串410“THE MERCHANT COMPANY”的像素区域标识为行。行可以包含一个或多个单词。CNN 140可以基于训练数据识别该行。CNN 140可以在对于行确定的像素区域周围确定行边界框。在实施例中,CNN 140可以识别手写和/或机打字符的行。例如,CNN 140可以将手写签名标识为行。如果文档120是日记条目或其他手写文稿,则CNN 140可以标识手写文本的行。
使用由CNN 140导出的信息,OCR系统110可以使用字符语义分割生成器160和/或类型语义分割生成器170生成一个或多个分割掩码。在实施例中,字符语义分割生成器160和类型语义分割生成器170可以操作为神经网络或CNN 140中的训练为生成两个预测的两个部分。OCR系统110还可以使用边界框检测器150生成边界框。OCR系统110可以使用一个或多个分割掩码和/或边界框,以构造具有光学识别的字符的文档120的版本。在实施例中,OCR系统110可以产生一个或多个分割掩码和/或边界框作为分开的输出。例如,OCR系统110可以向配置为对文档120执行附加处理的文档处理系统供应这些输出。例如,OCR系统110可以向另一个神经网络或使用机器学习的另一个系统供应一个或多个分割掩码和/或边界框。供应这些输出可以导致由文档处理系统基于分割掩码的索引格式和边界框的位置更快地进行计算和/或处理。
在生成一个或多个分割掩码和边界框中,解码器144可以使用一个或多个分支以导向字符语义分割生成器160、类型语义分割生成器170、和/或边界框检测器150。字符语义分割生成器160可以生成索引值的2D表示,并且可以使用图案和/或色彩以用文档120的字符的索引值表征它们。参考图2B,该2D表示的实施例进一步描述为字符网格分割掩码。字符网格分割掩码可以对OCR系统110的用户是可见的,和/或可以是格式化文件。字符网格分割掩码可以将不同图案用于文档120的每个不同的字符。字符网格分割掩码还可以标识背景。背景可以帮助区分不同字符并且可以标识文档120中的“白空间”。对字符网格分割掩码的字符进行组合允许OCR系统产生显示索引的字符信息的2D对象。
类型语义分割生成器170可以生成指示字符是机打、手写和/或背景的值的2D表示。参考图2C,该2D表示的实施例进一步描述为类型网格分割掩码。类型网格分割掩码可以对OCR系统110的用户是可见的,和/或可以是格式化文件。类型网格分割掩码可以将不同图案用于文档120中的机打、手写和/或背景部分。
除了产生字符网格和类型网格分割掩码之外,OCR系统110可以生成边界框掩码。参考图2D和图2E描述了边界框掩码的实施例。为了生成边界框掩码,OCR系统110可以利用边界框检测器150。边界框检测器150可以使用超高密度单级检测器以生成边界框。边界框可以表示字符或字符的组之间的界线。例如,可以在单独的字符、单词、语句和/或行周围绘制边界框。边界框可以帮助基于CNN 140的训练和/或边界框检测器150来准确地分析文档120的内容和/或标识字符的组。在实施例中,边界框检测器150可以生成一个或多个边界框掩码,其可以包含边界框的不同粒度(例如,字符、单词、语句和/或行)。在生成一个或多个边界框掩码后,OCR系统110可以输出边界框掩码和/或将一个或多个边界框掩码与分割掩码组合,以生成具有光学识别的字符的文档120的版本。一个或多个边界框掩码还可以标识在手写文本的字符之间和/或机打文本的字符之间的各种粒度。
经由使用一个或多个分割掩码以及边界框掩码,OCR系统110可以生成文档120的相对于应用常规计算机视觉技术的OCR版本。OCR系统110可以避免由OCR系统在执行顺序步骤时所使用的资源密集计算。在实施例中,OCR系统110可以连同文档120和/或文档120的OCR版本一起储存一个或多个分割掩码和/或边界框掩码。OCR系统110可以使该信息可用于其他系统,以执行其他关于文档的分析。在实施例中,OCR系统110可以在软件应用中利用该信息,和/或可以在用户操纵的显示屏上显示分割掩码和/或边界框掩码。利用OCR系统110,计算机系统可以简易地识别文档120的字符内容,并且从文档120提取字符信息,包含区分手写文本和机打文本。
在生成一个或多个分割掩码、边界框掩码、和/或文档120的OCR版本之后,OCR系统110可以向诸如另一卷积神经网络(CNN)的机器学习模型输入文档120的OCR版本。其他CNN可以处理文档以提取相关信息,诸如关键值或表格信息。因为文档120已经从图像转换为包含字符表示,因而其他CNN无需重新学习字符。其他CNN可以用与原始像素方案或顺序标注方案相比更快的方式和增强的准确度来提取关键值。相似地,其他CNN可以使用指示特定字符是手写信息还是机打的信息以执行进一步分析。当处理文档时,机器学习算法或其他人工智能可以相对于原始文档120更加快速并且用更少的步骤来分析OCR文档120。机器学习算法还可以更易于确定来自文档120的图案。
图2A描绘了根据一些实施例的示例文档200A的框图。文档200A可以类似于文档120。在实施例中,文档200A可以包含字符的各种组合。字符和/或字符的组合可以是手写的和/或机打的。这些组合可以包含单独字符或字符的组。这些组合可以包含字母、数字、和/或符号。组合可以是例如单词205、数字215、日期225、互联网地址235和/或签名245。字符还可以包含不同的语言。这些组合可以是预先定义的分组集合,以由OCR系统110进行分析。OCR系统110的管理者可以已经将这些组合定义为关注的组。如此,训练CNN140可以允许改进在确定期望的分组中的准确度,以在OCR系统110分析文档120时生成边界框。
为了生成边界框,OCR系统110可以被训练为在生成边界框时标识单独字符、单词和/或行。该训练可以取决于OCR系统110的输出的应用来执行。例如,如果文档200A打算由另一文档处理系统处理,则OCR系统110可以标识适合于输入到其他文档处理系统的参数或者格式。在一些情况下,其他文档处理系统可以试图确定与文档200A的单词的语义和/或单词的位置有关的信息。如此,OCR系统110的CNN 140可以被训练为将字符分组为单词。
OCR系统110可以基于语言和/或词典映射来标识单词205。在文档200A中,OCR系统110可以标识“THE”作为单词205A、“MERCHANT”作为单词205B、和“COMPANY”作为单词205C。OCR系统110可以分配指示字符组成单词的该分组的元数据。该表征可以帮助OCR过程,并且可以允许OCR系统110将单词与词典比较来确定索引映射过程是否正确。OCR系统110可以将单词205与诸如数字215的字符的其他组区分。
OCR系统110可以标识数字215的组,和/或将数字的组与元数据相关联。OCR系统110可以将这些数字转换为索引值,使得它们可以连同字母在分割掩码中被标识。OCR系统110还可以标识具有数字和字母的组合的分组,例如日期225。即使该分组可以包含数字和字母两者,OCR系统110可以能够索引分组的每个字符并且用边界框标识该分组。该处理可以产生边界框掩码,其可以在其他文档处理系统中被用来例如确定与文档200A有关的语义信息。
OCR系统110还可以标识互联网地址235。OCR系统110可以用该方式标识对字母、数字和/或符号的分组。OCR系统110可以索引互联网地址235的每个字符并且识别字符的分组。
OCR系统110还可以标识签名245。OCR系统110可以基于CNN 140的训练来识别签名245是手写文本。OCR系统110可以标识该文本不同于文档200A的其他机打文本。鉴于该区别,OCR系统110可以生成类型网格分割掩码。
OCR系统110还可以标识来自不同语言的手写或机打的字符。基于由OCR系统110实现的训练和/或词典映射,OCR系统110可以标识来自多个语言的符号或字符。可以将每个不同的符号映射到不同索引值以在符号之间区分。另外,OCR系统110可以基于文档200A的构造将不同语言的符号分组在一起。在该分组内,OCR系统110可以使用索引值来区分符号。
尽管文档200A可以包含许多不同类型的字符分组,但是OCR系统110可以标识字符的不同分组和/或将索引值映射到文档200A的每个字符。该映射可以将索引值映射到手写字符和机打字符两者,和/或在不同字符类型上将字符与索引值关联。
图2B描绘了根据一些实施例的示例字符网格分割掩码200B的框图。在分析图2A中所描绘的文档200A之后,OCR系统110可以生成字符网格分割掩码200B。字符网格分割掩码200B可以包含与文档200A的每个字符对应的索引值。分割掩码200B可以使用图案和/或色彩以表征文档200A的具有相同索引值的部分。该索引和/或散列可以与图4所描绘的字符串420向字符串430的转换类似地发生。基于OCR系统110标识与文档200A的图像的字符信息的像素信息对应的索引值,可以用索引值替换文档200A的每个字符。OCR系统110可以为字符标识匹配像素配置的索引值。OCR系统110可以通过向CNN 140供应多个训练示例来训练映射算法。
OCR系统110可以将不同的字符与不同的索引值关联。例如,在文档200A中,OCR系统110可以将每个字母“E”与相同索引值关联。在分割掩码200B中,OCR系统110可以将该索引值与相同色彩或图案关联,使得字母“E”的每个实例以相同视觉指示呈现。为了展示示例实施例,OCR系统110可以使用相同视觉指示来标记来自单词“THE”中的210A处的字母“E”,以及来自单词“MERCHANT”中的210B处的字母“E”。相似地,OCR系统110可以标识来自“BlakeEdwards”的签名中的210C和210D处的字母“E”的手写实例。如此,OCR系统110可以从手写字符和机打字符标识相同字符,并且使用相同索引值标记它们。
OCR系统110还可以使用相同视觉指示符来标记来自字“MERCHANT”中的220A处的字母“M”,以及来自字“COMPANY”中的220B处的字母“M”。然而,字母“E”和字母“M”的视觉指示符可以是不同的,以对字符指示不同索引值。OCR系统110还可以使用相同索引值或不同索引值,以在小写或大写字母之间进行统一或区分。
在实施例中,取决于如何训练OCR系统110以标识字符和/或将字符映射到索引值,OCR系统110可以针对不同字符格式标识不同索引值。例如,来自单词“MERCHANT”中的220A处的字母“M”、连同来自单词“COMPANY”中的220B处的字母“M”一起可以因为字母使用相同格式而被映射到第一索引值。例如,字母使用相同字体大小和诸如粗体或斜体之类的修饰。然而,来自一个不同单词的不同字母“M”可以被映射到不同索引值,因为它不包含相同修饰。如此,对具有光学识别的文本的文档200A的重构可以保存除了字符信息自身之外的字符的格式。该格式保存可以取决于为OCR系统110指定的训练。该索引可以针对机打和/或手写字符而发生。
除了将索引值用于表示字母之外,OCR系统110可以标识数字230A-230B和/或为数字提供索引值。数值索引值可以对应于数字自身和/或可以是不同的索引值。相似地,OCR系统110可以在编号中标识十进制值。基于将OCR系统110训练为识别符号并生成映射函数以索引符号,OCR系统110可以支持多个语言并且可以允许使用神经网络架构提高可缩放性。还可以对于机打字符和手写字符的两者来索引编码、符号和不同字符。
基于字符的转换,OCR系统110可以用索引值替换每个标识的字符。在一些实例中,文档200A可以包含不包含字符信息的图形和/或背景。在这种情况下,OCR系统110可以在字符网格分割掩码200B上不供应索引值。代替地,OCR系统110可以在字符网格分割掩码200B上将空间分类为可能呈现为“白空间”的背景区域。该分类可以帮助文档处理,并且可以允许其他文档处理系统避免对空白空间进行分析而是处理字符信息。具有该信息允许其他文档处理系统继续避免可能缓慢且资源密集的基于像素的分析。其他文档处理系统可以代替地使用字符网格分割掩码200B、类型网格分割掩码200C、和/或边界框掩码200D和/或200E(如参考图2C、图2D和图2E所描述的)以提供进一步的文档分析。
在实施例中,OCR系统110可以使用字符网格分割掩码200B作为输出,以表示文档120的OCR版本。为了供应附加的信息,OCR系统110可以使用字符网格分割掩码200B、以及类型网格分割掩码200C、边界框掩码200D、和/或边界框掩码200E,以生成具有光学识别的文本的文档200A的版本。OCR系统110可以将字符网格分割掩码200B与类型网格分割掩码200C、边界框掩码200D、和/或边界框掩码200E组合,以生成具有光学识别的文本的文档200A的版本。
在生成字符网格分割掩码200B、类型网格分割掩码200C、和/或边界框掩码200D和/或200E之后,OCR系统110可以储存分割掩码200B、200C和/或边界框掩码200D、200E以及文档120和/或文档120的OCR版本。OCR系统110可以使该信息可用于其他系统,以执行其他关于文档的分析。在实施例中,OCR系统110可以在软件应用中利用该信息,和/或可以在用户操纵的显示屏上显示字符网格分割掩码200B、类型网格分割掩码200C、和/或边界框掩码200D和/或200E。在实施例中,OCR系统110可以经由JSON格式的文件来输出分割掩码200B、200C和/或边界框掩码200D和/或200E。
图2C描绘了根据一些实施例的示例类型网格分割掩码200C的框图。如先前所描述的,类型网格分割掩码200C可以在手写字符、机打字符、和/或背景之间指示不同像素分组。例如,OCR系统110可以使用特定值来标识机打字符和/或单词240,然而对于手写的字符或单词250使用不同值。
取决于CNN 140的训练,OCR系统110可以标识超过手写字符和机打字符之间的区别之外的不同类型的字符。例如,OCR系统110可以标识不同机打字符所使用的不同字体。OCR系统110还可以训练为标识来自不同个体的手写体。OCR系统110然后可以在类型网格分割掩码200C中归类不同的手写体样式。用不同类型的手写体数据集合对CNN 140进行训练可以允OCR系统110标识手写字符和机打字符之间的差异,并且可以允许OCR系统110识别不同手写体图案之间的区别。可以使用类型网格分割掩码200C来构成和/或查看这些差异。
类似于手写字符和机打字符的分组,OCR系统110可以配置为取决于字符的格式来分组不同的字符。例如,分组可以包含不同字体或样式的细节。在实施例中,类型网格分割掩码200C可以标识不同个体的手写体。在实施例中,类型网格分割掩码还可以用于分组来自第一语言的字符的第一子集合,而分组来自第二语言中的字符的第二子集合。如此,类型网格分割掩码200C可以鉴于向OCR系统110供应的训练数据来分组不同字符格式。为了界定不同格式,分割掩码200C可以使用不同色彩以生成差异的视觉描绘。例如,机打字符和/或单词240可以使用第一色彩来描绘,而手写字符或单词250可以使用第二色彩来描绘。
除了产生字符网格分割掩码200B和/或类型网格分割掩码200C之外,OCR系统110可以生成边界框掩码200D。图2D描绘了根据一些实施例的包含字符边界框的示例边界框掩码200D的框图。为了生成边界框掩码200D,OCR系统110可以利用边界框检测器150。边界框检测器150可以帮助标识字符的分组的不同实例。边界框检测器150可以产生边界框掩码200D以帮助该过程。例如,边界框掩码200D可以包含边界框260A-260E。
边界框掩码200D可以包含文档120的字符周围的边界框。在这种情况下,边界框可以在文本的不同尺寸上有不同大小。例如,尽管机打字符可以在尺寸上是统一的,但是手写字符可以在尺寸上具有更多的变化。在这种情况下,在字符周围的边界框260可以在尺寸上变化。尽管尺寸可以变化,边界框260可以指示特定字符是不同的。例如,在字符可以具有不同的高度和/或宽度的书面的签名或文稿中,边界框260可以帮助在签名的字符之间进行界定。
图2E描绘了根据一些实施例的包含单词边界框的示例边界框掩码200E的框图。为了生成边界框掩码200E,OCR系统110可以利用边界框检测器150。边界框检测器150可以帮助标识字符的分组的不同实例。边界框检测器150可以产生边界框掩码200E以帮助该过程。例如,边界框掩码200E可以包含边界框270A-270E。
边界框270A-270E可以取决于OCR系统110的配置和训练来标识字符的组的不同实例。例如,如果CNN 140被训练为标识单词,则边界框270A-270E可以标识单词。图2E所描绘的实施例包含单词边界框270A的示例。单词边界框270A对标识单词“COMPANY”的字符的组进行标识。为了生成单词边界框270A,OCR系统110可以标识字母的组之间的白空间和/或间隙。在一些实施例中,OCR系统110可以标识索引值的分组以确定单词。例如,在将索引值映射到字符之后,OCR系统110可以查阅词典以将字符的特定组标识为单词。OCR系统110然后可以生成单词边界框270A。
类似于单词,OCR系统110可以生成互联网地址边界框270B。互联网地址边界框可以标记字符的组,其指示互联网地址、网站、或统一资源定位符(URL)。OCR系统110可以被训练为通过标识互联网地址的结构来与单词分开地标识互联网地址。如此,OCR系统110可以不标识互联网地址的单独的单词。在一些实施例中,然而,OCR系统110可以被训练为取决于应用以及OCR系统110是否配置为标识互联网地址的单词来标识单独的单词。
OCR系统110还可以生成数字边界框270C。数字边界框270C可以标记数字和/或字母的分组。OCR系统110可以用数字边界框270C将数字的全部集合分组在一起,而不是将单独字符识别为离散的实例。例如,OCR系统110可以将这些数字分组在一起以形成“三万四千两百八十九”,而不是标识3-4-2-8-9的数字。该分组可以帮助对文档120上的信息进行处理并归类,并且可以在边界框掩码200E中作为OCR系统110的输出来呈现。其他边界框类型可以包含日期边界框、标点边界框、和/或指示不同语言的边界框。
OCR系统110还可以生成手写体边界框270D和270E。手写体边界框270D和270E可以类似于单词边界框270A并且标识手写单词。手写体边界框270D和270E还可以标识分组在一起的字母和/或数字。在实施例中,手写体边界框270D和270E可以标识可以使用手书或草书来书写的手写单词。手写体边界框270D和270E可以在用相连的方式书写的字母之间进行界定。
尽管图2E显示具有单词的边界框的边界框掩码200E,但是OCR系统110可以配置为以不同粒度产生一个或多个边界框掩码200E。例如,OCR系统110可以生成单词边界框掩码200E、字符边界框掩码200D、行边界框掩码、和/或语句边界框掩码。每个掩码可以包含遮蔽字符的不同类别的不同边界框。使用这些一个或多个边界框掩码以及分割掩码200B可以允许OCR系统110生成具有光学识别的文本的文档120的版本。OCR系统110还可以提供一个或多个边界框掩码作为要用在文档处理系统中的输出。具有该分组信息,文档处理系统可以能够处理语义和/或上下文信息,可以避免需要将单词或字符分组分离开并且可以用更快的方式执行处理。
图3描绘了图示根据一些实施例的识别文档的字符的方法300的流程图。应该参考图1描述方法300;然而方法300不限于示例实施例。
在实施例中,OCR系统110可以将方法300用于处理文档120。文档120可以包含手写和/或机打文本。方法300可以生成具有光学识别的文本的文档120的版本。前述的描述将描述关于OCR系统110执行方法300的实施例。尽管参考OCR系统110描述方法300,但是方法300可以在任何计算装置上执行,诸如在参考图5所描述的计算机系统和/或处理逻辑上执行,该处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在处理装置上执行的指令)或其组合。
要理解的是,并非所有步骤需要执行本文中所提供的公开。另外,如本领域普通技术人员将理解的,步骤中的一些可以同时执行或按与图3所示的不同顺序来执行。
在305处,OCR系统110可以训练神经网络以标识文本字符以及包含机打字符和手写字符的边界框。神经网络可以是CNN 140。训练CNN 140可以包含提供包含具有对应的索引值的像素化字符的示例的数据包。通过执行许多比较,CNN 140可以基于识别的像素布置标识字符并且将新分析的像素信息映射到索引值。另外,使用字符(诸如印刷的字母、机打字母和手写字母)的不同配置,CNN 140的映射函数可以适应于标识相同字符的不同像素配置。CNN 140还可以取决于所接收的训练数据来标识不同字体或修饰。
尽管OCR系统110可以被训练为标识诸如字母或数字之类的字符,但是OCR系统110还可以基于训练定制为标识特定符号。例如,OCR系统110可以通过将标识的像素信息映射到索引值来标识多个语言。通过构建符号的库或词典,OCR系统110可以提供可缩放性以跨不同语言标识多个符号。另外,OCR系统110可以用特殊的方式使用,并且可以标识不遵循传统字母表的符号。例如,用户可以在训练数据中将图像或图示与对应索引值关联。在这种情况下,在标识包含图像或图示的新文档120时,OCR系统110可以关联指定的索引值。例如,如果训练数据包含猫的图像,如果OCR系统110基于文档120的检测的像素图案标识猫,则OCR系统110可以使用索引值来表示文档120中的猫。如此,字符识别可以缩放至包含图像以及文本。
OCR系统110还可以被训练为区分和标识在手写文本和机打文本之间的差异。OCR系统110可以被训练为在后来生成类型网格分割掩码时表示这些差异。OCR系统110仍然还可以标识在机打或手打时相同的字符。在这种情况下,OCR系统110可以在构造字符网格分割掩码时使用相同索引值。例如,字符网格分割掩码都可以将相同索引值用于特定字母,无论该字母是手写还是机打。
除了字符识别,OCR系统110可以训练CNN 140以标识边界框。可以基于期望输出的边界框掩码200D和/或200E执行边界框检测的训练。例如,如果OCR系统110的输出要输入到文档处理系统中,则文档处理系统可以希望接收具有标识字符的边界框的边界框掩码200D和/或具有分组单词的边界框的边界框掩码200E。在这种情况下,CNN 140的训练可以包含词典数据、和/或标识像素字符或索引值的图案以生成单词边界框的其他数据。相似地,训练数据可以包含对字符的结构进行图案识别以标识单词的信息。例如,训练数据可以包含日期信息,以训练CNN 140标识日期结构并生成日期边界框。训练数据还可以包含标识互联网地址信息、符号、数字、和/或由OCR系统110的用户认为重要的字符的其他分组。使用训练数据,OCR系统110可以取决于训练数据中指定的粒度来生成一个或多个边界框掩码。例如,训练数据可以使得CNN 140在每个字符周围标识边界框。在实施例中,CNN 140可以取决于训练包在单词、行和/或语句周围生成边界框。
OCR系统110可以从配置OCR系统110的用户中接收训练包。如此,OCR系统110可以取决于应用和所分析的文档120的类型而定制化。该定制化可以产生更加准确的结果和/或可以改进字符识别次数,因为训练数据可以更加集中。训练CNN 140以标识有重要性的特定图案可以产生字符的更快地图案识别和/或索引。在实施例中,CNN 140可以是通用或全用途字符识别系统并且可以使用缺省训练包。另外,在OCR系统110继续分析文档120时,训练可以不是离散步骤而可以是连续的过程。经由用户输入校正,CN 140可以在图案识别中继续变得更为稳健。
在310处,OCR系统110可以接收文档120。文档120可以是包含文本的文件。例如,文档120可以是图像、单词处理文档、PDF文件、屏幕截图、和/或文本和图像的组合。在实施例中,文档120可以是扫描的文档,和/或可以包含多个页面和/或幻灯片。
在实施例中,OCR系统110可以是独立系统,其配置为接收文档120并确定来自文档120的字符信息。OCR系统110可以将该字符信息储存在存储器装置和/或数据库中。在实施例中,OCR系统110可以与诸如文档处理系统之类的分开的系统通信。OCR系统110还可以向分开的系统传输字符信息。OCR系统110可以与另一个系统集成。例如,OCR系统110可以充当较大系统的组件。在这种情况下,OCR系统110可以从由较大系统指引的位置中接收文档120。较大系统可以指引OCR系统110以将标识的字符信息指引到特定位置。
在315处,OCR系统110可以将神经网络应用于文档120,以生成第一分割掩码、第二分割掩码、和/或一个或多个边界框掩码。第一分割掩码可以是字符网格分割掩码200B,而第二分割掩码可以是类型网格分割掩码200C。取决于不同的训练数据,OCR系统110还可以生成其他类型的分割掩码,诸如将不同字体、属于不同个体的不同手写体、或其他文档格式区别标识的分割掩码。边界框掩码可以是边界框掩码200D和/或200E,和/或可以包含边界框的不同粒度。
将CNN 140应用于文档120可以开启对文档120的光学字符识别过程,以获得字符和位置信息。字符信息可以涉及文档上的字母、数字、符号、单词,字母、数字和/或符号的结合或组合,符号标记,图像,和/或其他视觉指示符。OCR系统110可以标识单词和/或字符串。OCR系统110可以标识字符在文档120内的位置。OCR系统110可以执行基于像素的分析以标识字符和位置信息。该分析还可以标识特征像素是机打的还是手写的。
基于CNN 140的训练,OCR系统110可以使用字符语义分割生成器160生成字符网格分割掩码200B。OCR系统110可以根据供应的训练数据标识文档120的指定的字符。如此,字符信息可以包含如训练数据指定的数字、字母、和/或字符。可以将不同的字符映射到不同的索引值,使得可以唯一地标识每个字符。字符语义分割生成器160可以将索引信息与坐标系组合,来将索引值映射到文档120的对应的位置,以生成字符网格分割掩码200B。使用类型语义分割生成器170,OCR系统110还可以使用标识的手写、机打、或背景信息来生成类型网格分割掩码200C。在实施例中,在不使用边界框掩码200D和/或200E的情况下,可以使用字符网格分割掩码200B和/或类型网格分割掩码200C,以表示文档120的OCR版本。
在使用边界框掩码200D和/或200E的情况下,基于CNN 140的训练,OCR系统110可以使用边界框检测器150来生成边界框掩码200D和/或200E。OCR系统110可以标识字符的指定分组,包含由训练数据指定的单独字符、单词、行和/或语句。在实施例中,OCR系统110可以不生成边界框掩码200D和/或200E,并且代替地可以依赖字符网格分割掩码200B来指定字符位置。在其他分组中,OCR系统110可以根据训练数据在字符的组周围生成边界框。边界框检测器150可以将边界框与坐标系组合,来将边界框映射到文档120的对应位置,从而生成边界框掩码200D和/或200E。
在生成分割掩码200B、200C和/或边界框掩码200D和/或200E之后,OCR系统110可以向分开的系统供应这些掩码作为输出。取决于系统的配置,可以期望这些输出作为一种预处理的类型,以提取期望的字符信息,并且将字符信息散列为具有位置信息的索引值。相似地,如有需要,则OCR系统110可以配置为在针对用户查看和/或操纵的图形用户界面上生成分割掩码200B、200C和/或边界框掩码200D和/或200E的显示。在实施例中,用户可以希望OCR系统110产生文档120的OCR版本。在这种情况下,OCR系统110可以执行320。
在320处,OCR系统110可以将第一分割掩码、第二分割掩码、以及一个或多个边界框掩码组合以生成具有光学识别的文本的文档120。第一分割掩码可以是字符网格分割掩码200B;第二分割掩码可以是类型网格分割掩码200C;并且一个或多个边界框掩码可以包含边界框掩码200C和/或200D。将分割掩码200B、200C以及一个或多个边界框掩码200D和/或200E组合可以包含在文档120的图像之上添加一个或多个层。例如,文档120的OCR版本的用户版本可以允许查看文档120的图像,而且允许与分割掩码200B、200C和/或边界框掩码200D和/或200E进行交互。例如,用户可以高亮和/或选择字符网格分割掩码200B的字符以复制到不同应用或文档中。该复制可以包含复制在字符网格分割掩码200B中所表示的索引值。尽管计算机系统可以维持该关联,但是用户可以如所显示的视觉地看到字符而不是索引值。该可视化方面可以帮助用户复核文档120的OCR版本。
在一些实施例中,在不使用边界框掩码200D和/或200E的情况下,使用字符网格分割掩码200B对于OCR而言是足够的。在这种情况下,在文档120之上字符网格分割掩码200B的覆盖可以表示文档120的OCR版本。在实施例中,如果文档的OCR版本的随后应用需要在手写字符和机打字符之间的区分,则还可以产生类型网格分割掩码200C。在一些实施例中,可以期望经由边界框掩码200D和/或200E供应附加的信息。
用户可以与边界框掩码200D和/或200E进行交互。选择边界框可以允许用户快速地选择如在边界框掩码200E中分组的字符的组。在实施例中,用户可以与图形用户界面进行交互以切换(toggle)分割掩码200B、200C和/或边界框掩码200D和/或200E的视图。查看边界框掩码200D还可以帮助标识不同的手写字符,其可以是合并的、组合的或者难以在视觉上解析的。为了使字符或字符分组的差异可视化,用户可以希望将边界框作在文档120的顶部的覆盖观看。用户可以选择切换按钮以隐藏或示出边界框。相似地,用户可以希望可视化字符网格分割掩码200B的索引值和/或类型网格分割掩码200C上的高亮。如此,用户可以选择切换按钮以显示向分割掩码200B和/或200C的字符所分配的色彩和/或图案。
基于分割掩码200B、200C和边界框掩码200D、200E的组合,OCR系统110可以产生具有光学识别的文本的文档120的版本。该版本还可以区分手写文本和机打文本,但是也可以配置为区分其他类型的文本格式。该OCR过程可以关于顺序的OCR过程以更少的步骤来执行。另外,该OCR过程使用CNN 140降低计算成本,并且可以使得在中间OCR步骤期间由于损失或失真而产生的错误的数量降低。使用CNN 140可以简化OCR过程以产生更快和更准确的字符识别结果。
例如,使用一个或多个已知的计算机系统,诸如图5所示的计算机系统500,可以实现各种实施例。一个或多个计算机系统500可以例如用于实现本文中讨论的任何实施例、及其组合和子组合。
计算机系统500可以包含一个或多个处理器(还称为中央处理单元,或CPU),诸如处理器504。处理器504可以连接到通信基础结构或总线506。
计算机系统500还可以包含(多个)用户输入/输出装置503,诸如监视器、键盘、指点装置等,其可以通过(多个)用户输入/输出接口502与通信基础结构506通信。
一个或多个处理器504可以是图形处理单元(GPU)。在实施例中,GPU可以是设计为处理数学密集型应用的专用电子电路的处理器。GPU可以具有并行结构,该并行结构对于并行处理大量数据(诸如计算机图形应用、图形、视频等常用的数学密集型数据)是有效的。
计算机系统500还可以包含主存储器或主要存储器508,诸如随机存取存储器(RAM)。主存储器508可以包含一级或多级高速缓存。主存储器508可以在其中已经储存控制逻辑(即,计算机软件)和/或数据。
计算机系统500还可以包含一个或多个次级储存装置或存储器510。次级存储器510可以包含例如硬盘驱动器512和/或可移除储存装置或驱动器514。可移除储存驱动器514可以是软盘驱动器、磁带驱动器、光盘驱动器、光学储存装置、磁带备份装置和/或任何其他储存装置/驱动器。
可移除储存驱动器514可以与可移除储存单元518交互。可移除储存单元518可以包含计算机可用或可读储存装置,其上已经储存计算机软件(控制逻辑)和/或数据。可移除储存单元518可以是软盘、磁带、光盘、DVD、光学储存盘、和/或任何其他计算机数据储存装置。可移除储存驱动器514可以从可移除储存单元518读取和/或写入到可移除储存单元518。
次级存储器510可以包含允许计算机程序和/或其他指令和/或数据由计算机系统500存取的其他的构件、装置、组件、工具或者其他方案。这样的构件、装置、组件、工具或其他方案可以包含例如可移除储存单元522和接口520。可移除储存单元522和接口520的示例可以包含程序卡带和卡带接口(诸如在视频游戏装置中发现的)、可移除存储器芯片(诸如EPROM或PROM)和相关联的槽、存储棒和USB端口、存储卡和相关联的存储卡插槽、和/或任何可移除储存单元和相关联的接口。
计算机系统500还可以包含通信或网络接口524。通信接口524可以使计算机系统500能够与外部装置、外部网络、外部实体等的任何组合进行通信和交互(由附图标记528单独地和共同地引用)。例如,通信接口524可以允许计算机系统500在通信路径526之上与外部或远程装置528进行通信,该通信路径可以是有线的和/或无线的(或其组合),并且可以包含LAN、WAN、互联网等。可以经由通信路径526向计算机系统500传输控制逻辑和/或数据,或者可以从计算机系统500传输控制逻辑和/或数据。
计算机系统500还可以是以下的任何一种:个人数字助理(PDA)、桌上型工作站、膝上型计算机或笔记本计算机、上网本、平板电脑、智能电话、智能手表或其他可穿戴设备、器具、物联网的部分、和/或嵌入式系统、举几个非限制性示例,或者它们的任意组合。
计算机系统500可以是客户端或服务器,通过任何递送范例来访问或托管任何应用程序和/或数据,包含但不限于远程或分布式云计算解决方案;本地或本地部署(on-premises)软件(“本地部署”基于云的解决方案);“即服务”模型(例如,内容即服务(CaaS)、数字内容即服务(DCaaS)、软件即服务(SaaS)、管理软件即服务(MSaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、框架即服务(FaaS)、后端即服务(BaaS)、移动后端即服务(MBaaS)、基础结构即服务(IaaS)等);和/或包含前述示例或其他服务或递送范例的任意组合的混合模型。
计算机系统400中的任何适用的数据结构、文件格式和图案可以从以下标准中导出:包含但不限于JavaScript对象符号(JSON)、可扩展标记语言(XML)、另一种标记语言(YAML)、可扩展超文本标记语言(XHTML)、无线标记语言(WML)、MessagePack,XML用户界面语言(XUL)或单独或组合使用的任何其他功能相似的表示形式。可替代地,可以排他地或与已知或开放标准组合来使用专有数据结构、格式或图案。
在一些实施例中,有形的、非暂时性的设备或制品包含具有储存在其上的控制逻辑(软件)的有形的、非暂时性计算机可用或可读介质,该有形的、非暂时性的设备或制品在本文中还可以称为计算机程序产品或程序储存设备。这包含但不限于计算机系统500、主存储器508、辅助存储器510、以及可移动储存单元518和522,以及体现前述任意组合的有形制品。当由一个或多个数据处理装置(诸如计算机系统500)执行时,这样的控制逻辑可以使这样的数据处理装置进行如本文所述地操作。
基于本公开中包含的教导,对于相关领域的技术人员而言,显而易见的是,如何使用除了图5所示的那些之外的数据处理装置、计算机系统和/或计算机架构来制造和使用本公开的实施例。特别地,实施例可以使用除本文中所描述的那些之外的软件、硬件和/或操作系统来执行。
要理解的是,“具体实施方式”章节而非任何其他章节旨在于用来解释权利要求。其他章节可以提出一个或多个但不是由(多个)发明人所预期的全部示例性实施例,并且因此不旨在于以任何方式限制本公开或所附权利要求。
尽管本公开描述了示例性领域和应用的示例性实施例,但是要理解的本公开不限于此。其他实施例及其修改例是可能的,并且是在本公开的范围和精神内。例如,并且在不限制该段落的一般性的情况下,实施例不限于在附图中示出和/或本文中所描述的软件、硬件、固件和/或实体。此外,实施例(无论是否在本文中明确描述)对于超出本文中所描述的示例之外的领域和应用具有显著的实用性。
本文中已经借助于图示指定功能及其关系的实现方式的功能构造块来描述实施例。为了便于描述,本文中已经任意限定了这些功能构建块的边界。只要适当执行指定的功能和关系(或其等同物),就可以限定替代的边界。而且,替代实施例可以使用与本文中所描述的顺序不同的顺序来执行功能块、步骤、操作、方法等。
本文中对“一个实施例”、“实施例”、“示例实施例”或类似短语的引用指示了所描述的实施例可以包含特定的特征、结构或特性,而每个实施例可以不必包含该特定的特征、结构或特征。此外,这样的短语不必指代相同实施例。另外,当结合实施例描述特定的特征、结构或特性时,将这种特征、结构或特性合并到其他实施例中将落入在相关领域技术人员的知识范围内,无论在本文中是否明确提及或描述。另外,可以使用“耦接”和“连接”连同其派生词的表达来描述一些实施例。这些术语不必是彼此的同义词例如,可以使用术语“连接”和/或“耦接”来描述一些实施例,以指示两个或更多个元件彼此直接物理接触或电接触。然而,术语“耦接”还可以意味着两个或更多个元件彼此不直接接触,但是仍然彼此协作或相互作用。
本公开的广度和范围不应受到任何如上所描述的示例性实施例的限制,而应仅根据所附权利要求及其等同物来限定。
Claims (9)
1.一种计算机实现的方法,包括:
接收文档图像;
使用神经网络分析所述文档图像的像素,以标识所述文档图像的字符和所述字符的格式;
为所标识的字符分配索引值;
标识指代所述文档图像的背景的背景类,并将所述索引值与所述背景区分;
使用所述神经网络识别的像素信息生成第一分割掩码并使用所述索引值对所标识的字符的第一子集合进行掩码,其中索引值与所述背景类组合并替换被所述字符占据的像素区域;
使用所述神经网络识别的像素信息生成第二分割掩码并使用所述索引值对所述文档图像的字符的第二子集合进行掩码,其中索引值与所述背景类组合并替换被所述字符占据的像素区域,以及其中所述字符的第一子集合的格式与所述字符的第二子集合的格式不同,
将第一分割掩码和第二分割掩码提供给文档处理系统;以及
由所述文档处理系统根据第一分割掩码和第二分割掩码对所述文档图像进行附加处理。
2.根据权利要求1所述的计算机实现的方法,其中所述字符的第一子集合的格式包含手写文本,并且所述字符的第二子集合的格式包含机打文本。
3.根据权利要求1所述的计算机实现的方法,还包括:
生成一个或多个边界框,所述一个或多个边界框指示所述文档图像中的字符的组;以及
将所述一个或多个边界框组合到边界框掩码中,其中所述一个或多个边界框位于与所述文档图像中的所述字符的组对应的位置。
4.根据权利要求3所述的计算机实现的方法,还包括:
在所述文档图像上覆盖所述第一分割掩码、所述第二分割掩码和所述边界框掩码。
5.根据权利要求1所述的计算机实现的方法,其中所述字符的第一子集合的格式包含第一语言,并且所述字符的第二子集合的格式包含第二语言。
6.根据权利要求1所述的计算机实现的方法,其中所述字符的第一子集合的格式包含与第一个体对应的手写体,并且所述字符的第二子集合的格式包含与第二个体对应的手写体。
7.根据权利要求1所述的计算机实现的方法,其中所述第二分割掩码包含所述字符的第一子集合的第一色彩和所述字符的第二子集合的第二色彩,所述第二色彩不同于所述第一色彩。
8.一种系统,包括:
存储器;和
至少一个处理器,所述至少一个处理器耦接到所述存储器并配置为执行根据权利要求1至7中任一项所述的计算机实现的方法的操作。
9.一种非暂时性计算机可读装置,具有储存于其上的指令,所述指令在由至少一个计算装置执行时,使得所述至少一个计算装置执行根据权利要求1至7中任一项所述的计算机实现的方法的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/359,012 | 2019-03-20 | ||
US16/359,012 US10846553B2 (en) | 2019-03-20 | 2019-03-20 | Recognizing typewritten and handwritten characters using end-to-end deep learning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723807A CN111723807A (zh) | 2020-09-29 |
CN111723807B true CN111723807B (zh) | 2023-12-26 |
Family
ID=68342598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911050542.9A Active CN111723807B (zh) | 2019-03-20 | 2019-10-31 | 使用端到端深度学习识别机打字符和手写字符 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10846553B2 (zh) |
EP (1) | EP3712812A1 (zh) |
CN (1) | CN111723807B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593552B2 (en) | 2018-03-21 | 2023-02-28 | Adobe Inc. | Performing semantic segmentation of form images using deep learning |
US10963692B1 (en) * | 2018-11-30 | 2021-03-30 | Automation Anywhere, Inc. | Deep learning based document image embeddings for layout classification and retrieval |
US10671892B1 (en) * | 2019-03-31 | 2020-06-02 | Hyper Labs, Inc. | Apparatuses, methods, and systems for 3-channel dynamic contextual script recognition using neural network image analytics and 4-tuple machine learning with enhanced templates and context data |
US11042734B2 (en) * | 2019-08-13 | 2021-06-22 | Adobe Inc. | Electronic document segmentation using deep learning |
JP7439435B2 (ja) * | 2019-09-30 | 2024-02-28 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
US11275934B2 (en) * | 2019-11-20 | 2022-03-15 | Sap Se | Positional embeddings for document processing |
US11270146B2 (en) * | 2020-03-31 | 2022-03-08 | Konica Minolta Business Solutions U.S.A., Inc. | Text location method and apparatus |
US11600088B2 (en) * | 2020-05-29 | 2023-03-07 | Accenture Global Solutions Limited | Utilizing machine learning and image filtering techniques to detect and analyze handwritten text |
CN112200789B (zh) * | 2020-10-16 | 2023-11-21 | 中国铁道科学研究院集团有限公司 | 一种图像识别的方法及装置、电子设备和存储介质 |
KR20220055977A (ko) * | 2020-10-27 | 2022-05-04 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11688190B2 (en) * | 2020-11-05 | 2023-06-27 | Adobe Inc. | Text refinement network |
US11954139B2 (en) * | 2020-11-19 | 2024-04-09 | Accenture Global Solutions Limited | Deep document processing with self-supervised learning |
AU2021201352A1 (en) * | 2021-03-02 | 2022-09-22 | Canva Pty Ltd | Systems and methods for extracting text from portable document format data |
AU2021201345A1 (en) * | 2021-03-02 | 2022-09-22 | Canva Pty Ltd | Systems and methods for extracting text from portable document format data |
US20230008766A1 (en) * | 2021-07-09 | 2023-01-12 | The Bank Of New York Mellon | Methods and systems for adaptive, template-independent handwriting extraction from images using machine learning models |
US11847861B2 (en) * | 2021-10-13 | 2023-12-19 | Jpmorgan Chase Bank, N.A. | Method and system for providing signature recognition and attribution service for digital documents |
US11830264B2 (en) * | 2022-01-31 | 2023-11-28 | Intuit Inc. | End to end trainable document extraction |
US20230401877A1 (en) * | 2022-05-27 | 2023-12-14 | Walmart Apollo, Llc | Methods and apparatus for text identification and extraction within images using machine learning processes |
CN116778011B (zh) * | 2023-05-22 | 2024-05-24 | 阿里巴巴(中国)有限公司 | 图像生成方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4776024A (en) * | 1986-05-29 | 1988-10-04 | International Business Machines Corporation | System for segmenting character components |
US5181255A (en) * | 1990-12-13 | 1993-01-19 | Xerox Corporation | Segmentation of handwriting and machine printed text |
EP1345162A2 (en) * | 2002-03-11 | 2003-09-17 | IMDS Software Inc. | Character recognition system and method |
JP2006092027A (ja) * | 2004-09-21 | 2006-04-06 | Fuji Xerox Co Ltd | 文字認識装置、文字認識方法および文字認識プログラム |
WO2007022460A2 (en) * | 2005-08-18 | 2007-02-22 | Digital Business Processes, Inc. | Post-ocr image segmentation into spatially separated text zones |
CN101297318A (zh) * | 2005-08-23 | 2008-10-29 | 株式会社理光 | 用于混合介质文档系统的数据组织和访问 |
US9047528B1 (en) * | 2013-02-19 | 2015-06-02 | Amazon Technologies, Inc. | Identifying characters in grid-based text |
CN105893968A (zh) * | 2016-03-31 | 2016-08-24 | 华南理工大学 | 基于深度学习的文本无关的端到端的笔迹识别方法 |
US9646230B1 (en) * | 2014-06-10 | 2017-05-09 | David Prulhiere | Image segmentation in optical character recognition using neural networks |
WO2017163230A1 (en) * | 2016-03-24 | 2017-09-28 | Ramot At Tel-Aviv University Ltd. | Method and system for converting an image to text |
CN108764195A (zh) * | 2018-06-04 | 2018-11-06 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN109063706A (zh) * | 2018-06-04 | 2018-12-21 | 平安科技(深圳)有限公司 | 文字模型训练方法、文字识别方法、装置、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8175394B2 (en) * | 2006-09-08 | 2012-05-08 | Google Inc. | Shape clustering in post optical character recognition processing |
US10223585B2 (en) * | 2017-05-08 | 2019-03-05 | Adobe Systems Incorporated | Page segmentation of vector graphics documents |
US11657602B2 (en) * | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
US10678848B2 (en) * | 2018-02-12 | 2020-06-09 | Wipro Limited | Method and a system for recognition of data in one or more images |
-
2019
- 2019-03-20 US US16/359,012 patent/US10846553B2/en active Active
- 2019-10-23 EP EP19204763.7A patent/EP3712812A1/en active Pending
- 2019-10-31 CN CN201911050542.9A patent/CN111723807B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4776024A (en) * | 1986-05-29 | 1988-10-04 | International Business Machines Corporation | System for segmenting character components |
US5181255A (en) * | 1990-12-13 | 1993-01-19 | Xerox Corporation | Segmentation of handwriting and machine printed text |
EP1345162A2 (en) * | 2002-03-11 | 2003-09-17 | IMDS Software Inc. | Character recognition system and method |
JP2006092027A (ja) * | 2004-09-21 | 2006-04-06 | Fuji Xerox Co Ltd | 文字認識装置、文字認識方法および文字認識プログラム |
WO2007022460A2 (en) * | 2005-08-18 | 2007-02-22 | Digital Business Processes, Inc. | Post-ocr image segmentation into spatially separated text zones |
CN101297318A (zh) * | 2005-08-23 | 2008-10-29 | 株式会社理光 | 用于混合介质文档系统的数据组织和访问 |
US9047528B1 (en) * | 2013-02-19 | 2015-06-02 | Amazon Technologies, Inc. | Identifying characters in grid-based text |
US9646230B1 (en) * | 2014-06-10 | 2017-05-09 | David Prulhiere | Image segmentation in optical character recognition using neural networks |
WO2017163230A1 (en) * | 2016-03-24 | 2017-09-28 | Ramot At Tel-Aviv University Ltd. | Method and system for converting an image to text |
CN105893968A (zh) * | 2016-03-31 | 2016-08-24 | 华南理工大学 | 基于深度学习的文本无关的端到端的笔迹识别方法 |
CN108764195A (zh) * | 2018-06-04 | 2018-11-06 | 平安科技(深圳)有限公司 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
CN109063706A (zh) * | 2018-06-04 | 2018-12-21 | 平安科技(深圳)有限公司 | 文字模型训练方法、文字识别方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Spotting Text with Arbitrary Shapes;Pengyuan Lyu et al.;《Computer Vision - ECCV 2018》;第71-88页 * |
基于BP神经网络的多样本手写体字符识别;李丹;;软件;第37卷(第07期);第103-108页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111723807A (zh) | 2020-09-29 |
EP3712812A1 (en) | 2020-09-23 |
US20200302208A1 (en) | 2020-09-24 |
US10846553B2 (en) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723807B (zh) | 使用端到端深度学习识别机打字符和手写字符 | |
US10915788B2 (en) | Optical character recognition using end-to-end deep learning | |
JP7073241B2 (ja) | 複数のディープ・ラーニング・ニューラル・ネットワークを動的に重み付けすることによるフォント認識の改善 | |
US10643094B2 (en) | Method for line and word segmentation for handwritten text images | |
Mathew et al. | Multilingual OCR for Indic scripts | |
US11321559B2 (en) | Document structure identification using post-processing error correction | |
US9286527B2 (en) | Segmentation of an input by cut point classification | |
KR102293538B1 (ko) | 음악 심볼들을 인식하기 위한 방법 및 장치 | |
US20130181995A1 (en) | Handwritten character font library | |
US20140184610A1 (en) | Shaping device and shaping method | |
CN111507330A (zh) | 习题识别方法、装置、电子设备及存储介质 | |
JP2022052716A (ja) | 非構造化文書からのセマンティックデータの照会 | |
US11386685B2 (en) | Multiple channels of rasterized content for page decomposition using machine learning | |
EP3942459A1 (en) | Object detection and segmentation for inking applications | |
Nayak et al. | Odia running text recognition using moment-based feature extraction and mean distance classification technique | |
US20120281919A1 (en) | Method and system for text segmentation | |
CN113673294A (zh) | 文献关键信息的提取方法、装置、计算机设备和存储介质 | |
US11687700B1 (en) | Generating a structure of a PDF-document | |
Memon et al. | Glyph identification and character recognition for Sindhi OCR | |
Rimas et al. | Optical character recognition for Sinhala language | |
US10127478B2 (en) | Electronic apparatus and method | |
US11508139B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
US11928877B2 (en) | Systems and methods for automatic context-based annotation | |
Kasar et al. | MAST: Multi-script annotation toolkit for scenic text | |
CN113128496B (zh) | 一种从图像中提取结构化数据的方法、装置和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |