CN110580478A - 基于用于ocr应用的深度强化学习的扫描图像的主动分割 - Google Patents

基于用于ocr应用的深度强化学习的扫描图像的主动分割 Download PDF

Info

Publication number
CN110580478A
CN110580478A CN201910461841.5A CN201910461841A CN110580478A CN 110580478 A CN110580478 A CN 110580478A CN 201910461841 A CN201910461841 A CN 201910461841A CN 110580478 A CN110580478 A CN 110580478A
Authority
CN
China
Prior art keywords
array
elements
data
processor
traversing
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.)
Granted
Application number
CN201910461841.5A
Other languages
English (en)
Other versions
CN110580478B (zh
Inventor
O·布兰
祁学伟
D·H·克里福德
D·J·西蒙格
Y·G·门格斯图
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN110580478A publication Critical patent/CN110580478A/zh
Application granted granted Critical
Publication of CN110580478B publication Critical patent/CN110580478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/024Details of scanning heads ; Means for illuminating the original
    • H04N1/028Details of scanning heads ; Means for illuminating the original for picture information pick-up
    • H04N1/02805Details of scanning heads ; Means for illuminating the original for picture information pick-up with photodetectors arranged in a two-dimensional array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及基于用于OCR应用的深度强化学习的扫描图像的主动分割。一种用于划分二维(2D)阵列并识别2D阵列的元素的系统选择包括2D阵列的像素数据的阵列中的位置;以及从选择的位置选择遍历阵列的方向,以分割2D阵列的元素。该系统使用模型和奖励/惩罚函数来引导遍历该阵列。当在选择的方向上遍历阵列时遇到的数据表示2D阵列的一个元素时,系统改变方向,并且当数据表示2D阵列的两个元素之间的接合时,系统在选择的方向上继续。该系统识别通过遍历阵列分割的2D阵列的一个或多个元素。

Description

基于用于OCR应用的深度强化学习的扫描图像的主动分割
引言
本节提供的信息旨在总体上呈现本公开的背景。就本节中所描述的程度而言,当前署名的发明人的工作,以及说明书中在提交时可能不被认为是现有技术的那些方面,既不明确也不隐含地被认为是针对本公开的现有技术。
本公开总体上涉及光学字符识别(OCR)系统,并且更具体地涉及基于用于OCR应用的深度强化学习的扫描图像的主动分割。
发明内容
一种用于划分二维(2D)阵列并识别2D阵列的元素的系统,包括处理器和存储处理器指令的存储器。处理器被配置为执行指令以选择包括2D阵列的像素数据的阵列中的位置;选择从选择的位置遍历阵列以分割2D阵列的元素的方向,选择的方向基于围绕选择的位置的数据和通过分割多个2D阵列生成的模型;以及基于划分该2D阵列的应用的需要来定义惩罚函数和奖励函数;处理器被配置为执行指令以响应于在选择的方向上遍历阵列时未遇到表示该2D阵列的一个或多个元素的数据,递增与模型相关联的该奖励函数;并且响应于在选择的方向上遍历阵列时遇到表示2D阵列的一个或多个元素的数据,递增与模型相关联的惩罚函数;处理器被配置为执行指令以确定在选择的方向上遍历阵列时遇到的数据是表示2D阵列的元素中的一个还是表示2D阵列的两个元素之间的接合。处理器被配置为响应于确定所遇到的数据表示2D阵列的元素中的一个而执行指令以在不同方向上遍历阵列。处理器被配置为响应于确定所遇到的数据表示2D阵列的两个元素之间的接合,执行指令以遍历两个元素之间的接合,并继续在选择的方向上遍历阵列。处理器被配置为执行指令以识别通过遍历阵列分割的2D阵列的元素中的一个或多个。
在其他特征中,处理器还被配置为基于一个或多个递增的奖励和惩罚函数以及基于2D阵列的像素数据来执行指令以更新模型。
在其他特征中,处理器还被配置为执行指令,以基于关于2D阵列的像素数据的先验信息来选择位置。
在其他特征中,2D阵列的元素包括字母数字字符。
在其他特征中,处理器还被配置为执行指令,以基于像素数据来选择阵列中的一个或多个附加位置;在选择的方向上并行地从选择的位置和一个或多个附加位置遍历该阵列,以分割该2D阵列的该元素;并且通过从一个或多个附加位置遍历阵列来识别分割的2D阵列的多个元素。
在其他特征中,处理器还被配置为执行指令以基于像素数据来选择包括选择的位置和一个或多个附加位置的位置总数。
在其他特征中,处理器还被配置为执行指令,以基于像素数据来选择选择的位置和一个或多个附加位置之间的间距。
在其他特征中,该处理器还被配置为执行该指令,以基于该像素数据来选择用于从选择的位置和该一个或多个附加位置遍历该阵列的路径宽度。
在其他特征中,该处理器还被配置为执行该指令以选择该宽度为相等的。
在其他特征中,该处理器还被配置为执行该指令,以选择该宽度中不同于宽度中的其他宽度的至少一个宽度。
在其他特征中,处理器还被配置为执行指令,以在选择位置之前接收2D阵列的像素数据;检测该2D阵列中的该元素的位置;并且校正2D阵列的方向、强度和缩放中的一者或多者。
在其他特征中,处理器还被配置为执行指令,以使用相应的分类器识别2D阵列的该元素中的该一者或多者。
在其他特征中,一种用于划分二维(2D)阵列并识别2D阵列的元素的方法包括:在包括2D阵列的像素数据的阵列中选择位置;以及选择从选择的位置遍历阵列以分割2D阵列的元素的方向,选择的方向基于围绕选择的位置的数据和通过分割多个2D阵列生成的模型;该方法还包括响应于在选择的方向上遍历阵列时遇到表示2D阵列的一个或多个元素的数据,递增与模型相关联的奖励函数。该方法还包括响应于在选择的方向上遍历阵列时遇到表示2D阵列的一个或多个元素的数据,递增与模型相关联的惩罚函数。该方法还包括确定在选择的方向上遍历阵列时遇到的数据是表示2D阵列的元素中的一个还是表示该2D阵列的两个元素之间的接合。该方法还包括响应于确定所遇到的数据表示该2D阵列的元素中的一个而在不同方向上遍历该阵列。该方法还包括响应于确定所遇到的数据表示2D阵列的两个元素之间的接合,遍历两个元素之间的接合,并继续在选择的方向上遍历阵列。该方法还包括通过使用相应的分类器遍历阵列来识别分割的2D阵列的一个或多个元素。
在其他特征中,该方法还包括基于递增的奖励和惩罚函数中的一者或多者并且基于2D阵列的像素数据来更新模型。
在其他特征中,该方法还包括基于关于2D阵列的像素数据的先验信息来选择位置。
在其他特征中,该方法还包括基于像素数据来选择阵列中的一个或多个附加位置;在选择的方向上并行地从选择的位置和一个或多个附加位置遍历阵列,以分割2D阵列的元素;以及通过从一个或多个附加位置遍历阵列来识别分割的2D阵列的多个元素。
在其他特征中,该方法还包括基于像素数据来选择包括选择的位置和一个或多个附加位置的位置总数。
在其他特征中,该方法还包括基于像素数据来选择选择的位置和一个或多个附加位置之间的间距。
在其他特征中,该方法还包括基于像素数据来选择从选择的位置和一个或多个附加位置遍历阵列的路径宽度。
在其他特征中,该方法还包括,在选择位置之前,接收2D阵列的像素数据;检测2D阵列中元素的位置;以及校正2D阵列的取向、强度和缩放中的一者或多者。
从具体实施方式、权利要求和附图中,本公开的其他应用领域将变得显而易见。具体实施方式和具体示例仅用于说明的目的,并不意图限制本公开的范围。
附图说明
从具体实施方式和附图,本公开将变得更充分地理解,在附图中:
图1A和1B示出了根据本公开的用于分割从图像捕获的数据并识别分割的数据的方法;
图2A-2C示出了图像捕获和预处理的示例;
图3示出包括接合的字符的所捕获的图像的另一示例;
图4示出了根据本公开的用于主动字符分割方法的系统框架;
图5示出了根据本公开的用于主动字符分割方法的训练和学习过程;
图6A-图6C示出了使用根据本公开的主动字符分割方法执行的分割和字符识别的示例;
图7A-7B示出了根据本公开执行的包括接合的字符的图像的分割的示例;
图8A-8D示出了根据本公开由多个代理并行执行的图像分割的示例;
图9示出了可以使用根据本公开的主动字符分割方法来正确读取的交通标志的示例;
图10示出了根据本公开的用于分割和识别图像的元素的方法的流程图;
图11示出了根据本公开的用于分割和识别图像的元素的方法的流程图,其中分割是并行执行的;
图12示出了根据本公开的用于并行地分割阵列的方法的流程图;
图13示出了根据本公开的用于分割阵列和更新用于分割阵列的模型的方法的流程图;
图14示出了根据本公开的用于分割阵列中的接合元素的方法的流程图;
图15示出了用于实现本公开的图像分割和字符识别系统和方法的分布式计算系统的简化示例;
图16示出了分布式计算系统中使用的客户端设备的简化示例;和
图17示出了分布式计算系统中使用的服务器的简化示例。
在附图中,可以重复使用附图标记来标识相似和/或相同的元素。
具体实施方式
本公开提出了一种使用深度强化学习对扫描数据(例如字母数字字符)进行可靠分割的新方法。分割策略被建模为强化学习框架中的主动学习过程。一旦模型被训练,分割可以并行实现。该方法被实现为执行光学字符识别(OCR)的系统的一部分。对通过扫描对象(例如,标签、文档、道路标志等)捕获的像素数据执行该方法。该方法分割所捕获的图像并且检测和识别所捕获的图像的元素(诸如,字符序列,诸如32位十六进制Bitlocker码、VIN号或部件号等)。
实现该方法的系统包括执行以下操作的模块:a)用适当的应用捕获感兴趣区域的图像;b)检测捕获图像中的文本(例如,十六进制代码或VIN号)位置;c)预处理图像以校正旋转/缩放/强度;d)使用强化学习分割字符,以及e)应用分类器来识别分割的字符。本公开提出了一种用于从捕获的图像中分割字符的新方法。所提出的分割方案特别地在所捕获的图像中存在触摸或接合(即,互连)的字符时工作良好。
OCR中的挑战之一是字符的准确分割,特别是当两个或更多个字符彼此接触时。当在文本文档中执行OCR时,可以通过使用上下文信息来自动完成分割字符之上/之下的字符。然而,当读取诸如Bitlocker码或VIN号的一些类型的数据时,自动完成是不可能的,因为代码中的每个字符是独立的,并且不存在上下文信息。本公开提出了一种新的字符分割方法,该方法比现有的开源方法更好且更稳健,以解决在触摸字符时发生的挑战。
所提出的分割策略被建模为强化学习框架中的主动学习过程。所提出的分割模型可以并行地实现,这显著地提高了字符分割过程的计算效率。所提出的分割模型在线更新,并在实施过程中不断进行强化学习。
所提出的分割策略可以用于OCR应用中(例如,在Bitlocker代码、自主车辆、车队管理、制造等领域中的OCR应用中),并且可以在以下步骤中实现:a)模型训练和测试:该步骤包括用足够的数据训练分割模型并且构建输出最佳分割决策的策略网络;b)实现分割:一旦模型被训练,该步骤包括在图像的不同位置处并行地实现分割;和c)模型的在线学习和更新:在这一步骤中,所提出的分割模型通过从实现过程中不断学习而不断改进自身。
本公开如下组织。首先,具体实施方式本公开的分割方法。随后,参考图1-图9,描述了在使用分割方法执行分割的同时生成和训练分割模型以及更新模型的各种示例。图10-图14示出了本公开的分割方法的流程图。图15-图17示出了其中可以实现本公开的分割系统和方法的客户端-服务器架构。
所提出的分割系统使用基于神经网络的方法来分割图像中的字符。代理在不同方向(右、左、上、下)遍历包含图像像素数据的空间(例如二维阵列),以在图像中划出字符。代理基于其在空间中的本地环境来决定遍历空间以在空间中划出字符的方向。代理避免在遍历空间时击中字符,以最大限度地分割空间中的字符。使用基于神经网络的方法来执行这些操作。基于奖励和惩罚函数的策略被用于引导代理通过该空间。当代理在不击中字符的方向上遍历空间时,代理受到奖励。当代理击中字符时,代理受到惩罚。
通常,OCR包括两个任务:分割,其涉及在图像中雕刻出各个字符;和分类,其将雕刻出的字符(例如,作为字母或数字)进行分类。本公开涉及分割的任务。有时,图像中的相邻字符或对象可以彼此接合(即,彼此接触)。本公开提供了分割图像中连接的对象或字符的最佳方式。
在所提出的方法中,代理被分配图像中的初始位置。基于代理周围区域的像素布局,代理决定在该区域内沿特定方向上移动。代理在选择的方向上移动,使得代理不击中指示字符的存在的暗点(例如,图像中的黑色像素或较暗的颜色)。只要代理遇到亮点(例如,图像中的白色背景或较浅的颜色),代理就继续在选择的方向上移动,这表示没有字符。代理在击中暗点时受到惩罚,而代理在未击中暗点(或没有击中字符)时受到奖励。
惩罚和奖励函数指导代理的移动。当被罚击中暗点时,代理会改变移动方向。代理继续沿选择的方向移动,因为没有击中暗点而获得奖励。因此,代理找到了在选择的方向(例如,从阵列的顶部到底部)上遍历该区域的最有效方式,并在选择的方向的任一侧(在本例中,向左和向右)分割字符。
当代理击中暗点时,有时暗点可能是两个相邻字符被接合的地方。代理找到了最有效的方法来遍历接合,并且还避免了通过字符的切割。代理如下确定暗点是接合还是字符。当代理击中暗点时,代理试图快速切穿暗点。代理确定是否可以在预定时间段内(或在惩罚函数的预定增加内)遍历暗点,在这种情况下,代理断定暗点是接合而不是字符,并在选择的方向上继续。否则,代理会断定暗点不是接合而是字符并且改变方向以避免切穿字符。
以这种方式,代理遍历二维像素阵列。该阵列可以包括各种数据。数据的非限制性示例包括白色背景上的黑色像素(例如字母数字文本)、单元中的RGB值(例如彩色图像)、来自基于网格的阵列的数据(例如雷达或激光雷达数据)、衍生自仪器(例如DNA测序仪)的数据的数字表示等。
代理具有策略网络。策略网络告诉代理如何(即,在哪个方向上)遍历阵列。代理可以以三个自由度逐个单元的方式递增地遍历阵列。该代理还可以以两个自由度(水平地和垂直地)遍历阵列。
代理因在阵列中跨步(即,在正确的方向上移动)而没有击中暗点而获得递增奖励。当代理在阵列中导航(即,遍历)时,靠近或相交于包含非背景信息(例如,暗点)的阵列中的单元时,代理受到惩罚。例如,该单元可包括指示该单元是否为暗的二进制值0/1。如果代理正在触摸的单元是暗的,则代理受到惩罚。
惩罚还可以基于围绕单元的信息。例如,惩罚可以基于周围的单元或像素是否也是暗的,或者是否存在比在单元周围的亮像素更多的暗像素(即,基于像素密度)。只要惩罚函数在预定阈值内增加,就可以使用周围信息来检测相邻字符之间的接合并遍历接合。可以按照阵列中的数据的度量或函数(例如,线性、对数等)来描述周围信息,并且可以使用周围信息来确定或调整代理遍历以有效地分割阵列中的数据的方向。
控制代理的策略或模型基于深度神经网络随时间学习(训练自身)。通常,规则在这样的策略中是硬编码的,并且基于被控制系统的性能来手动调整规则。相反,在本公开中,控制代理移动的策略是自适应的,并且在使用期间随着时间自动学习或适应,以找到遍历不同阵列的更有效的方式。该策略根据奖励和惩罚函数进行调整。换句话说,奖励和惩罚函数被用作强化学习机制,用于有效地分割或划分阵列中的数据。
例如,如果奖励函数随着代理在特定方向上遍历阵列而增加,则控制代理的策略将学习应使用类似的方向来遍历具有类似类型的数据的阵列。相反,如果惩罚函数随着代理在特定方向上遍历阵列而增加,则控制代理的策略将学习不应使用类似的方向来遍历具有相似类型数据的阵列。因此,奖励和惩罚函数被用作强化学习机制,用于在不同阵列中有效地分割或划分数据。
在各种实现方式中,可以使用一个或多个代理来分割阵列。例如,单个代理可以开始遍历阵列的左上位置的阵列,从顶部到底部遍历阵列,向右移位,并且移动到阵列的顶部,并且重复该过程直到整个阵列被处理。替代地,多个代理可以被间隔开并且位于阵列的顶部,并且可以并行地从顶部到底部(即,同时)遍历阵列。根据阵列中的数据的类型,代理可以均匀地或不均匀地间隔开。例如,即使数据是固定格式(例如,字母数字),间距也可以是均匀的;并且如果数据没有固定格式,间距可能不均匀。此外,每个代理的宽度(即,遍历阵列所遵循的每个路径的宽度)可以不同。例如,如果数据是固定格式(例如,字母数字),则可以使用固定宽度代理,并且当数据具有随机格式时可以使用可变宽度代理。代理的其他变化和配置是可以预期的,并且在本公开的范围内。
可以在单个阵列上使用这些方法中的一个或多个(单个代理、多个固定宽度代理、多个可变宽度代理等)。每种方法的结果(即输出)可用于确认输出的准确性(例如,如果所有方法的输出匹配,则输出可被视为100%准确)。此外,结果可用于强化学习。例如,对于扫描包含类似数据的阵列,可以优选为一种数据类型产生准确结果的一种或多种方法。此外,结果可以用于学习代理定位(即,将代理布置在阵列中,或者确定开始分割的位置)。所有的学习都可以基于各种代理所使用的相应的奖励和惩罚函数。
一个或多个代理在阵列中的位置取决于阵列中的数据类型。例如,代理的数量,代理之间的间隔,一个代理或多个代理的一个宽度或多个宽度等可以取决于阵列中的数据类型。例如,代理的数量可以与阵列的大小成比例;可基于关于阵列中的数据的分布的先验信息将代理布置在阵列中;代理可以随机布置在阵列中;等等。在一些实现方式中,可以使用单独的策略来将一个或多个代理布置在阵列中。
本公开的教导可用于许多应用中。例如,该教导可用于从屏幕上读取图像、高噪声环境中的图像(例如,由车辆相机捕获的图像)、相对较小且靠近在一起的图像,等等。教导不限于包括表示黑白信息的二进制数据的阵列。该教导还可以扩展到包含表示颜色信息的数据(例如,表示RGB或CMY颜色方案的数据)的阵列。在这样的阵列中,可以通过识别对比色来执行划分,并且可以基于对选择的颜色的偏好来定义奖励/惩罚函数。
该教导还可以用于分割由自主车辆的相机读取的数据(例如,道路标志)。可以使用本公开的一个或多个划分方法并行地划分数据,并且可以即时(即,实时地)对划分的数据执行OCR。OCR输出可以用作反馈以控制自主车辆。
图1A和图1B宽泛地示出了用于分割从图像捕获的数据并识别分割数据的方法10。例如,如图15-17所示,方法10可以作为在客户端设备、服务器或客户端设备和服务器的组合上执行的一个或多个应用来执行,客户端设备和服务器通过网络在客户端-服务器架构中通信。
在图1A中,使用适当的应用(例如,在客户端设备处)捕获感兴趣区域的图像。例如,相机或扫描仪(与可以包括车辆等的客户端设备相关联)可以从组件中捕获零件号、车辆的车辆识别号、车辆的牌照号、道路标志等。
在12处(例如,在客户端设备处或在服务器处),当接收到所捕获的图像时,检测捕获的图像中的文本的一个或多个位置。另外,所捕获的图像被预处理(例如,以校正旋转、缩放、强度等)。在14处(例如,在服务器处),使用上述一种或多种强化学习方法来分割所捕获的图像中的字符。
在16处(例如,在服务器处),使用一个或多个分类器来识别分割字符(例如,字母分类器用于识别字母字符;数字分类器用于识别数字等)。所识别的字符可以被转发以供进一步使用和/或处理。例如,来自道路标志的识别字符可以用于控制自主车辆;识别的部件号或VIN号可用于库存控制、装配或维修目的;等等。
在图1B中,示出了在分割过程中实现的步骤。在18处(例如,在一个或多个服务器处),在14处用于分割的模型最初用足够的数据(例如,通过如上该分割多个图像)训练(即,在14处使用之前),并且建立策略网络(参考图4和图5在上面和下面解释)以输出最佳分割决策。例如,分割决策可以包括确定分割数据类型的方向;确定用于区分接合字符和字符的标准、阈值、度量和/或函数;等等。
在14处,一旦训练了模型,就可以在捕获图像的不同位置并行地实现分割。在20处,模型基于来自14处的使用(分割)的正在进行的学习来继续改进或更新自身。在14处,更新的模型可用于分割所捕获的图像。
图2A-图2C示出了图像捕获和预处理的示例。作为示例,BitLocker驱动加密是Windows操作系统中可用的数据保护特征。许多公司用户在公司笔记本电脑上使用Bitlocker来应对数据被盗或未经授权访问暴露的威胁。当员工遗失Bitlocker PIN时,应用会产生恢复密钥ID,其随后被传递到IT服务台以接收实际的恢复密钥。该过程易于出错并且通常是低效且不可靠的。自动化流程的一种方法是让员工为笔记本电脑屏幕上显示的密钥标识拍照,并通过移动应用将图像上传到服务台,在服务台可以自动接收密钥。
图2A示出了捕获的原始图像的示例(例如,来自显示在屏幕上的数据)。然而,像这些一样,所捕获的图像可能具有不规则,其中两个或更多个字符可以被触摸或接合。本公开的分割方法准确地分割图像中的字符,包括图像中的连接字符,并且改善所捕获图像的分割,这导致改善的字符识别性能。图2B示出了在预处理之后捕获的图像的一部分的示例,示出了一些结合的元素,这些元素在使用本公开的方法进行分割和识别时产生图2C所示的准确结果。
在图2A中,示出计算机屏幕的照片的所捕获的图像包括部分100。部分100是感兴趣的数据(这里,将被发送到服务台的恢复密钥ID)。部分100包括字母数字字符。将包括部分100的所捕获的图像发送到IT服务台,其中对所捕获的图像进行预处理以提取部分100。
在图2B中,在预处理之后,如102-110处所示,部分100中的一些字符被接合。如上该,根据本公开对部分100进行分割,并且使用适当的分类器来正确识别分割的字符。图2C示出了密钥ID的正确识别的字符112,基于该字符112生成实际密钥并将其返回给用户。
图3示出了包括如在150-166处示出的许多接合字符的所捕获图像的另一示例。图像中的字符(包括接合的字符)可以按如下方式分割和识别。
图4示出了根据本公开的用于主动字符分割方法的系统框架。图像分割问题(在5处示出)被建模为如下主动学习和决策过程。代理(在4处示出,例如,作为自主车辆)正在从图像的顶部到底部遍历图像并且试图避免触摸任何暗区域。代理的允许的移动动作(或自由度)被定义并以1示出。基于局部图像状态(即,代理位置的局部环境,在2处示出)和基于定义的奖励函数(在3处示出,例如,奖励=平均灰度差+步数)来做出关于遍历哪个方向的决策。代理的目的是通过学习将本地图像状态(在策略网络的左侧的输入)映射到帮助实现对象的最佳动作(在策略网络右侧的输出)的策略网络(在7处示出)来最大化总奖励。所得到的代理的遍历轨迹(在6处示出)是最终分割。
另外,虽然未示出,但是还可以基于局部图像状态和定义的惩罚函数来做出关于要遍历哪个方向的决策。代理的对象可以是通过学习将局部图像状态映射到有助于实现对象的最佳动作的策略网络来最小化总惩罚。
图5示出了根据本公开的用于主动字符分割方法的训练和学习过程。实施训练过程以获得或学习最优策略网络,该网络用于在遍历图像时控制代理的移动。用于分割的模型利用策略网络来提供决策以在分割过程期间控制代理的移动方向。
策略网络具有输入组和输出组。输入包括代理的位置和当代理遍历图像时围绕该位置的数据。当使用多个代理时,输入包括代理的位置和位置周围的数据。对于给定的代理位置,策略网络提供引导代理的进一步移动的输出。最初训练该模型,并且在实现之前通过遍历许多图像来生成策略网络。在遍历图像时,奖励和惩罚函数用于在使用期间初始地定义并进一步完善策略网络。策略网络可以被实现为服务器上的控制器(参见参考图15-图17示出和描述的服务器的示例)。
在使用中,当策略网络提供定向输出以控制代理的下一移动时,计算奖励或惩罚函数,并且基于奖励或惩罚函数的值来即时更新策略网络。基于奖励或惩罚函数的值来确定代理的方向。更新后的策略网络用于控制代理的方向。训练是持续的过程,并且在使用过程中不断提高分割质量。
图6A-图6C示出了如上该执行的分割和字符识别的示例。与图3相同的图6A示出了被捕获和预处理的图像200的示例。示例中所示的图像200包括字母数字字符。如在202-218处所示,图像200中的一些字符被接合。图6B示出了如上该根据本公开执行的分割图像200的示例。分割的示例在220-224处示出。图6C示出了根据本公开在图像200被分割之后正确识别的字母数字字符226,并且使用如上该的适当分类器来识别分割字符。
图7A-图7B示出了根据本公开执行的分割的结果。与图6A相同的图7A再次示出了具有接合的字符的图像。图7B示出了使用本公开的分割方法正确分割的图像的元素。注意,在图7B中,使用本公开的分割方法,图像中的接合字符也被正确分割。
图8A至图8D示出了根据本公开的由多个代理并行地执行的图像的分割的示例。在示出了图6A中所示的相同图像的图8A中,可以使用若干代理来分割图像的元素(在该示例中的字符)。代理可以开始分割的位置的示例在300-310处示出。注意,只有几个位置被编号,并且存在与图8B-8D所示的启动附加代理的位置相似的附加位置。
在图8B中,每个代理开始沿着图像中的顶部到底部路径(即,在表示图像元素的图像数据阵列中)并行分割(即,同时在各个位置)。在图8B-8D中,示出了每个代理的进展,直到分割完成。还示出了代理沿着相应路径遍历的方向如何改变,以便除了两个相邻元素接合的位置之外不切穿元素。如上该执行每个代理的分割。
在一些情况下,根据阵列中的数据类型,一些代理可以沿着不同宽度的路径遍历。代理之间的间距也可以根据阵列中数据的类型而变化。在一些情况下,不是采用多个代理,而是可以仅使用一个代理,并且可以向右移动相同的代理以从不同的位置遍历阵列。在某些情况下,当代理向右移动时,可以改变路径的宽度。在一些实现方式中,可以并行部署一组代理以从第一组位置遍历阵列的第一部分,并且可以将整个组移动到第二组位置以从第二组位置遍历阵列的第二部分。代理配置和部署的许多其他变型是预期的,并且在本公开的范围内。
上述分割方法可以用于识别从各种对象捕获的图像的元素。例如,所捕获的图像可以包括从车辆捕获的VIN号、从服务部件或组件捕获的部件唯一号码(PUN,包括OEM号码、批号、评级数据等),从通信设备捕获的MAC地址或IP地址、印刷在集成电路封装上的标记、道路标志(例如,道路名称、交通标志等;参见图9)由车辆相机捕获,等等。可以预处理捕获的图像,并且可以如上该地分割和识别图像的元素。
图9示出了可以被正确地读取并用于改善自主车辆的导航性能的交通标志的示例。虽然大多数交通标志由于它们的形状或符号而不同,但是一些标志需要读取和解释强制规则。增加复杂性,这些标志通常包括对于交通安全性至关重要的日期和时间限制,并且还可以由于事故、道路封闭等而随时改变。本公开的分割方法能够准确地分割和识别道路标志,并改善自主车辆的导航性能。
在上述图像的示例中分割和识别数据可以显著地改善这些图像中的数据的错误读取或错误检测,这进而可以显著地改善各种技术领域。例如,技术领域可以包括但不限于各种产品(例如,车辆、计算机等)的制造和组装、对计算机系统的控制(例如,简化和自动化安全数据的交换)、自主车辆的控制等。许多其他应用和改进是预期的并且在本公开的范围内。
图10示出了根据本公开的用于分割和识别图像的元素的方法400的流程图。例如,该方法可以由在图15-图17中示出的客户端设备和/或服务器上执行的一个或多个应用来执行。
在402处,该方法捕获包括要识别的元素(例如,文本)的图像。在404处,该方法检测所捕获的图像中的元素(例如,文本)的位置。在406处,该方法预处理捕获的图像。在408处,该方法根据上面描述的分割方案对元素(例如,文本中的字符)进行分割。在410处,该方法使用适当的分类器识别分割的元素以识别元素。
图11示出了根据本公开的用于分割和识别图像的元素的方法450。方法450并行地执行分割。例如,该方法可以由在图15-17中所示的一个或多个服务器上执行的一个或多个应用来执行。
在452处,该方法训练分割模型并且构建策略网络以输出如上该的最优分割决策。在454处,该方法在图像中的不同位置处并行地实现分割,如以上所解释的。在456处,该方法继续学习和完善策略网络并且在如上该的实现期间更新分割模型。
图12示出了根据本公开的用于并行地分割阵列的方法500。例如,该方法可以由在图15-图17中所示的一个或多个服务器上执行的一个或多个应用来执行。
在502处,该方法确定是否并行地分割阵列(例如,基于阵列中的数据)。在504处,如果阵列将被并行分割,则该方法确定与将并行使用的代理相关联的各种参数。例如,参数可以包括以下各项中的一项或多项:要部署的代理的数量、通过代理遍历阵列的路径的宽度、代理之间的间距,以及代理将从其开始并行地遍历阵列的位置。在506处,该方法使用根据所确定的参数部署和配置的代理并行分割阵列。
图13示出了根据本公开的用于在分割过程期间分割阵列和更新分割模型的方法550。例如,该方法可以由在图15-图17中所示的一个或多个服务器上执行的一个或多个应用来执行。
在552处,该方法确定从其开始遍历阵列的阵列中的位置。该阵列包括表示要识别的图像中的元素的像素数据。在554处,该方法基于围绕位置的数据并基于分割模型来确定遍历阵列的方向。在556处,该方法开始在选择的方向上从选择的位置遍历阵列。
在558处,该方法确定在遍历期间是否遇到暗点。在560处,如果没有遇到暗点,则该方法递增奖励函数。在562处,该方法更新用于正在进行的训练和分割质量的持续改进的知识库或经验池,并基于递增的奖励函数更新分割模型。在564处,该方法继续遍历阵列和选择的方向。
在566处,如果遇到暗点,则该方法递增惩罚函数。在568处,该方法更新用于正在进行的训练和分割质量的持续改进的知识库或经验池,并基于递增的惩罚函数更新分割模型。在570处,该方法改变遍历阵列的方向并继续遍历阵列和改变的方向。
在572处,该方法确定是否遍历整个阵列。如果未遍历整个阵列,则该方法返回到558。如果遍历整个阵列,则该方法结束。
图14示出了根据本公开的用于分割阵列中的接合元素的方法600。例如,该方法可以由在图15-图17中所示的一个或多个服务器上执行的一个或多个应用来执行。
在602处,该方法确定在遍历期间是否遇到暗点。在604处,如果在遍历期间遇到暗点,该方法确定它是否能够快速遍历暗点。在606处,如果该方法可以快速遍历暗点,则该方法确定暗点是两个元素的接合。在608处,该方法更新用于正在进行的训练和分割质量的持续改进的知识库或经验池,并更新分割模型。在610处,该方法保持正在遍历阵列的方向(即,该方法遍历接合并在相同的方向上继续遍历)。
在612处,如果该方法不能快速遍历暗点,则该方法确定暗点是图像的元素。在614处,该方法更新用于正在进行的训练和分割质量的持续改进的知识库或经验池,并更新分割模型。在616处,该方法改变遍历阵列的方向(即,该方法不遍历该元素)。
在618处,如果在602处的遍历期间未遇到暗点,并且在610或616之后,该方法继续遍历阵列而不改变方向。在620处,该方法确定是否遍历了整个阵列。如果未遍历整个阵列,则该方法返回到602处。如果遍历整个阵列,则该方法结束。
下面是分布式计算环境的简化示例,其中可以实现上述本公开的图像分割和字符识别系统和方法。在整个说明书中,对诸如“服务器”、“客户端设备”、“应用”等术语的引用仅用于说明性目的。术语“服务器”和“客户端设备”将被宽泛地理解为表示具有被配置为执行机器可读指令的一个或多个处理器和存储器的计算设备。术语“应用”和“计算机程序”将被宽泛地理解为表示可由计算设备执行的机器可读指令。
图15示出了分布式计算系统700的简化示例,该分布式计算系统700可以实现如上该的本公开的图像分割和字符识别系统和方法。包括分布式通信系统710,一个或多个客户端设备720-1、720-2、......和720-M(统称为客户端设备720);一个或多个服务器730-1、730-2、......和730-N(统称为服务器730);和一个或多个车辆740-1、...、740-P;其中,M、N和P是大于或等于1的整数。分布式通信系统710可包括局域网(LAN)、诸如因特网的广域网(WAN)、或其他类型的网络。客户端设备720和服务器730可以位于不同的地理位置,并且可以经由分布式通信系统710彼此通信。客户端设备720和服务器730可以使用无线和/或有线连接来连接到分布式通信系统110。
客户端设备720可以包括智能电话、个人数字助理(PDA)、平板电脑、笔记本计算机、个人计算机(PC)等。客户端设备720还可以包括自主车辆、相机、扫描仪和能够捕获在本公开中描述的各种图像的其他设备。服务器730可以向客户端设备720提供多个服务。
服务器730可以执行一个或多个软件应用并且托管由软件应用在向客户端设备720的用户提供服务时依赖的多个数据库。例如,服务器730中的一个或多个可以执行应用,该应用可以预处理从客户端设备720接收的捕获图像,使用上述的一种或多种方法对图像数据进行分割,识别分割数据,并且使用所识别的数据或将所识别的数据返回到客户端设备720。
图16示出了客户端设备720-1的简化示例。客户端设备720-1通常可以包括中央处理单元(CPU)或处理器750、一个或多个输入设备752(例如,小键盘、触摸板、鼠标、触摸屏等)、相机或扫描仪753、包括显示器756的显示子系统754、网络接口758、存储器760和大容量存储器762。
网络接口758经由分布式通信系统770将客户端设备720-1连接到分布式计算系统700。例如,网络接口758可以包括有线接口(例如,以太网接口)和/或无线接口(例如,Wi-Fi、蓝牙、近场通信(NFC)),或其他无线接口)。存储器760可以包括易失性或非易失性存储器、高速缓存或其他类型的存储器。大容量存储器762可以包括快闪存储器、磁硬盘驱动器(HDD)和/或其他大容量存储设备。
客户端设备720-1的处理器750执行操作系统(OS)764和一个或多个客户端应用766。客户端应用766包括经由分布式通信系统710访问服务器730的应用。例如,客户端应用766中的一个可以将由相机或扫描仪753捕获的对象的原始图像发送到一个或多个服务器730。客户端应用766还可以能够对捕获的图像进行预处理,然后将图像发送到一个或多个服务器730。此外,客户端应用766能够从一个或多个服务器730接收的分割数据中识别图像中的元素。
图17示出服务器730-1的简化示例。服务器730-1通常包括一个或多个CPU或处理器770,网络接口778,存储器780和大容量存储器782。在一些实现方式中,服务器730-1可以是通用服务器并且包括一个或多个输入设备772(例如,小键盘、触摸板、鼠标等)和包括显示器776的显示子系统774。
网络接口778将服务器730-1连接到分布式通信系统770。例如,网络接口778可以包括有线接口(例如,以太网接口)和/或无线接口(例如,Wi-Fi、蓝牙、近场通信(NFC)或其他无线接口)。存储器780可以包括易失性或非易失性存储器、高速缓存或其他类型的存储器。大容量存储器782可以包括闪存、一个或多个磁性硬盘驱动器(HDD)和/或其他大容量存储设备。
服务器730-1的处理器770执行可以被容纳在虚拟机管理程序或容器化架构中的操作系统(OS)784和一个或多个服务器应用786。大容量存储器782可以存储一个或多个数据库788,其存储由服务器应用786使用以执行相应函数的数据结构。
服务器应用786包括经由分布式通信系统710访问客户端设备720的应用。例如,服务器应用786中的一个可以接收由客户端设备720中的一个捕获的对象的原始图像或预处理图像。服务器应用程序786中的一个还可以能够预处理原始图像。服务器应用786中的一个或多个可以能够如上该地分割图像并且从分割的数据中识别图像中的元素。服务器应用786中的一个或多个能够生成分割模型,最初训练分割模型,设计策略网络以分割图像,以及在实现期间学习并在实现期间连续地训练策略网络,如上该。
服务器应用786中的一个或多个可以利用所识别的数据用于诸如控制客户端设备720中的一个或多个客户端设备(诸如,客户端设备的安全性或自主车辆的移动)的目的。服务器应用786中的一个或多个可以向客户端设备720中的一个或多个客户端设备发送所识别的数据。一个或多个服务器应用786和/或客户端应用766可以将识别的数据用于任何其他合适的目的,诸如车队管理、产品组装和/或制造等。
在一些实现方式中,本公开的分割方法可以在基于云的计算环境中实现。例如,分割方法可以被托管在位于云中的服务器730中的一个或多个服务器上。分割方法可以基于预订或按使用付费来提供。例如,分割方法可以作为软件即服务(SaaS)提供。
前面的描述在本质上仅仅是说明性的,并且不旨在限制本公开、其应用或用途。本公开的广泛教导可以以各种形式来实现。因此,虽然本公开包括特定示例,但是本公开的真实范围不应限于此,因为在研究附图、说明书和所附权利要求后,其他修改将变得显而易见。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时地)执行方法内的一个或多个步骤。此外,尽管每个实施例在上面被描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其他实施例的特征中实现和/或与其他实施例中的任何一个的特征组合,即使该组合未被明确地描述。换句话说,所描述的实施例不是相互排斥的,并且一个或多个实施例彼此的置换仍保持在本公开的范围内。
元素之间的空间和函数关系(例如,在模块、电路元素、半导体层等之间)使用各种术语来描述,包括“连接”、“接合”、“耦合”、“相邻”、“靠近”,“在...之上”,“上方”,“下方”和“设置”。如本文所使用的,短语“A、B和C中的至少一个”应被解释为意指使用非排他性逻辑“或”的逻辑(A或B或C),并且不应被解释为表示“A中的至少一个,B中的至少一个和C中的至少一个”。
在图中,箭头所示的箭头方向通常表示图示中感兴趣的信息流(诸如数据或指令)。例如,当元素A和元素B交换各种信息,但从元素A传输到元素B的信息与图示相关时,箭头可以从元素A指向元素B。这个单向箭头并不意味着没有其他信息从元素B传输到元素A。此外,对于从元素A发送到元素B的信息,元素B可以向元素A发送对该信息的请求或接收确认。
在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。数字、模拟或混合模拟/数字离散电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享、专用或成组);存储由处理器电路执行的代码的存储器电路(共享、专用或成组);提供所描述的函数的其他合适的硬件部件;或者上述的一些或全部的组合,诸如在片上系统(SoC)中。
该模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开的任何给定模块的函数可以分布在经由接口电路连接的多个模块之间。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可以表示客户端模块实现一些函数。
如以上所使用的术语代码可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类、数据结构和/或对象。术语共享处理器电路涵盖执行来自多个模块的一些或所有代码的单个处理器电路。术语组处理器电路包括处理器电路,该处理器电路与附加的处理器电路组合,执行来自一个或多个模块的一些或全部代码。对多个处理器电路的引用包括离散管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个内核、单个处理器电路的多个线程或者以上的组合。术语共享存储器电路包括单个存储器电路,该单个储存电路存储来自多个模块的部分或全部代码。术语组存储电路包括存储电路,该存储电路与附加存储器组合,存储来自一个或多个模块的一些或全部代码。
术语存储电路是术语计算机可读介质的子集。如本文所使用的术语计算机可读介质不包括通过介质(诸如在载波上)传播的瞬态电信号或电磁信号;因此,术语计算机可读介质可以被认为是有形的和非暂时性的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存电路、可擦除可编程只读存储器电路或掩码只读存储器电路),易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(诸如模拟或数字磁带或硬盘驱动器),以及光存储介质(诸如CD、DVD或蓝光光盘)。
本申请中描述的设备和方法可以部分或全部由专用计算机实现,该专用计算机通过配置通用计算机来执行计算机程序中包含的一个或多个特定函数而创建。上述函数块、流程图部件和其他元素用作软件规范,其可以通过熟练的技术人员或程序员的常规工作而被转换为计算机程序。
计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于所存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用、后台服务、后台应用等。
计算机程序可以包括:(i)待解析的描述性文本,诸如HTML(超文本标记语言)、XML(可扩展标记语言)或JSON(JavaScript对象符号)(ii)汇编代码,(iii)由编译器从源代码生成的对象代码、(iv)供解释器执行的源代码、(v)供即时编译器编译和执行的源代码等。仅作为示例,源代码可以使用来自以下语言的语法编写:C、C++、C#、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Fortran、Perl、Pascal、Curl、OCaml、HTML5(超文本标记语言第五修订版)、Ada、ASP(活动服务器页面)、PHP(超文本预处理器)、Scala、Eiffel、Smalltalk、Erlang、Ruby、VisualLua、MATLAB、SIMULINK和

Claims (10)

1.一种用于划分二维(2D)阵列并识别所述2D阵列的元素的系统,所述系统包括:
处理器和存储用于所述处理器的指令的存储器,所述处理器被配置为执行所述指令以:
选择包括所述2D阵列的像素数据的阵列中的位置;
选择从所述选择的位置遍历所述阵列以分割所述2D阵列的所述元素的方向,所述选择的方向基于围绕所述选择的位置的数据并且基于通过分割多个2D阵列而生成的模型;
基于划分所述2D阵列的应用的需要来定义惩罚函数和奖励函数;
响应于在所述选择的方向上遍历所述阵列时未遇到表示所述2D阵列的一个或多个元素的数据,递增与所述模型相关联的所述奖励函数;
响应于在所述选择的方向上遍历所述阵列时遇到表示所述2D阵列的一个或多个元素的数据,递增与所述模型相关联的惩罚函数;
确定在所述选择的方向上遍历所述阵列时遇到的数据是表示所述2D阵列的元素中的一个还是表示所述2D阵列的两个元素之间的接合;
响应于确定所述遇到的所述数据表示所述2D阵列的所述元素中的一个而沿不同方向遍历所述阵列;
遍历所述两个元素之间的接合,并响应于确定所述遇到的数据表示所述2D阵列的两个元素之间的接合,继续在所述选择的方向上遍历所述阵列;和
通过遍历所述阵列来识别所述分割的2D阵列的一个或多个元素。
2.如权利要求1所述的系统,其中所述处理器还被配置为执行所述指令,以基于所述递增的奖赏及惩罚函数中的一者或多者且基于所述2D阵列的所述像素数据而更新所述模型。
3.如权利要求1所述的系统,其中所述处理器还被配置为执行所述指令,以基于关于所述2D阵列的像素数据的先验信息来选择所述位置。
4.如权利要求1所述的系统,其中所述2D阵列的所述元素包括字母数字字符。
5.如权利要求1所述的系统,其中所述处理器还被配置为执行所述指令以:
基于所述像素数据来选择所述阵列中的一个或多个附加位置;
在所述选择的方向上并行地从所述选择的位置和所述一个或多个附加位置遍历所述阵列,以分割所述2D阵列的所述元素;和
通过从所述一个或多个附加位置遍历所述阵列来识别所述分割的2D阵列的多个元素。
6.如权利要求5所述的系统,其中所述处理器还被配置为执行所述指令,以基于所述像素数据来选择包括所述选择的位置和所述一个或多个附加位置的位置的总数。
7.如权利要求5所述的系统,其中所述处理器还被配置为执行所述指令,以基于所述像素数据来选择所述选择的位置和所述一个或多个附加位置之间的间距。
8.如权利要求5所述的系统,其中所述处理器还被配置为执行所述指令,以基于所述像素数据来选择用于从所述选择的位置和所述一个或多个附加位置遍历所述阵列的路径宽度。
9.如权利要求8所述的系统,其中所述处理器还被配置为执行所述指令以选择所述宽度为相等的。
10.如权利要求8所述的系统,其中所述处理器还被配置为执行所述指令,以选择所述宽度中不同于所述宽度中的其他宽度的至少一个宽度。
CN201910461841.5A 2018-06-11 2019-05-30 基于用于ocr应用的深度强化学习的扫描图像的主动分割 Active CN110580478B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/004735 2018-06-11
US16/004,735 US10685261B2 (en) 2018-06-11 2018-06-11 Active segmention of scanned images based on deep reinforcement learning for OCR applications

Publications (2)

Publication Number Publication Date
CN110580478A true CN110580478A (zh) 2019-12-17
CN110580478B CN110580478B (zh) 2023-04-14

Family

ID=68651947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910461841.5A Active CN110580478B (zh) 2018-06-11 2019-05-30 基于用于ocr应用的深度强化学习的扫描图像的主动分割

Country Status (3)

Country Link
US (1) US10685261B2 (zh)
CN (1) CN110580478B (zh)
DE (1) DE102019114582A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475443A (zh) * 2023-12-27 2024-01-30 环球数科集团有限公司 一种基于aigc的图像分割及重组系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11044106B2 (en) 2019-02-01 2021-06-22 Innovation Finance Usa Llc System for secure accelerated resource allocation
GB202002266D0 (en) * 2020-02-19 2020-04-01 Nw Pro Ltd Object identification system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1839397A (zh) * 2003-08-22 2006-09-27 西麦恩公司 用于处理诸如图像的具有现有拓扑的数据阵列的神经网络和网络应用
CN103181170A (zh) * 2010-10-22 2013-06-26 高通股份有限公司 用于视频译码的变换系数的自适应扫描
CN106875372A (zh) * 2015-10-27 2017-06-20 通用电气公司 用于在医学图像中将结构分割的方法和系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504822A (en) * 1986-09-19 1996-04-02 Holt; Arthur W. Character recognition system
JP2667435B2 (ja) * 1987-05-01 1997-10-27 株式会社リコー 領域抽出方法
JP3361124B2 (ja) * 1991-07-30 2003-01-07 ゼロックス・コーポレーション テキストを含む2次元画像上での画像処理方法と画像処理装置
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
EP0550131A2 (en) * 1991-12-31 1993-07-07 AT&T Corp. Graphical system for automated segmentation and recognition for image recognition systems
US5267326A (en) * 1992-03-31 1993-11-30 Eastman Kodak Company Bitmap image segmentation using a charge model for pixels
US5757963A (en) * 1994-09-30 1998-05-26 Xerox Corporation Method and apparatus for complex column segmentation by major white region pattern matching
US6748115B1 (en) * 1998-06-19 2004-06-08 Cvision Technologies Llc Perceptually lossless image compression
JP4053188B2 (ja) * 1999-07-06 2008-02-27 富士通株式会社 パターン切り出し装置及びパターン認識装置
JP4421134B2 (ja) * 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
KR100449486B1 (ko) * 2001-12-29 2004-09-22 한국전자통신연구원 수직선 인접 그래프를 이용한 문서 인식 시스템 및 방법
US7471826B1 (en) * 2008-03-31 2008-12-30 International Business Machines Corporation Character segmentation by slices
US8473467B2 (en) * 2009-01-02 2013-06-25 Apple Inc. Content profiling to dynamically configure content processing
US8102397B2 (en) * 2009-01-26 2012-01-24 Mitsubishi Electric Research Laboratories Inc. Method for improving uniform width character strokes using multiple alignment zones
US8351700B2 (en) * 2009-04-08 2013-01-08 Gracious Eloise, Inc. Variable glyph system and method
US8442319B2 (en) * 2009-07-10 2013-05-14 Palo Alto Research Center Incorporated System and method for classifying connected groups of foreground pixels in scanned document images according to the type of marking
US8600171B2 (en) * 2009-12-10 2013-12-03 Canon Kabushiki Kaisha Image labeling using parallel processing
JP5672828B2 (ja) * 2010-08-03 2015-02-18 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP5577948B2 (ja) * 2010-08-24 2014-08-27 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US8953885B1 (en) * 2011-09-16 2015-02-10 Google Inc. Optical character recognition
US20130163871A1 (en) * 2011-12-22 2013-06-27 General Electric Company System and method for segmenting image data to identify a character-of-interest
EP2920743A4 (en) * 2012-11-19 2017-01-04 IMDS America Inc. Method and system for the spotting of arbitrary words in handwritten documents
JP6003705B2 (ja) * 2013-02-14 2016-10-05 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
RU2643465C2 (ru) * 2013-06-18 2018-02-01 Общество с ограниченной ответственностью "Аби Девелопмент" Устройства и способы, которые используют иерархически упорядоченную структуру данных, содержащую непараметризованные символы, для преобразования изображений документов в электронные документы
US9213910B2 (en) * 2013-11-06 2015-12-15 Xerox Corporation Reinforcement learning approach to character level segmentation of license plate images
US10140262B2 (en) * 2015-05-04 2018-11-27 King Fahd University Of Petroleum And Minerals Systems and associated methods for Arabic handwriting synthesis and dataset design
US9977976B2 (en) * 2016-06-29 2018-05-22 Konica Minolta Laboratory U.S.A., Inc. Path score calculating method for intelligent character recognition
US10062001B2 (en) * 2016-09-29 2018-08-28 Konica Minolta Laboratory U.S.A., Inc. Method for line and word segmentation for handwritten text images
US10635945B2 (en) * 2018-06-28 2020-04-28 Schneider Electric Systems Usa, Inc. Machine learning analysis of piping and instrumentation diagrams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1839397A (zh) * 2003-08-22 2006-09-27 西麦恩公司 用于处理诸如图像的具有现有拓扑的数据阵列的神经网络和网络应用
CN103181170A (zh) * 2010-10-22 2013-06-26 高通股份有限公司 用于视频译码的变换系数的自适应扫描
CN106875372A (zh) * 2015-10-27 2017-06-20 通用电气公司 用于在医学图像中将结构分割的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117475443A (zh) * 2023-12-27 2024-01-30 环球数科集团有限公司 一种基于aigc的图像分割及重组系统
CN117475443B (zh) * 2023-12-27 2024-03-05 环球数科集团有限公司 一种基于aigc的图像分割及重组系统

Also Published As

Publication number Publication date
DE102019114582A1 (de) 2019-12-12
CN110580478B (zh) 2023-04-14
US10685261B2 (en) 2020-06-16
US20190377988A1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
US9858492B2 (en) System and method for scene text recognition
CN110622177B (zh) 实例分割
CN110580478B (zh) 基于用于ocr应用的深度强化学习的扫描图像的主动分割
US8644561B2 (en) License plate optical character recognition method and system
US9501703B2 (en) Apparatus and method for recognizing traffic sign board
CN110378297B (zh) 基于深度学习的遥感图像目标检测方法、装置、及存储介质
US10423827B1 (en) Image text recognition
US20150036920A1 (en) Convolutional-neural-network-based classifier and classifying method and training methods for the same
US9922265B2 (en) Global-scale object detection using satellite imagery
US11475572B2 (en) Systems and methods for object detection and recognition
US10803337B2 (en) Systems and methods for recognizing symbols in images
JP6937508B2 (ja) 画像処理システム、評価モデル構築方法、画像処理方法及びプログラム
CN113939791A (zh) 图像标注方法、装置、设备及介质
US20220366259A1 (en) Method, apparatus and system for training a neural network, and storage medium storing instructions
CN103946865A (zh) 用于有助于检测图像内的文本的方法和装置
CN113316790A (zh) 经由sliced-wasserstein距离进行无监督域适应的系统和方法
CN111814542A (zh) 地理对象的提取方法、装置及电子设备
Cultrera et al. Explaining autonomous driving with visual attention and end-to-end trainable region proposals
US11971955B1 (en) Example-based image annotation
Paolicelli DEEP LEARNING FRAMEWORK FOR CHARACTER RECOGNITION IN LOW QUALITY LICENSE PLATE IMAGES
US20220277540A1 (en) System and method for generating an optimized image with scribble-based annotation of images using a machine learning model
Andrade et al. A robust methodology for outdoor optical mark recognition
Kind-Trueller et al. The Deep Learning Method for Image Segmentation to Improve the Efficiency of Data Processing Without Compromising the Accuracy of an Autonomous Driving Country-Road Pilot System After Image Classification
Sharma et al. Structure-Based Learning for Robust Defense Against Adversarial Attacks in Autonomous Driving Agents
CN116310792A (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