CN107980139A - 文档扫描器 - Google Patents

文档扫描器 Download PDF

Info

Publication number
CN107980139A
CN107980139A CN201680022039.0A CN201680022039A CN107980139A CN 107980139 A CN107980139 A CN 107980139A CN 201680022039 A CN201680022039 A CN 201680022039A CN 107980139 A CN107980139 A CN 107980139A
Authority
CN
China
Prior art keywords
text image
image
text
line element
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680022039.0A
Other languages
English (en)
Inventor
克里希讷杜·乔杜里
陈璐
戴维·彼得鲁
布勒斯·阿格拉-阿尔卡斯
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN107980139A publication Critical patent/CN107980139A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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
    • G06V10/757Matching configurations of points or features
    • 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/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • 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/418Document matching, e.g. of document images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/247Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids

Abstract

本发明涉及用于生成可扫描文档的方法、系统和装置,其包括编码在计算机存储介质上的计算机程序。在一个方面中,一种方法包括:接收扫描请求,其中,所述扫描请求包括多个文本图像;对于所述多个文本图像中的每个文本图像:校正所述文本图像来生成具有平行图像线的文本图像,生成围住所述文本图像中的一个或者多个连接组件的多个词语边界框,其中,每个词语边界框与相应的词语相关联,以及,对于所述文本图像中的每个相应的词语,生成表示该相应的词语的多个点;将所述多个文本图像进行组合来形成单个文本文档;以及,提供所组合的图像作为可扫描文档。

Description

文档扫描器
背景技术
本说明书涉及图像处理。
常规全景拼接是一种用于将具有重叠视场的多个摄影图像进行组合来产生分段式全景或者高分辨率图像的技术。例如,卫星图像和数字地图的高分辨率拼嵌图(mosaic)使用全景拼接。其它现有的应用——例如,医学成像和图像稳定——也应用全景拼接技术。捕获具有不同取向、角度、视角、和深度的图像通常会使最终拼接的图像失真。
发明内容
大体而言,本文描述的主题的一个方面可以以一种技术来实施,该技术包括:接收扫描请求,其中,该扫描请求包括多个文本图像,每个文本图像表示文本文档的一部分,其中,该多个文本图像包括至少部分地重叠的第一文本图像和第二文本图像;对于多个文本图像中的每个文本图像:校正文本图像来生成具有平行图像线的文本图像,生成围住该文本图像中的一个或者多个连接组件的多个词语边界框,其中,每个词语边界框与相应的词语相关联,以及,对于文本图像中的每个相应的词语,生成表示该相应的词语的多个点;将多个文本图像进行组合来形成单个文本文档,包括:通过匹配与第一文本图像相关联的第一点集和与第二文本图像相关联的第二点集来将多个文本图像中的第一文本图像和多个文本图像中的第二文本图像进行组合;以及,提供所组合的图像作为可扫描文档。
校正多个文本图像中的每个文本图像可以包括:确定文本图像中的多个连接组件,每个连接组件是符号的填充部分,基于多个连接组件来生成在文本图像中的包括垂直线元(linelet)和水平线元的多个图像线,基于多个图像线来计算水平消失点和垂直消失点,以及将几何公式应用于第一消失点和第二消失点来恢复在文本图像中的平行线。
多个图像线可以包括多个垂直线元和多个水平线元。每个垂直线元是穿过连接组件的竖直部分的骨架线,并且每个水平线元是穿过相邻的连接组件集的中心的回归线。
基于多个图像线来计算水平消失点和垂直消失点进一步包括:使用水平线元来计算水平消失点,以及使用垂直线元来计算垂直消失点。
该方法可以进一步包括选择垂直线元对和水平线元对,使用所选择的水平线元对来计算水平消失点、并且通过使用所选择的垂直线元对来计算垂直消失点。
选择一对水平或者垂直线元可以包括基于线段长度来执行多个水平线元或者垂直线元的降序排序,以及从多个排序的线元的前20个百分位选择第一线元并且从多个排序的线元的前50个百分位选择第二线元。
生成多个词语边界框可以包括:涂抹连接组件中具有低于预定阈值的空白量的相邻的连接组件。
第一点集和第二点集可以是词语形状描述符。该方法可以进一步包括计算多个词语边界框中的每个词语边界框的词语形状描述符。
计算词语边界框的词语形状描述符可以包括:将该词语边界框平铺到固定单元格网格中,以及对词语边界框执行方向梯度直方图来生成与词语边界框相关联的词语的形状的向量描述符。
将第一文本图像和第二文本图像进行组合可以包括将第一文本图像与第二文本图像融合。
在与第一文本图像相关联的第一点集和与第二文本图像相关联的第二点集之间的匹配点的数目可以超出匹配点的阈值数目。
组合多个文本图像可以进一步包括融合形成单个文本文档的多个文本图像,对单个文本文档进行纠偏,以及对单个文本文档执行光学字符识别。本方面的其它实施例包括对应的系统、装置、和编码在计算机存储设备上的计算机程序,均配置为执行方法的动作。一个或者多个计算机的系统可以配置为:依靠在该系统上安装在操作时使得该系统执行动作的软件、固件、硬件、或者它们的组合来执行特定动作。一个或者多个计算机程序可以配置为依靠包括指令来执行特定动作,该指令在由数据处理装置执行时使该装置执行该动作。
可以将在本说明书中描述的主题实施在特定实施例中,从而实现一个或者多个下面的优点。用户可以以不同的角度、取向、视角、或者距离拍摄文档的至少一部分的多个图像来生成文档的总体可扫描图像,而不牺牲分辨率并且无需将相机与文档完美地对齐。用户可以在不对包含文本的平面表面——例如杂志、报纸、或者海报——的深度或者取向过多限制的情况下对准并且扫掠相机来捕获文档的图像。用户可以随机或者以预定的模式来捕获图像。此外,多个用户或者设备可以贡献用于形成可扫描文档的多个图像。
在附图和下面的描述中阐述了本文描述的主题的一个或者多个实施例的细节。本主题的其它特征、方面、和优点将通过说明书、附图、以及权利要求书而变得显而易见。
附图说明
图1示出了示例图像处理系统。
图2是生成可扫描文档的示例过程的流程图。
图3是执行图像的校正的示例过程的流程图。
图4是执行拼嵌的示例过程的流程图。
各附图中的类似附图标记和名称指示类似的元素。
具体实施方式
图1示出了示例图像处理系统100。该图像处理系统100是被实现成在实现下面描述的系统、组件、和技术的一个或者多个位置中的一个或者多个计算机上的一个或者多个计算机程序的系统的示例。
图像处理系统100包括在用户设备102——例如智能电话、平板计算机、或者智能手表——上的图像处理模块110,该图像处理模块110对来自用户的扫描请求进行处理以根据多个图像生成可扫描文档。可扫描文档是所述系统可以执行光学字符辨识(OCR)或者其它合适的字符辨识方法来辨识文档的文本的文本文档的高分辨率图像。文本文档是包含文本的任何平面表面。
用户通过用户设备102与图像处理模块110交互。图像处理模块110可以将文档以电子方式远程地存储在存储区域122中,例如跨数据通信网络120来存储。该数据通信网络120——例如局域网(LAN)或者广域网(WAN),例如互联网——或者网络的组合,将图像处理模块110与存储区域122耦合。图像处理模块110和用户设备102为单机。例如,用户将执行图像处理的应用安装在用户设备上。
用户设备102包括例如相机的图像捕获设备104、存储器106、和处理器108。图像捕获设备104不需要以单个图像捕获文本文档的整个平面表面来创建可扫描文档。例如,用户可以使图像捕获设备104跨整个平面表面扫掠并且捕获多个图像中的平面表面。
图像处理模块110包括接收来自用户的扫描请求的图像处理器112。如在本说明书中使用的,扫描请求是将文本文档的一个或者多个图像处理成可扫描文档的请求。扫描请求可以是从多个图像生成杂志的一页或者书的一页的可扫描文档的请求。扫描请求的另一个示例是从广告牌或者海报生成可扫描文档的请求。扫描请求的另一个示例可以是从在任何平面表面上的文本生成可扫描文档。图像处理模块110通过拼合文本文档的不同图像来对扫描请求进行处理。在一些实施方式中,图像是二值化图像。
扫描请求包括文本文档的至少一部分的图像来形成可扫描文档。图像处理器112可以接收一个或者多个文本文档的多个部分的多个图像。文本文档的一部分的每个图像包括文本部分。每个图像还包括与在文本文档的多个图像中的另一个图像中的另一个文本部分重叠的文本部分。图像处理器112可以将接收到的图像存储在图像数据库116中。
图像处理器112识别在扫描请求中的一个或者多个文本图像,当对该一个或者多个文本图像进行校正和拼嵌时,该一个或者多个文本图像创建可扫描文档。如在本说明书中使用的,校正后的图像是具有平行的水平文本线和平行的垂直骨架线的文本图像。在一些实施方式中,图像处理器112使用来自图像数据库116的存储的图像和从图像捕获设备104接收到的图像来形成可扫描文档。在其它实施方式中,图像处理器112仅使用来自图像数据库的存储的图像或者仅使用从图像捕获设备104接收到的图像来形成可扫描文档。
图像处理器112还执行多个图像的拼嵌来形成统一的正面平行(fronto-parallel)视图。文档图像拼接指代从一系列重叠的图像创建统一的正面平行视图的过程。拼接是基于对两个重叠的视图之间的单应性矩阵的估计。文本文档中两个不同图像所共有的部分是重叠的视图。图像处理器通过匹配这两个不同视图中的点来识别重叠的视图。点表现文本图像中的词语的形状的特征。图像处理器112通过使用匹配的点来将重叠的视图拼接在一起来形成统一的正面平行视图。拼接是将多个图像与重叠的视场进行组合来产生组合的图像——例如分段式全景或者高分辨率图像——的过程。
图像处理模块110还包括校正每个包含文本的图像的校正引擎118。具体地,该校正引擎118执行将具有不同视角、深度、和取向的每个包含图像的文本投影到具有统一的正面平行视图的普通平面上的变换过程。校正引擎118使用几何公式来将每个图像变换为使图像中的图像线平行的正面平行视图。图像线包括水平和垂直线元(linelet)。形成非平行的回归线的水平和垂直线元指示在图像中存在失真。水平线元是与文本线对齐的小线段。垂直线元是穿过字母的竖直部分的骨架线。校正引擎118执行操作来将该失真从图像移除。一旦完成,校正引擎118将图像提供至图像处理器112以供进一步处理。
图像处理模块110包括后图像处理器114。该后图像处理器114在图像处理器将多个校正后的图像拼接到一起之后执行对文档的统一的正面平行视图的融合、纠偏、和光学字符识别。融合是将图像平滑到彼此中来创建从一个图像到另一个图像的无缝渐变以使得无法区分各图像的过程。纠偏是校正在一个方向倾斜的或者未对齐的图像的过程。后图像处理器114对文档的单个视图进行旋转来与该纠偏一起将文本线与图像X轴对齐。光学字符辨识是将文本的图像转换为机器编码的文本。
图2是生成可扫描文档的示例过程200的流程图。过程200由一个或者多个计算机的系统执行。例如,适当地编程的图像处理系统——例如图1的图像处理系统100——可以执行过程200。
所述系统接收包括文本图像的扫描请求(步骤202)。该扫描请求是从多个文本图像创建可扫描文档的请求。每个文本图像是具有与由多个文本图像中的另一个文本图像表示的区段中的文本部分重叠的文本部分的特定文档的区段的表示。在一些实施方式中,区段是特定文档的一部分。文本图像在被共同地拼接到一起时形成可扫描的文档的图像。在其它实施方式中,区段是整个文档。
所述系统确定在每个文本图像中的连接组件(204)。连接组件是在文本内的字符。在文本图像中,连接组件用空白隔开。例如,在词语“company”中,每个符号“c”、“o”、“m”、“p”、“a”、“n”、“y”是连接组件。所述系统基于空白和符号的填充部分来确定每个连接组件。
所述系统通过使用连接组件来校正每个文本图像(步骤206)。如果在图像中不存在失真,则穿过连接组件的文本线是平行的。文本线是穿过连接组件的中心画出的线。如果文本线不是平行的,则图像具有失真并且所述系统执行校正来变换该图像以使得穿过连接组件的文本线是平行的。所述系统使用连接组件来形成最近邻链。最近邻链(NNC)指代具有近似相同的y延伸的相邻的连接组件的最大长度链。
所述系统通过使用连接组件的最小二乘回归线来生成线元和消失点以执行校正。所述系统生成水平线元或“H-线元”以及垂直线元或“V-线元”两者。线元以位置——即形成回归线的点的形心的正交投影和方向——即沿着该回归线的单位向量为特征。消失点是在文本图像上的所有对应的线元相交的单个点。下面参照图3更详细地描述了执行图像的校正的过程。
所述系统拼嵌校正后的图像(步骤208)。所述系统识别在文档的至少一部分的不同视图之间的对应点来执行拼嵌。所述系统计算对在文本图像的每个部分中的词语的方向梯度直方图(HOG)向量来描述在文本图像中的词语形状特征。所述系统使用这些向量来识别两个文本图像之间的对应点,所述系统匹配所述对应点以将两个重叠的文本图像拼接在一起。下面参照图4更详细地描述了执行拼接的过程。
所述系统对拼嵌的图像执行后处理来形成可扫描文档(步骤210)。后处理包括图像的融合、纠偏、和光学字符辨识。所述系统可以将单个统一的可扫描文档的经后处理的图像显示在用户设备上。在一些其它实施方式中,所述系统存储可扫描文档或者通过网络将可扫描文档发送至存储区域。
图3是执行图像的校正的示例过程300的流程图。过程300由一个或者多个计算机的系统执行。例如,适当地编程的图像处理系统——例如图1的图像处理系统100——可以执行过程300。
所述系统确定在每个文本图像中的水平线元(步骤302)。水平线元或“H-线元”是与文本线对齐的短线段。为了确定水平线元,所述系统形成最近邻链(NNC)来估计文本线。
NNC指代具有近似相同的y延伸的相邻的连接组件的最大长度链。连接组件可以包括上出头部分或者下出头部分。上出头部分是连接组件在文本线上方的一部分。例如,在词语“cart”中,符号“t”具有上出头部分。下出头部分是连接组件在文本线下方的一部分。例如,在词语“company”中,符号“p”具有下出头部分。
文本线是穿过连接组件的中心画出的线。组成NNC的连接组件的形心与文本线重合。所述系统生成穿过每个NNC的连接组件的中心的最小二乘回归线。该最小二乘回归线并非准确处于NNC的连接组件的均值或者中值处,因为下出头部分将回归线向下拉并且上出头部分将回归线向上拉。所述系统不考虑具有超出相邻的连接组件的阈值差的形心的连接组件。穿过在NNC中剩余的连接组件的形心的最小二乘回归线生成水平线元或者“H-线元”。
所述系统确定在每个文本图像中的垂直线元(步骤304)。垂直线元是穿过连接组件的竖直部分的骨架线。例如,符号“I”、“F”、“p”、“L”具有形成垂直线元或者“V-线元”的竖直部分。所述系统通过识别与每个符号的竖直笔画相对应的区段的弯曲度来确定V-线元。所述系统对在文本图像上的每个连接组件进行骨架化来识别线段的弯曲度。所述系统估计在弯曲区段上的最大弯曲度并且消除超出阈值的曲线来确定线性竖直线段。如果存在,则穿过剩余的点的回归线产生V-线元。
所述系统选择H-线元对和V-线元对(步骤306)。在一些实施方式中,所述系统随机地选择线元。在一些其它实施方式中,线元选择不是完全随机的。例如,所述系统可以基于线段长度来执行对线元的集合的降序排序,并且从线元的集合的前20个百分位随机地选择第一线元并且从前50个百分位选择第二线元。所述系统使用该H-线元对来确定水平消失点并且使用该V-线元对来确定垂直消失点。
所述系统通过使用选择的线元来计算水平和垂直消失点(步骤308)。水平消失点是当所述系统将H-线元外推或者延伸至无穷时所有H-线元相遇或者相交的点。垂直消失点是当所述系统将V-线元外推或者延伸至无穷时所有V-线元相遇或者相交的点。消失点是线元向量对的函数。对应的消失点是这两个线元的相交点,其中,是消失点,是在线元集合中的线元,是在相同的线元集合中的不同的线元,并且“x”代表向量叉乘。例如,所述系统可以使用模型——例如随机抽样一致性(RANSAC)模型——来确定消失点。所述系统还可以通过使用加权最小二乘回归来重新估计消失点。
所述系统通过执行单应性矩阵来将V-线元和H-线元外推至无穷以恢复在文本图像中的平行线(步骤310)。所述系统将几何公式应用于这消失点对并且将消失点变换回无穷。即,单应性矩阵有效地使图像歪曲来恢复在文本图像中的线的平行性。所述系统如下计算单应性矩阵:
假设是消失点对。联结消失点的线是则,
是校正单应性矩阵,并且所述系统将消失点变换回无穷,这是因为:
所述系统将校正单应性矩阵应用于每个文本图像来恢复在每个文本图像中的平行性。所述系统对校正后的图像执行拼嵌来创建统一的视图。
图4是执行拼嵌的示例过程400的流程图。过程400由一个或者多个计算机的系统执行。例如,适当地编程的图像处理系统——例如图1的图像处理系统100——可以执行过程400。
所述系统创建围住连接组件集合的矩形结构对象(步骤402)。该矩形结构对象的大小取决于文本的字体大小。所述系统基于连接组件的平均宽度和高度的函数来确定矩形结构对象的大小。例如,如果字体大小是30pt,则连接组件的平均宽度和高度比当字体大小是2pt时的连接组件的平均宽度和高度更大。矩形结构对象的大小基于字体大小而调节,所以具有更大的字体的连接组件的矩形结构对象的大小比当字体大小更小时的矩形结构对象的大小更大。
所述系统涂抹相邻的连接组件来创建词语边界框(步骤404)。连接组件集合表示在文本图像中的词语。形成该词语的每个连接组件是字符——例如字母,并且每个字符与连接组件集合中的另一个字符相邻。
相邻的并且形成表示在文本图像中的词语的连接组件集合的连接组件在每个连接组件之间具有更小的空白。在每个连接组件之间的空白低于阈值量。阈值量低于在文本图像中的词语之间的间隔但是至少等于在相邻的字符之间的间隔量。阈值空白量表示在词语之间的空白的量。所述系统将低于阈值量的连接组件分开涂抹。
所述系统计算在词语边界框上的词语形状描述符(步骤406)。所述系统将词语边界框平铺到固定单元格网格中并且对词语边界框执行方向梯度直方图(HoG)。即,所述系统通过使用向量来描述在文本图像中的词语的形状。在一些实施方式中,所述系统使用4x4HoG单元格网格,其中每个单元格9个角度格位(angular bin),从而导致144个词语形状描述符。
所述系统通过匹配在一个文本图像中的点和在另一个文本图像中的点来确定重叠的文本图像(步骤408)。点指代在图像中的词语形状描述符。在一些实施方式中,需要匹配阈值量的点以供所述系统将一个文本图像与另一个文本图像匹配。例如,所述系统可能要求需要匹配至少4个词语形状描述符或者点以供所述系统将一个文本图像与另一个文本图像匹配。所述系统对所有的文本图像执行该匹配来找出重叠的文本图像。所述系统通过使用匹配的点来将重叠的文本图像进行组合以形成可扫描文档(步骤410)。
可以在数字电子电路中,或者在计算机软件、固件、或者硬件中——包括本文所公开的结构及其结构等效物,或者在它们中的一个或者多个的组合中实现本文描述的主题和操作的实施例。可以将本文描述的主题的实施例实现为一个或者多个计算机程序,即,编码在计算机存储介质上以供由数据处理装置执行或者控制该数据处理装置的操作的计算机程序指令的一个或者多个模块。替选地或者另外,程序指令可以编码在人工生成的传播信号——例如机器生成的电、光或者电磁信号上,生成该信号是为了对信息进行编码以用于传输至合适的接收器装置以供数据处理装置执行。计算机存储介质可以是以下或者包括在以下中:计算机可读存储设备、计算机可读存储基底、随机或者串行存取存储器阵列或设备、或者它们中的一个或者多个的组合。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机存储介质也可以是以下或者包括在以下中:一个或者多个单独的物理组件或者介质(例如,多个CD、磁盘、或者其它存储设备。
可以将本文描述的操作实现为由数据处理装置对存储在一个或者多个计算机可读存储设备上的或者从其它源接收到的数据执行的操作。术语“数据处理装置”囊括了用于处理数据的所有种类的装置、设备、和机器,该所有种类的装置、设备、和机器包括:例如,可编程处理器、计算机、片上系统、或者前述中的多种或者组合。装置可以包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,装置还可以包括为探讨中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或者它们中的一个或者多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础架构,诸如,web服务、分布式计算和网格计算基础架构。
可以用任何形式的编程语言——包括编译语言或者解释语言、声明式语言或者过程式语言——来编写计算机程序(也称为程序、软件、软件应用、脚本或者代码),并且可以按照任何形式——包括作为独立程序或者作为模块、组件、子例程、对象、或者适合用于计算环境的其它单元——来部署该计算机程序。计算机程序可以但并非必须与文件系统中的文件相对应。可以将程序存储在保持其它程序或者数据(例如,存储在标记语言文档中的一个或者多个脚本)的文件的一部分中,或者存储在专用于所探讨中的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或者多个模块、子例程、或者部分代码的文件)中。计算机程序可以被部署以在一个计算机上执行或者在位于一个地点或跨多个地点分布并由通信网络互连的多个计算机上执行。
可以通过一个或者多个可编程处理器来执行本文描述的过程和逻辑流程,该一个或者多个可编程处理器执行一个或者多个计算机程序以通过操作输入数据并且生成输出来执行动作。也可以通过专用逻辑电路系统——例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)——来进行过程和逻辑流程,并且也可以将装置实现为该专用逻辑电路系统。
适合执行计算机程序的处理器包括:例如,通用微处理器和专用微处理器二者、以及任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的必要元件是:用于根据指令来执行动作的处理器、和用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或者多个大容量存储设备——例如磁盘、磁光盘、或者光盘,或者计算机可以操作地耦合以接收来自该大容量存储设备的数据或者将数据传输至该大容量存储设备,或者进行两者。然而,计算机无需具有这样的设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或者视频播放器、游戏控制台、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪速驱动),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质、和存储器设备,包括例如:半导体存储器设备——例如EPROM、EEPROM、和闪速存储器设备、磁盘——例如内部硬盘或者可移动盘;磁光盘;CD-ROM盘和DVD-RPM盘。处理器和存储器可以由专用逻辑电路系统补充或者可以并入该专用逻辑电路系统中。
为了提供与用户的交互,可以在计算机上实现本文描述的主题的实施例,该计算机具有:用于向用户显示信息的显示设备,例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器;以及键盘和指示设备,例如,鼠标或者轨迹球,用户可以通过该键盘和该指示设备来将输入提供给计算机。其它种类的设备还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式——包括声输入、语音输入、或者触觉输入——来接收来自用户的输入。另外,计算机可以通过将文档发送到用户所使用的设备并且接收来自该设备的文档——例如通过响应于从web浏览器接收到的请求来将网页发送至在用户的用户设备上的web浏览器——来与该用户交互。
可以将本文描述的主题的实施例实现在包括后端组件的计算系统——例如作为数据服务器、或者包括中间件组件的计算系统——例如应用服务器、或者包括前端组件的计算系统——例如具有用户可以通过其来与本文描述的主题的实施方式交互的图形用户界面或者web浏览器的用户计算机、或者包括一个或者多个这样的后端组件、中间件组件、或者前端组件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信——例如通信网络——来将系统的组件互连。通信网络的示例包括:局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)、以及对等网络(例如,点对点对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络进行交互。依靠在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施例中,服务器将数据(例如,HTML页面)传送至客户端设备(例如,为了向与客户端设备交互的用户显示数据并且接收来自该用户的用户输入)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本文包含了许多具体实施方式细节,但是不应该将这些细节视为对任何发明或者可能被要求保护的内容的范围的限制,而是作为特定于特定发明的特定实施方式的特征描述。在本文中在单独实施例的场境(context)下描述的某些特征还可以组合地实现在单个实施例中。相反,在单个实施例的场境下描述的各个特征也可以单独地或者按照任何合适的子组合实现在多个实施例中。此外,虽然上面可能将特征描述为以某些组合来起作用并且最初甚至如此要求保护,但是在一些情况下可以从组合中删除来自所要求保护的组合的一个或者多个特征,并且所要求的组合可以涉及子组合或者子组合的变型。
同样,虽然在附图中按照特定顺序描绘了操作,但是不应该将其理解为需要按照所示的特定顺序或者按照连续的顺序来进行这样的操作,或者需要进行所有图示的操作以实现期望的结果。在某些情形下,多任务处理和并行处理可以是有利的。此外,不应该将在上面描述的实施例中的各个系统组件的分离理解为在所有实施例中需要这样的分离,并且应该理解,所描述的程序部件和系统通常可以一起整合在单个软件产品中或者封装到多个软件产品中。
由此,已经描述了本主题的具体实施例。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定需要所示的特定顺序或者连续顺序以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

Claims (14)

1.一种计算机实现的方法,所述方法包括:
接收扫描请求,其中,所述扫描请求包括多个文本图像,每个文本图像表示文本文档的一部分,其中,所述多个文本图像包括至少部分地重叠的第一文本图像和第二文本图像;
对于所述多个文本图像中的每个文本图像:
校正所述文本图像来生成具有平行图像线的文本图像,
生成围住所述文本图像中的一个或者多个连接组件的多个词语边界框,其中,每个词语边界框与相应的词语相关联,以及
对于所述文本图像中的每个相应的词语,生成表示该相应的词语的多个点;
将所述多个文本图像进行组合来形成单个文本文档,包括:通过将与所述第一文本图像相关联的第一点集和与所述第二文本图像相关联的第二点集进行匹配,来将所述多个文本图像中的所述第一文本图像与所述多个文本图像中的所述第二文本图像进行组合;以及
提供所组合的图像作为可扫描文档。
2.根据权利要求1所述的方法,其中,校正所述多个文本图像中的每个文本图像包括:
确定所述文本图像中的多个连接组件,每个连接组件是符号的填充部分;
基于所述多个连接组件来生成在所述文本图像中的多个图像线,所述多个图像线包括垂直线元和水平线元;
基于所述多个图像线来计算水平消失点和垂直消失点;以及
将几何公式应用于所述第一消失点和第二消失点来恢复在所述文本图像中的平行线。
3.根据权利要求2所述的方法,其中,所述多个图像线包括多个垂直线元和多个水平线元,每个垂直线元是穿过连接组件的竖直部分的骨架线,每个水平线元是穿过相邻连接组件集的中心的回归线。
4.根据权利要求3所述的方法,其中,基于所述多个图像线来计算水平消失点和垂直消失点进一步包括:
使用所述水平线元来计算所述水平消失点;以及
使用所述垂直线元来计算所述垂直消失点。
5.根据权利要求4所述的方法,进一步包括:选择垂直线元对和水平线元对,使用所选择的水平线元对来计算所述水平消失点并且使用所选择的垂直线元对来计算所述垂直消失点。
6.根据权利要求5所述的方法,其中,选择水平线元对或者垂直线元对包括:基于线段长度来执行对所述多个水平线元或者垂直线元的降序排序;以及
从所述多个线元的前20个百分位选择第一线元并且从前50个百分位选择第二线元。
7.根据前述权利要求中的任一项所述的方法,其中,生成多个词语边界框包括:涂抹所述连接组件中具有低于预定阈值的空白量的相邻连接组件。
8.根据前述权利要求中的任一项所述的方法,其中,所述第一点集和所述第二点集是词语形状描述符,并且所述方法进一步包括:计算所述多个词语边界框中的每个词语边界框的词语形状描述符。
9.根据权利要求8所述的方法,其中,计算词语边界框的词语形状描述符包括:
将所述词语边界框平铺到固定单元格网格中;以及
对所述词语边界框执行方向梯度直方图来生成与所述词语边界框相关联的词语的形状的向量描述符。
10.根据前述权利要求中的任一项所述的方法,其中,将所述第一文本图像与所述第二文本图像进行组合包括:将所述第一文本图像与所述第二文本图像融合。
11.根据前述权利要求中的任一项所述的方法,其中,在与所述第一文本图像相关联的所述第一点集和与所述第二文本图像相关联的所述第二点集之间的匹配点的数目超出匹配点的阈值数目。
12.根据前述权利要求所述的方法,其中,将所述多个文本图像进行组合进一步包括:
融合形成所述单个文本文档的所述多个文本图像;
对所述单个文本文档进行纠偏;以及
对所述单个文本文档执行光学字符辨识。
13.一种系统,包括:
一个或者多个计算机;
一个或者多个存储指令的存储设备,所述指令在由所述一个或者多个计算机执行时使得所述一个或者多个计算机执行前述权利要求中的任一项所述的方法。
14.一种编码有计算机程序的计算机存储介质,所述程序包括指令,所述指令在由一个或者多个计算机执行时使得所述一个或者多个计算机执行权利要求1至12中的任一项所述的方法。
CN201680022039.0A 2015-04-17 2016-03-30 文档扫描器 Pending CN107980139A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/690,274 US9852348B2 (en) 2015-04-17 2015-04-17 Document scanner
US14/690,274 2015-04-17
PCT/US2016/025042 WO2016167970A1 (en) 2015-04-17 2016-03-30 Document scanner

Publications (1)

Publication Number Publication Date
CN107980139A true CN107980139A (zh) 2018-05-01

Family

ID=55752746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680022039.0A Pending CN107980139A (zh) 2015-04-17 2016-03-30 文档扫描器

Country Status (5)

Country Link
US (1) US9852348B2 (zh)
EP (1) EP3284012B1 (zh)
CN (1) CN107980139A (zh)
DE (1) DE112016001784T5 (zh)
WO (1) WO2016167970A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110312070A (zh) * 2019-04-23 2019-10-08 维沃移动通信有限公司 一种图像处理方法及终端
CN111563894A (zh) * 2020-05-12 2020-08-21 西北工业大学 一种连续纤维增强材料弯曲刚度测量方法及系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904990B2 (en) 2015-12-18 2018-02-27 Ricoh Co., Ltd. Single image rectification
JP6508617B2 (ja) * 2016-04-15 2019-05-08 京セラドキュメントソリューションズ株式会社 画像読取装置、画像読取方法及び画像読取プログラム
WO2018076196A1 (en) * 2016-10-26 2018-05-03 Continental Automotive Gmbh Method and system for generating a composed top-view image of a road
US10356318B1 (en) * 2017-04-27 2019-07-16 Intuit, Inc. Long document capture on mobile devices
US10318803B1 (en) * 2017-11-30 2019-06-11 Konica Minolta Laboratory U.S.A., Inc. Text line segmentation method
US11410446B2 (en) * 2019-11-22 2022-08-09 Nielsen Consumer Llc Methods, systems, apparatus and articles of manufacture for receipt decoding
US11810380B2 (en) 2020-06-30 2023-11-07 Nielsen Consumer Llc Methods and apparatus to decode documents based on images using artificial intelligence
US11822216B2 (en) 2021-06-11 2023-11-21 Nielsen Consumer Llc Methods, systems, apparatus, and articles of manufacture for document scanning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060071950A1 (en) * 2004-04-02 2006-04-06 Kurzweil Raymond C Tilt adjustment for optical character recognition in portable reading machine
CN101017533A (zh) * 2007-03-09 2007-08-15 清华大学 印刷体蒙古文字符识别方法
CN101201840A (zh) * 2006-12-13 2008-06-18 佳能株式会社 文档检索设备及文档检索方法
US20100328687A1 (en) * 2009-06-26 2010-12-30 Fuji Xerox Co., Ltd. Registering apparatus, authentication system, registering program storage medium and registering method
CN102708557A (zh) * 2012-05-15 2012-10-03 广州市中崎商业机器有限公司 一种用于双面扫描的图像拼接方法及系统
CN102945228A (zh) * 2012-10-29 2013-02-27 广西工学院 一种基于文本分割技术的多文档文摘方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075905A (en) * 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6208347B1 (en) * 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6157747A (en) * 1997-08-01 2000-12-05 Microsoft Corporation 3-dimensional image rotation method and apparatus for producing image mosaics
US7031553B2 (en) * 2000-09-22 2006-04-18 Sri International Method and apparatus for recognizing text in an image sequence of scene imagery
US7738706B2 (en) * 2000-09-22 2010-06-15 Sri International Method and apparatus for recognition of symbols in images of three-dimensional scenes
US6823084B2 (en) * 2000-09-22 2004-11-23 Sri International Method and apparatus for portably recognizing text in an image sequence of scene imagery
EP1553517B1 (en) * 2002-08-07 2009-12-09 Panasonic Corporation Character recognition processing device, character recognition processing method, and mobile terminal device
US7120314B2 (en) * 2003-01-15 2006-10-10 Xerox Corporation Systems and methods for obtaining image shear and skew
US7245765B2 (en) * 2003-11-11 2007-07-17 Sri International Method and apparatus for capturing paper-based information on a mobile computing device
JP4553241B2 (ja) * 2004-07-20 2010-09-29 株式会社リコー 文字方向識別装置、文書処理装置及びプログラム並びに記憶媒体
JP4713107B2 (ja) * 2004-08-20 2011-06-29 日立オムロンターミナルソリューションズ株式会社 景観中文字列認識方式および装置
US7460730B2 (en) * 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching
US7930627B2 (en) * 2005-09-22 2011-04-19 Konica Minolta Systems Laboratory, Inc. Office document matching method and apparatus
US8160400B2 (en) * 2005-11-17 2012-04-17 Microsoft Corporation Navigating images using image based geometric alignment and object based controls
US8023725B2 (en) * 2007-04-12 2011-09-20 Samsung Electronics Co., Ltd. Identification of a graphical symbol by identifying its constituent contiguous pixel groups as characters
US8290268B2 (en) * 2008-08-13 2012-10-16 Google Inc. Segmenting printed media pages into articles
US8891907B2 (en) * 2011-12-06 2014-11-18 Google Inc. System and method of identifying visual objects
US9275485B2 (en) * 2012-06-28 2016-03-01 The University Of Utah Research Foundation Seam network processing for panorama weaving

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060071950A1 (en) * 2004-04-02 2006-04-06 Kurzweil Raymond C Tilt adjustment for optical character recognition in portable reading machine
CN101201840A (zh) * 2006-12-13 2008-06-18 佳能株式会社 文档检索设备及文档检索方法
CN101017533A (zh) * 2007-03-09 2007-08-15 清华大学 印刷体蒙古文字符识别方法
US20100328687A1 (en) * 2009-06-26 2010-12-30 Fuji Xerox Co., Ltd. Registering apparatus, authentication system, registering program storage medium and registering method
CN102708557A (zh) * 2012-05-15 2012-10-03 广州市中崎商业机器有限公司 一种用于双面扫描的图像拼接方法及系统
CN102945228A (zh) * 2012-10-29 2013-02-27 广西工学院 一种基于文本分割技术的多文档文摘方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JORGE MORALEDA 等: "Toward Massive Scalability in Image Matching", 《2010 20TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION》 *
MIAO LIGANG 等: "Automatic Document Image Mosaicing Algorithm with Hand-held Camera", 《2011 2ND INTERNATIONAL CONFERENCE ON INTELLIGENT CONTROL AND INFORMATION PROCESSING 》 *
SHUYONG BAI 等: "Keyword Spotting in Document Images through Word Shape Coding", 《2009 10TH INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110312070A (zh) * 2019-04-23 2019-10-08 维沃移动通信有限公司 一种图像处理方法及终端
CN110312070B (zh) * 2019-04-23 2021-08-24 维沃移动通信有限公司 一种图像处理方法及终端
CN111563894A (zh) * 2020-05-12 2020-08-21 西北工业大学 一种连续纤维增强材料弯曲刚度测量方法及系统

Also Published As

Publication number Publication date
DE112016001784T5 (de) 2018-02-01
US9852348B2 (en) 2017-12-26
WO2016167970A1 (en) 2016-10-20
US20160307059A1 (en) 2016-10-20
EP3284012B1 (en) 2021-12-29
EP3284012A1 (en) 2018-02-21

Similar Documents

Publication Publication Date Title
CN107980139A (zh) 文档扫描器
US11810374B2 (en) Training text recognition systems
CN109543690B (zh) 用于提取信息的方法和装置
US10121099B2 (en) Information processing method and system
US20110090253A1 (en) Augmented reality language translation system and method
CN110516096A (zh) 合成感知数字图像搜索
US11024060B1 (en) Generating neutral-pose transformations of self-portrait images
CN108846385B (zh) 基于卷积-反卷积神经网络的图像识别、校正方法和装置
CN110188762B (zh) 中英文混合商户门店名称识别方法、系统、设备及介质
CN109299663A (zh) 手写字体识别方法、系统以及终端设备
CN115457531A (zh) 用于识别文本的方法和装置
US11017498B2 (en) Ground truth generation from scanned documents
Joshi OpenCV with Python by example
US20180032806A1 (en) Producing a flowchart object from an image
Chernov et al. Application of dynamic saliency maps to the video stream recognition systems with image quality assessment
CN117083605A (zh) 用于文本-图像-布局变换器模型的迭代训练
US10074033B2 (en) Using labels to track high-frequency offsets for patch-matching algorithms
CN116361502A (zh) 一种图像检索方法、装置、计算机设备及存储介质
US20220230425A1 (en) Object discovery in images through categorizing object parts
CN112633267A (zh) 一种图片的文本定位方法、系统、设备以及介质
US11080545B2 (en) Optical character recognition support system
Körber Improving Camera-based Document Analysis with Deep Learning
JP7231529B2 (ja) 情報端末装置、サーバ及びプログラム
Calvo et al. OpenCV 3. x with Python By Example: Make the most of OpenCV and Python to build applications for object recognition and augmented reality
WO2023085963A1 (en) Domain-aware image text restoration

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