CN110399877B - 连接字符的光学字符识别 - Google Patents
连接字符的光学字符识别 Download PDFInfo
- Publication number
- CN110399877B CN110399877B CN201910335629.4A CN201910335629A CN110399877B CN 110399877 B CN110399877 B CN 110399877B CN 201910335629 A CN201910335629 A CN 201910335629A CN 110399877 B CN110399877 B CN 110399877B
- Authority
- CN
- China
- Prior art keywords
- boundary
- segment
- word
- image
- segments
- 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
- 238000012015 optical character recognition Methods 0.000 title claims abstract description 29
- 238000013515 script Methods 0.000 claims abstract description 26
- 239000012634 fragment Substances 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 39
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 230000000877 morphologic effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 8
- 238000012549 training Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 238000004590 computer program Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000002790 cross-validation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 244000181917 Rubus leucodermis Species 0.000 description 1
- 235000011036 Rubus leucodermis Nutrition 0.000 description 1
- 235000003942 Rubus occidentalis Nutrition 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 201000010041 presbyopia Diseases 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- 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/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- 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/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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/20—Image preprocessing
- G06V10/32—Normalisation of the pattern dimensions
-
- 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/158—Segmentation of character regions using character size, text spacings or pitch estimation
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Character Input (AREA)
Abstract
本公开的各实施例涉及连接字符的光学字符识别。用于语言脚本的光学字符识别的实现可以包括如下动作:接收图像,该图像包括按照该语言脚本而被书写的单词的图形表示;将该单词分割成两个或更多个片段,每个片段基于所述单词的高度中的变化和所述单词宽度中的变化中的一项或多项而被确定,并且包括至少一个字符;针对该两个或更多个片段中的每个片段提供边界,该边界包围相应的片段的该至少一个字符,每个边界具有相对于该图像的轴的边缘;通过对齐边界的边缘来将该两个或更多个片段的边界归一化;以及利用相应的标签对该两个或更多个片段中的每个片段加标签,该相应的标签指示该相应的边界内的语言字符。
Description
技术领域
本公开的各实施例涉及连接字符的光学字符识别。
背景技术
光学字符识别(OCR)是将文本的图像(例如,扫描的文档、文档的照片、包括文本的图像等)转换为机器编码的文本(例如,文本数据)的技术。OCR已被广泛使用于将打印的数据数字化以用于数据录入、以电子方式编辑、搜索和存储数据。取决于特定语言,OCR可以具有不同级别的准确度。例如,对于英文文本,OCR相对准确。对于其他语言,诸如使用阿拉伯语字母表以及使用阿拉伯语脚本而被书写的语言,OCR可能非常不准确。例如,在阿拉伯语脚本中,个体字母相对于它们在单词中的位置而改变形状。
发明内容
本公开的实现包括用于光学字符识别的计算机实现的方法。更特别地,本公开的实现涉及连接字符(特别是阿拉伯语脚本)的识别。
在一些实现中,动作包括:接收图像,该图像包括按照语言脚本而被书写的单词的图形表示;将单词分割成两个或更多个片段,每个片段基于单词的高度中的变化和单词的宽度中的变换中的一项或多项而被确定,并且包括至少一个字符;针对两个或更多个片段中的每个片段提供边界,边界包围相应的片段的至少一个字符,每个边界具有相对于图像的轴的边缘;通过对齐边界的边缘来将两个或更多个片段的边界归一化;以及利用相应的标签对两个或更多个片段中的每个片段加标签,相应的标签指示相应的边界内的语言字符。其他实现包括对应的系统、装置和计算机程序,其被配置为执行被编码在计算机存储设备上的方法的动作。
这些和其他实现可以各自可选地包括以下特征中的一个或多个特征:动作还包括在分割之前过滤图像以移除噪声;动作还包括在分割之前缩放图像;动作还包括,在分割之前,应用形态(morphology)过滤器以变换图像;动作还包括调整每个片段的边界以跨片段将像素大小归一化;归一化包括缩放至少一个边界,缩放包括使用区域间(inter-area)算法的收缩以及使用立方间(inter-cubic)算法的放大中的一种;边界的边缘被对齐;语言脚本是阿拉伯语脚本,并且语言字符是阿拉伯语字符;每个片段仅包含单个字符;并且动作还包括确定边界的高度和边界的宽度中的一项或多项。
本公开还提供了一个或多个非暂态计算机可读存储介质,其被耦合到一个或多个处理器并且具有存储在其上的指令,这些指令当由一个或多个处理器执行时,使得一个或多个处理器执行根据本文提供的方法的实现的操作。
本公开还提供了一种用于实现本文提供的方法的系统。该系统包括一个或多个处理器,以及被耦合到一个或多个处理器的计算机可读存储介质,该介质具有存储在其上的指令,这些指令当由一个或多个处理器执行时,使得一个或多个处理器执行根据本文提供的方法的实现的操作。
应领会到,根据本公开的方法可包括本文描述的方面和特征的任何组合。也就是说,根据本公开的方法并不限于本文具体描述的方面和特征的组合,而是还包括所提供的方面和特征的任何组合。
本公开的一个或多个实现的细节在以下附图和描述中被阐述。根据说明书和附图以及权利要求,本公开的其他特征和优点将显而易见。
附图说明
图1描绘了可以被用于执行本公开的实现的示例环境。
图2A至图2C图示了根据本公开的实现的示例单词的示例分割。
图3描绘了根据本公开的实现的示例归一化。
图4描绘了根据本公开的实现的示例加标签。
图5和图6是可以根据本公开的实现而被执行的示例过程的流程图。
各附图中的相似的附图标记表示相似的元件。
具体实施方式
本公开的实现包括用于光学字符识别(OCR)的计算机实现的方法。更特别地,本公开的实现涉及被彼此连接的字符的识别。字符可以包括按照阿拉伯语脚本而被书写的单词中的阿拉伯语字母数字字符。例如,阿拉伯语单词可能具有被彼此连接的多个字符,每个字符取决于其在单词中内位置而从它的原始形式被更改。
如本文进一步详细描述的,本公开的实现提供分割输入数据(例如,文本)以及对经分割的输入数据的每个片段加标签。在一些示例中,每个片段对应于至少一个字符。为了识别文本中的字符(例如,单词)和/或对其加标签,本公开的实现将文本分割为多个片段。在一些示例中,分割基于文本的高度中的变化和/或文本中的不连续性而被执行。每个片段包括至少一个字符,并由边界包围。在一些示例中,片段基于片段的边界、大小和/或像素数量而被归一化。片段中的字符基于训练数据的集合(例如字母数字字符(例如,阿拉伯语字母字符))而被识别和/或被加标签。
传统的OCR技术关注于分离的字符(例如,键入的英文字符)。相应地,传统OCR技术在识别连接字符时的错误率在使用拉丁字母表(例如,英语、法语、德语)的语言中远低于使用阿拉伯语字母表的语言(例如,阿拉伯语、波斯语、阿塞拜疆语、普什图语、库尔德语,鲁伊语、曼丁卡语等)。较高的错误率可能是昂贵的。例如,错误的OCR可能导致错误的分类,或者甚至数据的丢失。作为另一示例,错误识别的字符可能会导致误导信息,该误导信息可能导致意外后果。进一步的,可能需要花费附加的技术资源来提高利用这样语言的OCR的准确度。
鉴于此,本公开的实现提供了识别包含连接字符(诸如阿拉伯语脚本)的打印的文本的方法和系统。如本文所述,与传统技术相比,本公开的实现改进了针对按照阿拉伯语脚本而被书写的语言的OCR错误率。根据本公开的实现,文本(例如,单词、一组单词)被分割。在一些示例中,文本基于文本的高度中的变化和/或文本的不连续性而被分割。每个片段中的一个或多个字符基于分类器被加标签。分类器包括使用训练数据的集合而被训练的机器学习(ML)模型。训练数据的集合可以通过受监督的学习过程而被获得。例如,用户可以向系统提供包括一个或多个字符的第一轮训练数据。在一些示例中,第一轮训练数据包括一个或多个分割和加标签过程。在一些实现中,系统基于对一个或多个OCR'd图像的反馈而被自我训练。例如,系统可以从一个或多个用户接收反馈,该反馈指示由本公开的OCR提供的文本数据中的准确度和/或错误。
图1描绘了可以被用于执行本公开的实现的示例环境100。示例环境100包括图像数据102、OCR模块104和文本数据106。在一些示例中,图像数据102由OCR模块104处理以提供文本数据106。也就是说,OCR模块104如本文所描述的根据本公开的实现处理图像数据102以提供文本数据106。在一些示例中,图像数据102从使用扫描仪110(例如,硬件)而被扫描的源文档108(例如,物理文档)而被提供。
根据本公开的实现,多个文档可以被提供作为输入数据。在一些实现中,图像(例如,图像数据)针对每个文档或每个文档的至少一部分而被提供。在一些实现中,图像数据被处理以移除噪声。在一些示例中,每个图像被提供作为灰度图像,或者被转换为灰度图像,并且噪声使用灰度级侵蚀而被移除。以这种方式,每个图像可以被提供作为过滤的或干净的图像。
在一些实现中,图像被进一步处理以用于大小统一。例如,目标图像大小(例如,A像素×B像素)可以被提供,并且每个图像可以被缩放(例如,放大,缩小),从而使得所有图像都具有目标图像大小。以这种方式,由于图像大小导致的潜在漏识(例如,字符太小从而导致无法识别)可以被避免。
如本文所述,本公开的实现分割在(干净的,缩放的)图像(例如,图1的图像数据102)中被提供的文本。在一些实现中,图像使用形态过滤器被变换为灰度图像。例如,所谓的黑帽变换可以被应用于图像以将图像提供作为灰度图像。在一些实现中,图像的边界被放大预定数目的像素以改进对靠近边界的字符的识别。
根据本公开的实现,图像内的文本被分割。在一些实现中,Otsu图像处理被应用于图像。在一些示例中,Otsu图像处理确实将灰度图像转换为黑白图像,然后反转图像(例如,黑色被转换为白色,白色被转换为黑色)。(反转的、黑色和白色)图像基于文本的连续性/不连续性而被分割,如本文中进一步详细描述的。
图2A至图2C图示了根据本公开的实现的示例单词的示例分割。图2A描绘了包括具有至少两个连接字符的单词204的图像202。在所描绘的示例中,单词204按照阿拉伯语脚本(阿拉伯语中的“hello”)被书写。在一些示例中,图2A的图像202在过滤原始图像之后被提供,并且可以被提供作为黑/白图像或灰度图像。在一些示例中,图像202可以被反转,如图2A中所描绘的。
如图2B中所描绘的,单词204被分割成多个片段206。片段206中的每个片段包括至少一个字符(例如,阿拉伯语字符)。每个片段206由包围至少一个字符的边界(例如,一条或多条线)限定。在所描绘的示例中,片段206的边界被提供为矩形。然而,预期边界可以按照任何适当的形状被提供。
在一些实现中,单词204的分割基于单词204内的高度变化而被执行。例如,并如图2C中所描绘的,高度可以在图像202内沿着单词204相对于y轴变化。更详细地,沿x轴移动,单词的高度可以改变。在一些示例中,至少一个片段标记在沿着x轴的位置处被施加,其中单词的高度相对恒定(例如,变化小于阈值量)。在一些示例中,片段标记被插入在单词中的不连续点处。
再次参照图2A,单词204的高度在单词204的多个位置上具有相对小的变化。基于此,各个片段标记212、214、216指示文本可以被分割的位置。进一步的,片段标记218在单词204的不连续处被提供。在一些示例中,尽管未被示出,但是片段标记可以被提供在单词204之前和单词204之后。
根据本公开的实现,并且如图2B和图2C中所图示,片段206被插入在片段标记212、214、218、216之间,从而使得针对每个片段206,单词204的一部分被边界包围。如上所述,边界可以具有任何适当的形状,包括但不限于矩形、正方形、三角形、圆形、日食形、多边形等。在一些实现中,每个边界是相应的片段中的字符的最小边界矩形。也就是说,例如,边界的高度可以基于被包围在相应的片段206中的文本的高度而被确定,边界是阈值距离(例如,以像素被测量),高于和低于相应文本(参见例如图2C)。类似地,边界的宽度可以基于被包围在相应的片段206中的文本的宽度而被确定,该边界比相应文本宽阈值距离(例如,以像素被测量)。因此,单词204具有在尺寸和/或面积上不同的多个片段206(例如,像素*像素(正方形像素))。
根据本公开的实现,片段被归一化。在一些示例中,片段被归一化以具有统一的尺寸。在一些示例中,片段被归一化以具有通知统一的面积。图3描绘了根据本公开的实现的示例归一化300。如图所示,边界可以相对于x轴(或水平轴)具有不同的宽度,和/或相对于y轴(或竖直轴)具有不同的高度。
在一些实现中,归一化包括边缘对齐过程。边缘对齐可以是相对于y轴和/或相对于x轴的对齐。例如,相对于y轴的边缘对齐可以包括对齐边界的高度。在一些示例中,较低y值和较高y值针对每个边界的高度而被确定,并且高度基于边界的集合中的所有边界的最小较低y值和/或最大较高y值而被对准。例如,单词204(在图3中)的最大较高y值属于片段302,并且单词204的最小较低y值属于片段304、306。对齐具有最小较低y值的204以及最大较高y值的单词的边界导致归一化的片段310。在一些实现中,对齐通过移动边界以具有相同的较高/较低(竖直)y值以及相同的边到边(水平)x值而被执行。在一些实现中,归一化导致片段310的统一的大小(例如,28×28像素)。
根据本公开的实现,归一化的片段(例如,图3的片段310)使用分类器(ML模型)而被处理以对每个片段加标签。在一些示例中,标签指示被包括在相应的片段中的一个或多个字母。图4图示了根据本公开的实现的示例加标签400。加标签过程是利用一个或多个标签402对每个片段加标签。例如,图4中的单词204的每个片段被阿拉伯语字母加标签,每个字母被提供作为标签402。
片段可以基于单词(或文本中)中的片段的位置、片段的边界的宽度和/或片段的边界的高度而被加标签。例如,针对单词204的每个字符,右值和左值(相对于x轴)可以被确定。每个字符的加标签可以基于相应字符的右值和左值(例如,在边界内)的差异而被执行。在一些示例中,标签可以与不同的宽度和/或高度相关联。例如,在阿拉伯语文本中,取决于字母被定位在单词中的位置,字母可能具有不同的形状。因此,取决于字母在单词中的位置,字母的宽度和/或高度可以不同。
如本文所述,本公开的分类器可以基于对一个或多个OCR'd图像的反馈而被自我训练。例如,第一轮训练可以包括向训练过程提供一个或多个初始字符,从而使得片段可以基于一个或多个字符而被加标签。随后的几轮训练可以包括自我训练。例如,被加标签的片段(也可以被称为“被加标签的数据”)可以在分类器的自我训练中被使用。训练轮还可以被用于评估分类器的性能和/或调整分类器的一个或多个参数。例如,被加标签的数据可以按各自的比例(例如,分别为70%,15%,15%)被分成训练数据、交叉验证数据和测试数据。
训练数据可以被添加到被用于对未来片段加标签的训练数据的集合中。例如,分类器可以使用一个或多个神经网络被实现以用于加标签,并且训练数据可以被用于确定多个层(例如,隐藏层)、每个层中的可能阈值、层的一个或多个激活函数和/或一个或多个神经网络中的神经元的特性。交叉验证数据可以被用于调谐神经网络的参数(例如,在调谐激活函数,阈值等时)。测试数据可以被用于测试和评估系统的准确度。
在一些实现中,系统使用深度机器学习模型,并且使用训练数据和/或交叉验证数据来调谐(多个)模型。在一些示例中,模型基于具有线性进展的梯度下降。
图5是可以根据本公开的实现而被执行的示例过程500的流程图。过程500可以被应用于一个或多个图像以提供被分割的文本(例如,被应用在图2A的图像202上以分割单词204)。在一些实现中,示例过程500可以使用利用一个或多个计算设备而被执行的一个或多个计算机可执行程序而被执行。
包括文本的一个或多个图像被接收(502)。例如,图1的OCR模块108接收图像数据102,图像数据102包括文本的一个或多个图像。在一些示例中,文本包括具有被彼此连接的至少两个字符的一个或多个单词。(多个)图像可包括一个或多个单词。例如,图像可以是包括文本的物理文档(例如,物理文档104)的图片。
噪声从图像被移除(504)。在一些示例中,噪声被移除以使得单词从图像中的非文本内容更可识别。例如,图像可以包括背景上的图案、照片或绘画,其可以作为噪声被移除。在一些情况中,噪声被移除以提供具有纯色(例如,与图像中的一个或多个词的一个或多个颜色不同)的背景。
图像的大小被标准化(506)。在一些示例中,图像被调整到预设大小。例如,图像可以被放大或收缩以匹配预设大小。将图像大小调整为标准大小有助于避免OCR系统的基于太小和/或太大字符的训练(或自我训练)。
图像被转换成双色图像,其具有用于背景的第一颜色和用于单词的第二颜色(508)。双色图像的两个颜色可以是但不限于黑色和白色。图2A描绘了具有黑色背景和白色文本(例如,单词204)的示例双色图像。
图像大小基于像素的数目而被归一化(510)。图像大小通过向图像的一个或多个边界添加多个像素而被放大(512)。添加的像素可以帮助避免接近一个或多个边界的字符的丢失或错误表征。在一些示例中,像素被添加以将图像大小放大到预设大小(例如,具有300×500像素的矩形)。
图像中的(多个)单词基于单词的高度的变化而被分割成多个片段(514)。在一些实现中,其中单词的高度在沿水平轴的长度上是稳定的,片段被应用(例如,如上参照图2A至图2C所述的)。在一些示例中,当与单词的最大高度相比的高度的变化在预定范围(例如,八分之一)内时,高度被认为是稳定的。在一些示例中,分割应用于单词中存在不连续性的情况。取决于分割,每个片段可以包括一个字符或一组字符(例如,单词)。
边界围绕每个字符而被绘制(516)。例如,响应于分割图2A的单词204,边界在每个片段周围被提供,如图2B中所图示。每个边界包围相应的片段中的(多个)字符。在一些实现中,每个边界是包围相应的片段中的(多个)字符的最小边界矩形(或正方形)。例如,边界可以是包围相应的片段中的具有文本颜色的区域的最小边界矩形。
图6是可以根据本公开的实现而被执行的示例过程600的流程图。例如,过程600可以被用于加标签和/或识别在过程500中被分割的(多个)图像的字符。在一些实现中,示例过程600可以使用一个或多个计算机可执行程序而被执行,该一个或多个计算机可执行程序使用一个或多个计算设备而被执行。
边界的集合被接收(602)。例如,被分割的图像数据可以被提供,其包括定义确定边界的元数据,如上面参考示例过程500所述。如本文所述,边界的集合中的每个边界包围一个或多个字符。边界可以与y轴(例如,竖直轴)和x轴(例如,水平轴)相关联。x轴和/或y轴可以与图像的水平轴和/或竖直轴相关联(例如,相同或倾斜)。
最小y值和最大y值针对边界的集合而被确定(604)。在一些示例中,最小y值是边界的集合中的(边界的)最小较低y值(例如,图3中的字符304的较低y值),并且最大y值是边界的集合中的(边界的)最大较高y值(例如,图3中的字符302的较高y值)。在一些示例中,最小y值基于边界的集合中的字符的最小y值而被确定并且/或者最大y值基于字符的最大y值而被确定。在一些示例中,最小y值和/或最大y值是预设值(例如,y=0,或y=10)。可选地,较高线和较低线可以针对边界的集合而被绘制(606)。较高线和/或较低线可以被用于将边界的高度归一化(例如,在部分614中)。
最小x值和最大x值针对边界的集合中的每个边界而被确定(608)。例如,图3中的宽度标记字符304的最小x值和最大x值。在一些示例中,边界的宽度基于最大x值和最小x值之间的差异而被确定。可选地,左线和右线可以针对每个边界而被绘制(610);左线表示相应的边界的最小的x值,并且右线表示相应的边界的最大x值。左线和/或右线可以被用于将边界归一化(例如,在部分614中),或被用于对包围在相应的边界中的字符加标签(或识别)。
边界的集合中的每个边界的位置被确定(612)。边界的集合中的边界的位置可以指示由边界的集合表示的单词中的(多个)字符(由边界包围)的位置。在一些示例中,边界的位置基于边界的集合中的边界的水平顺序而被确定。例如,图3中的字符304是中间字符,并且字符302是结束字符。
边界被归一化。在一些实现中,边界基于较高线、较低线、左线和右线中的至少一项而被归一化(614)。例如,边界可以被调整以匹配列出的线中的至少一个。在一些实现中,边界被归一化以匹配预设大小(616)。例如,边界可以被调整以使得每个片段具有28×28像素。在一些实现中,边界的调整通过将像素添加到相应的片段而被执行。例如,如在单词306中所示,像素被添加到单词206的片段以调整每个边界以具有边界的集合的最大y值和最小y值。
边界的集合中的字符被加标签(618)。图4描绘了表示单词406的边界的集合中的字符的示例加标签。加标签可以基于边界的集合中的每个边界的位置、每个边界(或者被包围在每个边界中的(多个)字符)的宽度和/或高度而被执行。在一些实现中,加标签基于脚本字符而被执行。在一些示例中,加标签基于阿拉伯语脚本字符。加标签可以基于字符或基于单词而被执行。例如,边界的集合的一个或多个边界可以包括两个或更多个字符(例如,单词),并且可以被加标签为单词。
所描述的特征可以在数字电子电路中被实现,或者在计算机硬件、固件、软件或它们的组合中实现。装置可以在有形地体现在信息载体中(例如,在机器可读存储设备中)的计算机程序产品中被实现,该计算机程序产品用于由可编程处理器执行;并且,方法步骤可以由可编程处理器执行,该可编程处理器执行指令程序以通过操作输入数据并生成输出来执行所描述的实现的功能。所描述的特征可有利地在可在可编程系统上执行的一个或多个计算机程序中实现,所述可编程系统包括至少一个可编程处理器,其耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令传输到数据存储系统,至少一个输入设备和至少一个输出设备。计算机程序是可以直接或间接地在计算机中使用以执行特定活动或带来某种结果的指令集合。计算机程序可以用任何形式的编程语言书写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适合在计算环境中使用的其他单元。
作为示例,用于指令程序执行的合适处理器包括通用和专用微处理器,以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括或可操作地耦合以与一个或多个大容量存储设备通信以存储数据文件;这些设备包括磁盘,例如内部硬盘和可移除磁盘、磁光盘、以及光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括,作为示例,半导体存储器设备,例如EPROM、EEPROM、以及闪存设备、磁盘,如内部硬盘和可移动磁盘、磁光盘、以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用集成电路(ASIC)补充或并入专用集成电路(ASIC)中。
为了提供与用户的交互,特征可以在计算机上被实现,该计算机具有例如阴极射线管(CRT)或液晶显示器(LCD)监视器之类的显示设备,该显示设备用于向用户显示信息,以及键盘和例如鼠标或轨迹球之类的指示设备,用户可通过该键盘和指示设备向计算机提供输入。
这些特征可以在计算机系统中被实现,该计算机系统包括后端组件,例如数据服务器,或者包括中间件组件,例如应用服务器或因特网服务器,或包括前端组件,例如具有图形用户界面或因特网浏览器的客户端计算机,或它们的任何组合。系统的组件可以通过任何形式或介质的数字数据通信连接,例如通信网络。通信网络的示例包括例如局域网(LAN)、广域网(WAN)以及形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过网络进行交互,例如所描述的网络。客户端和服务器的关系借助于在各个计算机上运行的程序并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,图中描绘的逻辑流程不需要所示的特定顺序或顺序次序以实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所描述系统中移除。相应地,其他实现在以下权利要求的范围内。
本公开的许多实现已经被描述。然而,应该理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。相应地,其他实现在以下权利要求的范围内。
Claims (30)
1.一种用于语言脚本的光学字符识别的计算机实现的方法,所述方法由一个或多个处理器执行,所述方法包括:
由所述一个或多个处理器接收图像,所述图像包括按照所述语言脚本而被书写的单词的图形表示,所述图像具有第一轴和第二轴;
由所述一个或多个处理器将所述单词分割成两个或更多个片段,每个片段由所述片段的相应的边界限定,其中所述分割包括:
相对于所述第二轴、在所述单词上施加多个片段标记,其中至少一个片段标记被施加到所述单词的一部分,在所述一部分处,所述单词沿着所述第一轴的高度在沿着所述第二轴移动时改变少于预定阈值,以及
由所述一个或多个处理器针对所述两个或更多个片段中的每个片段提供两个连续片段标记之间的相应的边界,从而使得(i)所述相应的边界的边缘被形成在所述两个连续片段标记之间,以及(ii)所述相应的边界包围所述单词的针对所述片段的至少一个相应的字符;
由所述一个或多个处理器通过对齐所述边界的边缘将所述两个或更多个片段的边界归一化;以及
由所述一个或多个处理器利用相应的标签对所述两个或更多个片段中的每个片段加标签,所述相应的标签指示相应的边界内的语言字符。
2.根据权利要求1所述的方法,还包括在分割之前过滤所述图像以移除噪声。
3.根据权利要求1所述的方法,还包括在分割之前缩放所述图像。
4.根据权利要求1所述的方法,还包括在分割之前应用形态过滤器以变换所述图像。
5.根据权利要求1所述的方法,还包括调整每个片段的所述边界以跨片段将像素大小归一化。
6.根据权利要求5所述的方法,其中归一化包括缩放至少一个边界,缩放包括使用区域间算法的收缩以及使用立方间算法的放大中的一种。
7.根据权利要求1所述的方法,其中所述边界的所述边缘被对齐。
8.根据权利要求1所述的方法,其中所述语言脚本包括阿拉伯语脚本,并且所述语言字符包括阿拉伯语字符。
9.根据权利要求1所述的方法,其中每个片段仅包括单个字符。
10.根据权利要求1所述的方法,还包括确定所述边界的高度和所述边界的宽度中的一项或多项。
11.一种非暂态计算机可读存储介质,其被耦合到一个或多个处理器并且具有存储在其上的指令,所述指令当由所述一个或多个处理器执行时,使得所述一个或多个处理器执行用于语言脚本的光学字符识别的操作,所述操作包括:
接收图像,所述图像包括按照所述语言脚本而被书写的单词的图形表示,所述图像具有第一轴和第二轴;
将所述单词分割成两个或更多个片段,每个片段由所述片段的相应的边界限定,其中所述分割包括:
相对于所述第二轴、在所述单词上施加多个片段标记,其中至少一个片段标记被施加到所述单词的一部分,在所述一部分处,所述单词沿着所述第一轴的高度在沿着所述第二轴移动时改变少于预定阈值,以及
针对所述两个或更多个片段中的每个片段提供两个连续片段标记之间的相应的边界,从而使得(i)所述相应的边界的边缘被形成在所述两个连续片段标记之间,以及(ii)所述相应的边界包围所述单词的针对所述片段的至少一个相应的字符;
通过对齐所述边界的边缘来将所述两个或更多个片段的边界归一化;以及
利用相应的标签对所述两个或更多个片段中的每个片段加标签,所述相应的标签指示相应的边界内的语言字符。
12.根据权利要求11所述的计算机可读存储介质,其中操作还包括在分割之前过滤所述图像以移除噪声。
13.根据权利要求11所述的计算机可读存储介质,其中操作还包括在分割之前缩放所述图像。
14.根据权利要求11所述的计算机可读存储介质,其中操作还包括在分割之前,应用形态过滤器以变换所述图像。
15.根据权利要求11所述的计算机可读存储介质,其中操作还包括调整每个片段的所述边界以跨片段将像素大小归一化。
16.根据权利要求15所述的计算机可读存储介质,其中归一化包括缩放至少一个边界,缩放包括使用区域间算法的收缩以及使用立方间算法的放大中的一种。
17.根据权利要求11所述的计算机可读存储介质,其中所述边界的所述边缘被对齐。
18.根据权利要求11所述的计算机可读存储介质,其中所述语言脚本包括阿拉伯语脚本,并且所述语言字符包括阿拉伯语字符。
19.根据权利要求11所述的计算机可读存储介质,其中每个片段仅包括单个字符。
20.根据权利要求11所述的计算机可读存储介质,其中操作还包括确定所述边界的高度和所述边界的宽度中的一项或多项。
21.一种系统,包括:
计算设备;以及
计算机可读存储设备,其被耦合到所述计算设备并且具有存储在其上的指令,所述指令当由所述计算设备执行时,使得所述计算设备执行用于语言脚本的光学字符识别的操作,所述操作包括:
接收图像,所述图像包括按照所述语言脚本而被书写的单词的图形表示,所述图像具有第一轴和第二轴,
将所述单词分割成两个或更多个片段,每个片段由所述片段的相应的边界限定,其中所述分割包括:
相对于所述第二轴、在所述单词上施加多个片段标记,其中至少一个片段标记被施加到所述单词的一部分,在所述一部分处,所述单词沿着所述第一轴的高度在沿着所述第二轴移动时改变少于预定阈值,以及
针对所述两个或更多个片段中的每个片段提供两个连续片段标记之间的相应的边界,从而使得(i)所述相应的边界的边缘被形成在所述两个连续片段标记之间,以及(ii)所述相应的边界包围所述单词的针对所述片段的至少一个相应的字符;
通过对齐所述边界的边缘来将所述两个或更多个片段的边界归一化,以及
利用相应的标签对所述两个或更多个片段中的每个片段加标签,所述相应的标签指示相应的边界内的语言字符。
22.根据权利要求21所述的系统,其中操作还包括在分割之前过滤所述图像以移除噪声。
23.根据权利要求21所述的系统,其中操作还包括在分割之前缩放所述图像。
24.根据权利要求21所述的系统,其中操作还包括在分割之前应用形态过滤器以变换所述图像。
25.根据权利要求21所述的系统,其中操作还包括调整每个片段的所述边界以跨片段将像素大小归一化。
26.根据权利要求25所述的系统,其中归一化包括缩放至少一个边界,缩放包括使用区域间算法的收缩以及使用立方间算法的放大中的一种。
27.根据权利要求21所述的系统,其中所述边界的所述边缘被对齐。
28.根据权利要求21所述的系统,其中所述语言脚本包括阿拉伯语脚本,并且所述语言字符包括阿拉伯语字符。
29.根据权利要求21所述的系统,其中每个片段仅包括单个字符。
30.根据权利要求21所述的系统,其中操作还包括确定所述边界的高度和所述边界的宽度中的一项或多项。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/962,394 US10719701B2 (en) | 2018-04-25 | 2018-04-25 | Optical character recognition of connected characters |
US15/962,394 | 2018-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399877A CN110399877A (zh) | 2019-11-01 |
CN110399877B true CN110399877B (zh) | 2023-08-04 |
Family
ID=66105056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910335629.4A Active CN110399877B (zh) | 2018-04-25 | 2019-04-24 | 连接字符的光学字符识别 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10719701B2 (zh) |
EP (1) | EP3561725B1 (zh) |
CN (1) | CN110399877B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112418224B (zh) * | 2021-01-22 | 2021-04-23 | 成都无糖信息技术有限公司 | 一种基于机器学习的通用ocr的训练数据生成系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107912062A (zh) * | 2015-05-15 | 2018-04-13 | 迈思慧公司 | 叠覆手写的系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266442B1 (en) * | 1998-10-23 | 2001-07-24 | Facet Technology Corp. | Method and apparatus for identifying objects depicted in a videostream |
EP2967248A2 (en) * | 2013-03-11 | 2016-01-20 | Day, Neil M. | Method and apparatus for replicating coffee flavor |
US9384403B2 (en) * | 2014-04-04 | 2016-07-05 | Myscript | System and method for superimposed handwriting recognition technology |
US10055659B2 (en) * | 2015-05-04 | 2018-08-21 | King Fahd University Of Petroleum And Minerals | Systems and associated methods for arabic handwriting using synthetic extension concatenation and synthesis |
US10002301B1 (en) * | 2017-09-19 | 2018-06-19 | King Fahd University Of Petroleum And Minerals | System, apparatus, and method for arabic handwriting recognition |
-
2018
- 2018-04-25 US US15/962,394 patent/US10719701B2/en active Active
-
2019
- 2019-04-10 EP EP19168411.7A patent/EP3561725B1/en active Active
- 2019-04-24 CN CN201910335629.4A patent/CN110399877B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107912062A (zh) * | 2015-05-15 | 2018-04-13 | 迈思慧公司 | 叠覆手写的系统和方法 |
Non-Patent Citations (1)
Title |
---|
"Markov Random Field Based Text Identification from Annotated Machine Printed Documents";Xujun Peng 等;《2009 10th International Conference on Document Analysis and Recognition》;20090726;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110399877A (zh) | 2019-11-01 |
US10719701B2 (en) | 2020-07-21 |
EP3561725A1 (en) | 2019-10-30 |
US20190332860A1 (en) | 2019-10-31 |
EP3561725B1 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5539841A (en) | Method for comparing image sections to determine similarity therebetween | |
US8971620B2 (en) | Detecting a label from an image | |
US5410611A (en) | Method for identifying word bounding boxes in text | |
US10643094B2 (en) | Method for line and word segmentation for handwritten text images | |
CN110942074B (zh) | 字符切分识别方法、装置、电子设备、存储介质 | |
US20120099792A1 (en) | Adaptive optical character recognition on a document with distorted characters | |
JP2012500428A (ja) | 印刷媒体ページの記事へのセグメント化 | |
US10169650B1 (en) | Identification of emphasized text in electronic documents | |
Feild et al. | Improving open-vocabulary scene text recognition | |
Hesham et al. | Arabic document layout analysis | |
Bukhari et al. | Layout analysis of Arabic script documents | |
Feild et al. | Scene text recognition with bilateral regression | |
CN110399877B (zh) | 连接字符的光学字符识别 | |
CN113887375A (zh) | 一种文本识别方法、装置、设备及存储介质 | |
US11551461B2 (en) | Text classification | |
US20150186718A1 (en) | Segmentation of Overwritten Online Handwriting Input | |
Smitha et al. | Document image analysis using imagemagick and tesseract-ocr | |
Kumar et al. | Line based robust script identification for indianlanguages | |
Naz et al. | Arabic script based character segmentation: a review | |
AMARA et al. | An efficient and flexible knowledge-based Arabic text segmentation approach | |
Al-Barhamtoshy et al. | Arabic OCR segmented-based system | |
Shafait | Document image analysis with OCRopus | |
Bagadkar et al. | Review on extraction techniques for images, textlines and keywords from document image | |
Humied | Segmentation accuracy for offline Arabic handwritten recognition based on bounding box algorithm | |
KR102627591B1 (ko) | 문서로부터 정보를 추출하기 위한 장치의 동작 방법 및 그 장치 |
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 |