CN115082935A - 用于对文档图像进行矫正的方法、设备及存储介质 - Google Patents
用于对文档图像进行矫正的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN115082935A CN115082935A CN202210788200.2A CN202210788200A CN115082935A CN 115082935 A CN115082935 A CN 115082935A CN 202210788200 A CN202210788200 A CN 202210788200A CN 115082935 A CN115082935 A CN 115082935A
- Authority
- CN
- China
- Prior art keywords
- document
- edge
- points
- line
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/1607—Correcting image deformation, e.g. trapezoidal deformation caused by perspective
-
- 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/15—Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
-
- 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/16—Image preprocessing
- G06V30/168—Smoothing or thinning of the pattern; Skeletonisation
-
- 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/18—Extraction of features or characteristics of the image
- G06V30/1801—Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Abstract
本发明的实施方式提供了一种用于对文档图像进行矫正的方法、设备及计算机可读存储介质。该方法包括:检测待测图像中文档的边缘关键点;根据所述边缘关键点的分布走势,拟合生成所述文档的边缘线;以及基于所述边缘线围成的文档区域,生成矫正文档图像。根据本发明实施方式的方法,可以实现对于曲面文档图像的展平矫正,以及能够保证矫正文档图像的平滑,为用户带来了更好的体验。
Description
技术领域
本发明的实施方式涉及图像处理领域,更具体地,本发明的实施方式涉及用于对文档图像进行矫正的方法、设备及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
随着人工智能技术的发展,计算机视觉(Computer Vision,即CV)相关技术广泛应用于各类教育和效率工具类产品中。图像中纸质文档的信息提取是其中重要的技术之一,而现实场景中由于拍摄设备、环境、纸张状态等多重因素的影响,使得计算机处理的文档图像中的文档纸张容易出现各种变形,例如纸张倾斜、褶皱、扭曲、卷曲等,从而严重影响计算机算法对文字识别的准确率和用户对文档图像的主观观感。因此,如何去除输入图像中文档纸张所存在的上述形变,以输出平整且端正的文档图像,是目前亟待解决的技术问题。
在现有技术中,已经出现一些用于矫正文档图像的方法。例如在基于深度学习的文档矫正方案中,可以通过对深度学习模型进行训练,使其在接收到扭曲文档图像之后,能够输出矫正后的文档图像或矫正所依赖的坐标映射矩阵。训练该模型的方式为有监督的训练,并且其依赖于大规模的训练数据。训练数据由大量的样本对组成,每个样本对可以包含扭曲文档图像和矫正坐标映射矩阵这两部分。通常该训练数据的获取方式为通过3D引擎生成。
发明内容
但是,由于深度学习模型输出的矫正坐标映射矩阵往往不平滑,导致矫正后的图像不平滑,因此仍然会影响文档中内容识别的准确率和用户的主观观感。进一步地,由于用于训练深度学习模型的训练数据无法从现实场景中获取到,而3D引擎渲染出的扭曲文档图像又与现实世界场景不一致,容易导致深度学习模型对3D虚拟图像过拟合,使得深度学习模型在现实场景中的矫正效果不佳。
因此在现有技术中,这是非常令人烦恼的过程。为此,非常需要一种改进的对文档图像进行矫正的方法,以使现实场景中的扭曲文档图像能够得到更好的矫正效果。在本上下文中,本发明的实施方式期望提供一种用于对文档图像进行矫正的方法、设备及计算机可读存储介质。
在本发明实施方式的第一方面中,提供了一种用于对文档图像进行矫正的方法,包括:检测待测图像中文档的边缘关键点;根据所述边缘关键点的分布走势,拟合生成所述文档的边缘线;以及基于所述边缘线围成的文档区域,生成矫正文档图像。
在本发明的一个实施例中,拟合生成边缘线包括:响应于文档的同一边上的多个边缘关键点呈曲线分布,使用多项式拟合函数拟合生成相应的曲线边缘线。
在本发明的另一个实施例中,基于文档区域生成矫正文档图像包括:对所述文档区域进行网格化处理,以生成网格文档图像;以及构建矩形空白图像,并将所述网格文档图像中每个网格坐标处的像素值填充至所述矩形空白图像中的相应坐标点上,以生成所述矫正文档图像。
在本发明的又一个实施例中,文档的边缘线包括相对的两条曲线边缘线和相对的两条直线边缘线,并且对文档区域进行网格化处理包括:在两条曲线边缘线上分别确定相同数量的多个等分点;在所述文档区域中连接两条曲线边缘线上相对应的等分点,以在两条曲线边缘线之间形成多条直线连线;在每条直线边缘线和每条直线连线上分别确定相同数量的多个非等分点;以及连接直线边缘线和直线连线上相对应的非等分点,以生成所述网格文档图像。
在本发明的一个实施例中,在每条直线边缘线和每条直线连线上分别确定相同数量的多个非等分点包括:利用透视变换计算同一直线上多个非等分点之间相邻两个线段的长度比例;根据每条直线边缘线和每条直线连线的长度、所述长度比例和同一直线上非等分点的数量,确定每条直线边缘线和每条直线连线上各线段的长度,以确定每条直线边缘线和每条直线连线上的各非等分点的位置。
在本发明的另一个实施例中,利用透视变换计算长度比例包括:以两条直线边缘线所在的四个角点为源点,以任意矩形的四个角点为目标点,计算透视变换矩阵;在任一直线边缘线上取相邻且长度相等的第一源线段和第二源线段,并使用所述透视变换矩阵对第一源线段和第二源线段之间的分隔点坐标和两个端点坐标分别进行透视变换,以得到相应的第一变换线段和第二变换线段;以及根据第一变换线段与第二变换线段的长度之比,确定所述长度比例。
在本发明的又一个实施例中,确定各非等分点的位置进一步包括:根据第一变换线段与第二变换线段的相对位置关系,确定每条直线边缘线和每条直线连线上首个非等分点的位置。
在本发明的一个实施例中,所述两个端点为直线边缘线上的两个角点;以及所述分隔点为所述直线边缘线的中点。
在本发明的另一个实施例中,检测待测图像中文档的边缘关键点包括:使用关键点检测模型对待测图像进行检测,以确定待测图像中文档的边缘关键点。
在本发明的又一个实施例中,在使用关键点检测模型进行检测之前,所述方法还包括:在样本图像中文档的稠密轮廓点中确定四个样本角点,并根据四个样本角点将稠密轮廓点分隔为四条样本边的点集;至少在四条样本边中曲线样本边的点集中,确定对曲线样本边的多个等分样本点;以及使用带四个样本角点和多个等分样本点的样本图像对所述关键点检测模型进行训练。
在本发明的一个实施例中,进一步包括:在四条样本边中直线样本边的点集中,确定直线样本边的样本中点;以及使用带四个样本角点、多个等分样本点和样本中点的样本图像对所述关键点检测模型进行训练。
在本发明的另一个实施例中,在确定四个样本角点之前,还包括:对样本图像中文档的轮廓点进行第一标注;对样本图像中文档的四个角点进行第二标注;将第一标注的轮廓点转换为稠密轮廓点;以及将稠密轮廓点中与第二标注距离最小的点确定为样本角点。
在本发明实施方式的第二方面中,提供了一种用于对文档图像进行矫正的设备,包括,处理器,其配置用于执行程序指令;存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器执行时,使得所述设备执行根据本发明实施方式的第一方面中的任一项所述的方法。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,其存储有程序指令,当所述程序指令由处理器加载并执行时,使得所述处理器执行根据本发明实施方式的第一方面中的任一项所述的方法。
根据本发明实施方式的用于对文档图像进行矫正的方法,可以根据待测图像中文档的边缘关键点的分布走势,拟合生成文档的边缘线,从而可以根据边缘线围成的文档区域来生成矫正文档图像,根据这样的方法可以实现对于曲面文档图像(或者扭曲文档图像)的展平矫正,以及能够保证矫正文档图像的平滑,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示出了适于实现本发明实施方式的示例性设备100的框图;
图2示意性地示出根据本发明实施例的用于对文档图像进行矫正的方法流程图;
图3示意性地示出根据本发明实施例的网格化处理的方法流程图;
图4示意性地示出根据本发明实施例的待测图像的示意图;
图5示意性地示出基于图4中所示的待测图像生成网格文档图像的过程示意图;以及
图6示意性地示出根据本发明实施例的包括使用关键点检测模型进行检测的方法流程图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
图1示出了适于实现本发明实施方式的示例性设备100的框图。如图1所示,设备100可以包括例如CPU101、存储器以及其外围设备和外部网络,其中本发明实施例的设备可以用于执行本发明的用于对文档图像进行矫正的方法。
进一步地,如图1中所示,根据本发明实施例的设备可以包括中央处理单元(CPU)101、随机存取存储器(RAM)102、只读存储器(ROM)103,还可以包括系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
本领域技术技术人员知道,本发明的实施方式可以实现为一种设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法的流程图和设备(或系统)的框图描述本发明的实施方式。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
根据本发明的实施方式,提出了一种用于对文档图像进行矫正的方法、设备及计算机可读存储介质。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现实场景中普遍存在着纸张卷曲的问题,例如摊开书本的书脊附近的纸张卷曲等,如果仅检测纸张的四个角点,机器则无法获得四个角点之间的纸张边缘的形状情况,从而机器处理时只能假设纸张是平整的,因此无法实现对弯曲纸张的矫正。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
根据本发明实施例的用于对文档图像进行矫正的方法,可以应用于各种基于计算机视觉的文档矫正场景中。具体地,根据本发明实施例的方法可以应用于例如智能学习台灯、智能手机、电脑、扫描笔等各种可以采集到文档图像的设备中,以及可以与文本识别技术相结合来实现对矫正后的图像中的文档内容进行识别的目的。进一步地,本发明实施方式的方法可以通过在机器上运行的应用程序来实施。这种应用程序例如可以是文档矫正APP等。该文档矫正APP可以用于矫正各种类型的文档图片,例如包括书本、纸张、包装盒、海报等的图片。
示例性方法
下面结合上述应用场景,参考图2来描述根据本发明示例性实施方式的用于对文档图像进行矫正的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出根据本发明实施例的用于对文档图像进行矫正的方法流程图。如图2中所示,方法200可以包括:在步骤210中,可以检测待测图像中文档的边缘关键点。在一些实施例中,边缘关键点为位于文档的边上的点。边缘关键点可以至少包括文档的角点。角点可以理解为两条线的相交点,例如矩形文档的四个顶点即为四个角点。在另一些实施例中,边缘关键点还可以包括每条边上的等分点,例如中点、四等分点、五等分点、六等分点等。在又一些实施例中,边缘关键点还可以包括文档的边上形变处的关键点,例如文档的曲线边缘上的拐点。在一些实施例中,文档的每条边上的边缘关键点可以包括一个或多个。在一些应用场景中,文档可以包括书本、纸张、包装盒、文件袋、海报等易发生形变的物体,待测图像可以为包含该文档的图像。
接着,在步骤220中,可以根据边缘关键点的分布走势,拟合生成文档的边缘线。在一些实施例中,可以根据文档每条边上的边缘关键点的分布走势,分别拟合每条边上的边缘线。在本发明的一个实施例中,步骤220可以包括:响应于文档的同一边上的多个边缘关键点呈曲线分布,可以使用多项式拟合函数拟合生成相应的曲线边缘线。这里同一边上的多个边缘关键点可以包括同一边上的两个角点以及两个角点之间的一个或者多个关键点。在一些实施例中,待测图像中的文档可以具有一条或者多条这样的曲线边缘线。
相比于传统的边缘检测或者线性拟合方式只能将多个边缘关键点拟合成直线,而无法反映文档边缘上实际的分布走势特征,根据本发明实施例的多项式拟合函数(或称多项式曲线拟合函数)可以在多次多项式函数中选择一个对已知数据以及未知数据都有很好预测能力的函数,从而可以根据边缘关键点的分布走势,拟合出最符合边缘关键点实际形状的拟合曲线。根据这样的设置,能够保留曲线边缘线的曲线特征,有利于机器的学习和识别,以及有利于实现对曲面文档的矫正。
在另一些实施例中,步骤220还可以包括:响应于文档的同一边上的多个边缘关键点呈直线分布,可以使用例如线性拟合函数、最小二乘法等直线拟合方法拟合生成相应的直线边缘线。在又一些实施例中,对于文档的直线边缘,由于未发生形状上的变化,在步骤210中检测到的边缘关键点可能仅包括该直线边缘上的两个角点(或称两个顶点),接着在步骤220中可以包括:响应于文档的同一边上仅包括两个角点关键点,可以直接将该两个角点关键点连接,拟合生成直线边缘线。在一些实施例中,待测图像中的文档可以具有一条或者多条这样的直线边缘线。
进一步地,在步骤230中,基于边缘线围成的文档区域,生成矫正文档图像。一般来说,由于现实场景中的文档通常为矩形,因此在步骤220中通常可以生成四条边缘线,该四条边缘线通过角点关键点连接,可以围成待矫正的文档区域。矫正文档图像可以为横平竖直的文档图像,即去除了待测图像中文档的形变,以便于后续的文本识别等操作,或者直接展示给用户以便于用户阅读。在一些实施例中,基于边缘线和文档区域,可以通过透视变换生成矫正文档图像。
在本发明的另一个实施例中,步骤230可以进一步包括:对文档区域进行网格化处理,以生成网格文档图像;以及构建矩形空白图像,并将网格文档图像中每个网格坐标处的像素值填充至矩形空白图像中的相应坐标点上,以生成矫正文档图像。网格化处理可以理解为在文档区域设置多条交叉线,以将文档区域分割为多个网格,这样包括多个网格的图像即为网格文档图像。
矩形空白图像可以为长方形空白图像或正方形空白图像,其尺寸可以根据需要进行设置。对于矩形空白图像上的每个坐标点,可以使用网格文档图像中相应网格坐标处的像素值进行填充,从而可以得到与待测图像中的文档内容相同的横平竖直的矫正文档图像。在对文档区域进行网格化处理时,网格设置的越密集,生成的矫正文档图像中的文档内容就越清楚,并且文档中各文字分布以及文字之间的间距也越均匀,有利于提高用户的主观观感以及文本识别的准确性。对于未经过网格化处理而直接生成的矫正文档图像,例如通过透视变换生成的矫正文档图像,虽然可以实现将曲面文档展平,但是可能会存在展平后的矫正文档图像中的文字分布不均匀或者间距不均匀等问题,从而影响用户的视觉感受以及后续文本识别的准确率。
以上结合图2对根据本发明实施例的用于对文档图像进行矫正的方法进行了示例性的描述,可以理解的是,根据本发明的方法通过根据边缘关键点的分布走势来拟合边缘线,能够保留文档边缘可能存在的曲线特征,从而有利于实现曲面文档的展平。还可以理解的是,上面的描述是示例性的而非限制性地,例如曲线拟合的方法可以不限于上述的多项式拟合函数,还可以通过例如机器学习等技术实现曲线的拟合。
还例如,基于边缘线围成的文档区域生成矫正文档图像可以不限于透视变换和网格化处理,也可以利用现有的或者未来可实现的其他方式来生成,但是相比于其他方式,网格化处理将更有利于实现使得展平后的矫正文档图像中文本均匀分布的效果。为了更便于理解本发明实施例的网格化处理方法,下面将结合图3-图5对网格化处理的一个具体实现方式进行详细描述。
图3示意性地示出根据本发明实施例的网格化处理的方法流程图。通过下面的描述可知,方法300可以是前文中结合图2描述的步骤230的实施例中关于网格化处理的一个具体化表现形式,因此前文中结合图2对步骤230的描述也可以适用于下面对方法300的描述中。
如图3中所示,方法300可以包括:在步骤310中,可以在两条曲线边缘线上分别确定相同数量的多个等分点。在一些实施例中,文档的边缘线可以包括相对的两条曲线边缘线和相对的两条直线边缘线,即相对的两条曲线边缘线为文档的一组对边,相对的两条直线边缘线为文档的另一组对边。在步骤310中可以在每条曲线边缘线上确定多个等分点,并且相对的两条边缘线上确定的等分点的数量可以相同。等分点即为能够将曲线边缘线的长度进行等分的点。在又一些实施例中,假设矫正文档图像的宽为wd和高为hd,假设曲线边缘线所在位置对应于矫正文档图像的宽,为了获得密集的网格,可以将每条曲线边缘线上设置wd个等分点,以将每条曲线边缘线的长度进行(wd-1)等分,得到(wd-1)个等分曲线线段。
接着,在步骤320中,可以在文档区域中连接两条曲线边缘线上相对应的等分点,以在两条曲线边缘线之间形成多条直线连线。由于两条曲线边缘线上具有相同数量的等分点,通过顺次连接两条曲线边缘线上相对应的等分点,可以形成多条在文档区域中不交叉的直线连线。
然后,流程可以前进到步骤330中,可以在每条直线边缘线和每条直线连线上分别确定相同数量的多个非等分点。具体地,可以在每条直线边缘线上设置多个非等分点,以及在每条直线连线上设置多个非等分点,并且各直线边缘线和各直线连线上设置的非等分点的数量均相等。非等分点即为将直线边缘线或直线连线的长度进行非等分的点。
在另一些实施例中,可以根据文档区域的形状确定非等分点的位置。例如文档区域呈类似梯形的形状时,越靠近梯形的上底,非等分点可以设置的越密集,分割的线段数量越多;越靠近梯形的下底,非等分点可以设置的越稀疏,分割的线段数量越少。在一些实施例中,可以按照同一直线上多个线段的长度满足等比数列规律的方式设置多个非等分点。
如图3中进一步示出的,在一些实施例中,步骤330可以包括:在步骤331(虚线框示出)中,可以利用透视变换计算同一直线上多个非等分点之间相邻两个线段的长度比例。同一直线可以包括同一条直线边缘线或者同一条直线连线。在本发明的另一个实施例中,利用透视变换计算长度比例可以包括:以两条直线边缘线所在的四个角点为源点,以任意矩形的四个角点为目标点,计算透视变换矩阵;在任一直线边缘线上取相邻且长度相等的第一源线段和第二源线段,并使用透视变换矩阵对第一源线段和第二源线段之间的分隔点坐标和两个端点坐标分别进行透视变换,以得到相应的第一变换线段和第二变换线段;以及根据第一变换线段与第二变换线段的长度之比,确定长度比例。
具体地,假设两条直线边缘线所在的四个角点的坐标从左上角开始按照顺时针方向依次标记为P0,P1,P2,P3,以任意横平竖直的矩形的四个对应角点为目标点,可以计算得到透视变换矩阵。该计算透视变换矩阵的过程可以通过例如OpenCV方法的getPerspectiveTransform函数来实现。
接着,以直线边缘线P0P3为例,将直线边缘线P0P3的中点标记为Plc,为了便于说明,以角点P0、P3为第一源线段和第二源线段的两个端点,以Plc为第一源线段和第二源线段之间的分隔点,则第一源线段可以表示为P0Plc,第二源线段可以表示为PlcP3。然后,可以将P0、P3、Plc均补为齐次向量(形如),然后将各齐次向量左乘透视变换矩阵,以得到与P0、P3、Plc分别对应的变换后的坐标P′0,P′3,P′lc,由此可以得到与第一源线段P0Plc对应的第一变换线段P′0P′lc,以及得到与第二源线段PlcP3对应的第二变换线段P′lcP′3。该透视变换的过程可以采用例如OpenCV方法的warpPerspective函数来实现。
进一步地,根据第一变换线段P′0P′lc与第二变换线段P′lcP′3的长度之比,可以确定非等分点之间相邻两个线段的长度比例,例如采用如下公式一计算得到:
其中k表示长度比例,P′0P′lc表示第一变换线段,P′lcP′3表示第二变换线段。可以理解的是,上面的描述是示例性的而非限制性的,例如第一源线段和第二源线段的两个端点可以不限于为直线边缘线上的两个角点,以及分隔点不限于为直线边缘线的中点,两个端点可以根据需要选取直线边缘线上的任意两个点,只需要满足分隔点设置于两个端点的中心处即可。还例如,第一源线段和第二源线段不限于从直线边缘线P0P3上选取,也可以根据需要从直线边缘线P1P2上选取,或者还可以从任一直线连线上选取。
然后,在确定了长度比例之后,流程可以前进到步骤332(虚线框示出)中,可以根据每条直线边缘线和每条直线连线的长度、长度比例和同一直线上非等分点的数量,确定每条直线边缘线和每条直线连线上各线段的长度,以确定每条直线边缘线和每条直线连线上的各非等分点的位置。同一直线上非等分点的数量可以根据需要进行设置。在一些实施例中,同一直线上非等分点的数量可以根据矫正文档图像的尺寸来确定。例如,假设直线边缘线所在位置对应于矫正文档图像的高,为了获得密集的网格,可以将每条直线边缘线和每条直线连线上设置hd个非等分点,以将每条直线的长度进行(hd-1)非等分,得到(hd-1)个非等分的直线线段。
在又一些实施例中,可以利用等比数列求和公式,计算得到同一直线上首个线段的长度,进而可以确定同一直线上各线段的长度,从而能够根据各线段的长度确定相应直线上的各非等分点的位置。以确定直线边缘线P0P3上的首个线段的长度为例,首个线段的长度可以采用如下公式二计算得到:
其中,d可以表示首个线段的长度,k可以表示长度比例,hd可以表示矫正文档图像的高,P0P3可以表示待非等分的直线段(例如任一直线边缘线或任一直线连线)的长度。可以理解的是,当直线边缘线对应矫正文档图像的宽时,公式二中的hd可以替换为矫正文档图像的宽度。
进一步地,如图3中所示,在步骤340中,可以连接直线边缘线和直线连线上相对应的非等分点,以生成网格文档图像。通过在每条直线边缘线和每条直线连线上设置相同数量的非等分点,通过顺次连接各直线边缘线和直线连线上相对应的非等分点,可以形成多条在文档区域中不交叉的曲线连线。这些曲线连线与步骤320中形成的直线连线共同构成了网格文档图像。
为了便于理解,下面将以如图4中所示的待测图像为例,并结合图5所示的网格化处理过程进行说明。图4示意性地示出根据本发明实施例的待测图像的示意图。图5示意性地示出基于图4中所示的待测图像生成网格文档图像的过程示意图。
如图4中所示,待测图像400为包含文档401的图像,其中文档401为摊开的书本,其书脊附近的纸张发生了卷曲。通过对待测图像400进行检测,可以得到文档401的多个边缘关键点402。根据该多个边缘关键点402,可以拟合生成文档401的多条边缘线。
如图5的(a)图中所示,多个边缘关键点402中可以包括四个角点P0,P1,P2,P3,该多个边缘关键点402分布于文档401的相对的两边,并分别呈曲线分布。接着,如图5的(b)图中所示,根据多个边缘点402的分布走势,可以拟合生成相对的两条曲线边缘线501和502。
然后,流程可以前进到图5的(c)图中所示,通过将图5的(b)图中所示的两条曲线边缘线501和502上相对应的角点连接,即将角点P0和P3连接,生成直线边缘线P0P3,以及将角点P1和P2连接,生成直线边缘线P1P2,从而形成了文档区域503。接着,可以在直线边缘线P0P3上确定中点Plc,和/或在直线边缘线P1P2上确定中点Prc。
进一步地,如图5的(d)图中所示,利用透视变换可以计算得到与角点P0,P1,P2,P3和中点Plc,Prc分别对应的变换后的点P′0,P′1,P′2,P′3,P′lc,P′rc。假设选取第一源线段P0Plc和第二源线段PlcP3,则P0和P3是第一源线段P0Plc和第二源线段PlcP3的两个端点,中点Plc是第一源线段P0Plc和第二源线段PlcP3的分隔点,变换后得到第一变换线段为P′0P′lc和第二变换线段为P′lcP′3。假设选取第一源线段P1Prc和第二源线段PrcP2,则P1和P2是第一源线段P1Prc和第二源线段PrcP2的两个端点,中点Prc是第一源线段P1Prc和第二源线段PrcP2的分隔点,变换后得到第一变换线段为P′1P′rc和第二变换线段为P′rcP′2。
以第一变换线段为P′1P′rc和第二变换线段为P′rcP′2为例,长度比例k可以采用如下公式三计算得到:
在本发明的又一个实施例中,确定各非等分点的位置可以进一步包括:根据第一变换线段与第二变换线段的相对位置关系,确定每条直线边缘线和每条直线连线上首个非等分点的位置。在一些实施例中,每条直线边缘线和每条直线连线上首个非等分点与第二个非等分点的相对位置关系,可以和第一变换线段与第二变换线段的相对位置关系相同。例如,第一变换线段位于第二变换线段的上方,首个非等分点可以位于第二个非等分点的上方。
如图5的(d)图中所示,第一变换线段P′1P′rc和第二变换线段P′rcP′2的相对位置关系为,第二变换线段P′rcP′2位于第一变换线段P′1P′rc的y轴正方向上,即第二变换线段为P′rcP′2位于第一变换线段为P′1P′rc的图示中的下方,则如图5的(e)图中所示的每条直线边缘线和每条直线连线上首个非等分点505为从图示中的上方角点P1开始进行非等分操作的第一个位置点。在确定了首个非等分点505之后,可以根据长度比例依次确定其他非等分点504。
进一步地,如图5的(f)图中所示,通过连接相对的两条曲线边缘线P0P1和P3P2上相对应的各等分点,以及连接每条直线边缘线(例如图示中的P0P3和P1P2)和每条直线连线506上相对应的各非等分点,可以生成网格文档图像507。
以上结合图3-图5对根据本发明实施例的网格化处理进行详细描述,可以理解的是,图中所示的是示例性的而非限制性地,例如曲线边缘线上的等分点可以不限于图5的(f)图中所示的六等分点,直线边缘线和直线连线上也不限于图5的(f)图中所示的六非等分点,等分点数量和非等分点数量均可以根据需要进行设置,这里将不再赘述。另外,由于本发明实施例中的曲线边缘线是根据边缘关键点的分布走势拟合而成,并且生成的网格文档图像中相邻网格点之间均是平滑过渡的,从而有利于输出均匀、平滑的矫正文档图像。
图6示意性地示出根据本发明实施例的包括使用关键点检测模型进行检测的方法流程图。通过下面的描述可知,方法600可以是前文中结合图2描述的方法200的一个具体化表现形式,因此前文中结合图2对方法200的描述也可以适用于下面对方法600的描述中。
如图6中所示,方法600可以包括:在步骤610中,可以检测待测图像中文档的边缘关键点。在一些实施例中,步骤610可以包括步骤611(虚线框示出),在步骤611中,可以使用关键点检测模型对待测图像进行检测,以确定待测图像中文档的边缘关键点。关键点检测模型可以采用任何现有的或者未来可实现的模型结构。通过将待测图像输入到关键点检测模型中,可以输出待测图像中文档的边缘关键点。
在本发明的又一个实施例中,在使用关键点检测模型进行检测之前,方法600还可以包括步骤640~步骤660,以在对待测图像进行检测之前对关键点检测模型进行训练。如图6中所示,在步骤640(虚线框示出)中,可以在样本图像中文档的稠密轮廓点中确定四个样本角点,并根据四个样本角点将稠密轮廓点分隔为四条样本边的点集。在一些实施例中,稠密轮廓点可以包括位于样本图像中文档边缘上的多个分布紧密的点,并且每两个相邻点之间的距离可以小于或等于1像素。样本图像可以来源于真实场景下采集的弯曲文档的图像。
在一些实施例中,可以对样本图像中文档的四个角点进行第二标注,并将稠密轮廓点中与第二标注距离最小的点确定为样本角点。第二标注可以采用人工标注或机器标注的方式实现。在一些场景中,第二标注的某个角点可能正好与稠密轮廓点中的某个点重合,即该重合点与第二标注的距离为零,则可以将该重合点确定为样本角点。在另一些场景中,第二标注的角点不与稠密轮廓点中的任一点重合,可以在稠密轮廓点中找到与第二标注的距离(例如欧氏距离)最小的点,确定为样本角点。
在另一些实施例中,进行第二标注可以包括:对样本图像进行高斯模糊处理,然后可以采用例如Shi-Tomasi算法或Harris算法等来对样本图像中的文档进行角点检测。在检测到了初始角点后,可以通过限制角点间距等规则,过滤掉距离过近的初始角点,然后再从过滤后的初始角点中选取距离文档中心点最远的四个初始角点作为第二标注的四个角点。在一些场景中,如果过滤后的初始角点不足四个,则可以丢弃该样本图像。
在本发明的另一个实施例中,步骤640中确定四个样本角点还可以包括:对样本图像中文档的轮廓点进行第一标注;对样本图像中文档的四个角点进行第二标注;将第一标注的轮廓点转换为稠密轮廓点;以及将稠密轮廓点中与第二标注距离最小的点确定为样本角点。第一标注可以采用人工标注或机器标注的方式实现。相比于稠密轮廓点,第一标注的轮廓点较稀疏。将第一标注的轮廓点转换为稠密轮廓点可以通过例如插值法、或者OpenCV方法中的转换工具等来实现。
在稠密轮廓点中确定了四个样本角点之后,可以以四个样本角点为基准进行分割,使得稠密轮廓点被分隔为分别分布于文档的四条样本边(例如上边、下边、左边和右边)上的四个点集。
接着,在步骤650(虚线框示出)中,可以至少在四条样本边中曲线样本边的点集中,确定对曲线样本边的多个等分样本点。例如可以通过在曲线样本边的点集中进行平均分割来确定多个等分样本点,例如可以确定曲线样本边的五等分样本点或者六等分样本点等。
然后,流程可以前进到步骤660(虚线框示出)中,可以使用带四个样本角点和多个等分样本点的样本图像对关键点检测模型进行训练。经过训练后的关键点检测模型可以检测出待测图像的文档中的四个角点关键点以及曲线边缘线上的等分关键点。
在本发明的一个实施例中,在步骤650中,还可以在四条样本边中直线样本边的点集中,确定直线样本边的样本中点;以及在步骤660中可以使用带四个样本角点、多个等分样本点和样本中点的样本图像对关键点检测模型进行训练。经过使用这样的训练数据训练后的关键点检测模型可以检测出待测图像的文档中的四个角点关键点、曲线边缘线上的等分关键点和直线边缘线上的中点关键点。
通过使用上述训练数据训练关键点检测模型,可以实现对关键点检测模型的有监督的训练,并且能够解决人工直接进行关键点标注或者对曲线进行等分点标注的实施难度大和准确性较低的问题。根据本发明实施例的上述训练数据的构建方法,还具有方案简单、便于实施以及标注成本低廉等优点。进一步地,在一些实施例中,通过在训练数据中增加直线样本边的样本中点,能够为关键点检测模型的训练提供更全面的监督信息,且实践表明这样可以明显提高关键点检测的准确率。
如图6中进一步示出的,在检测到文档的边缘关键点之后,方法600可以继续执行步骤620和步骤630。在步骤620中,可以根据边缘关键点的分布走势,拟合生成文档的边缘线。在步骤630中,可以基于边缘线围成的文档区域,生成矫正文档图像。步骤620和步骤630已经在前文中结合图2中的步骤220和步骤230进行了详细的描述,此处不再赘述。
通过上面对本发明实施例的用于对文档图像进行矫正的方案及其多个实施例的描述,本领域技术人员可以理解的是,本发明通过根据边缘关键点的分布走势,拟合生成文档的边缘线,对于弯曲文档而言,可以生成平滑的曲线边缘线,从而能够生成平滑的矫正文档图像,从而具有较佳的人类主观观感,也更有利于OCR等技术对文档内容的识别和提取。在一些实施例中,通过对文档区域进行网格化处理,以生成网格文档图像,可以使得矫正文档图像中的文本分布均匀,有利于后续对文本的识别提取等操作。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (10)
1.一种用于对文档图像进行矫正的方法,包括:
检测待测图像中文档的边缘关键点;
根据所述边缘关键点的分布走势,拟合生成所述文档的边缘线;以及
基于所述边缘线围成的文档区域,生成矫正文档图像。
2.根据权利要求1所述的方法,其中拟合生成边缘线包括:
响应于文档的同一边上的多个边缘关键点呈曲线分布,使用多项式拟合函数拟合生成相应的曲线边缘线。
3.根据权利要求1或2所述的方法,其中基于文档区域生成矫正文档图像包括:
对所述文档区域进行网格化处理,以生成网格文档图像;以及
构建矩形空白图像,并将所述网格文档图像中每个网格坐标处的像素值填充至所述矩形空白图像中的相应坐标点上,以生成所述矫正文档图像。
4.根据权利要求3所述的方法,其中文档的边缘线包括相对的两条曲线边缘线和相对的两条直线边缘线,并且
对文档区域进行网格化处理包括:
在两条曲线边缘线上分别确定相同数量的多个等分点;
在所述文档区域中连接两条曲线边缘线上相对应的等分点,以在两条曲线边缘线之间形成多条直线连线;
在每条直线边缘线和每条直线连线上分别确定相同数量的多个非等分点;以及
连接直线边缘线和直线连线上相对应的非等分点,以生成所述网格文档图像。
5.根据权利要求4所述的方法,其中在每条直线边缘线和每条直线连线上分别确定相同数量的多个非等分点包括:
利用透视变换计算同一直线上多个非等分点之间相邻两个线段的长度比例;
根据每条直线边缘线和每条直线连线的长度、所述长度比例和同一直线上非等分点的数量,确定每条直线边缘线和每条直线连线上各线段的长度,以确定每条直线边缘线和每条直线连线上的各非等分点的位置。
6.根据权利要求5所述的方法,其中利用透视变换计算长度比例包括:
以两条直线边缘线所在的四个角点为源点,以任意矩形的四个角点为目标点,计算透视变换矩阵;
在任一直线边缘线上取相邻且长度相等的第一源线段和第二源线段,并使用所述透视变换矩阵对第一源线段和第二源线段之间的分隔点坐标和两个端点坐标分别进行透视变换,以得到相应的第一变换线段和第二变换线段;以及
根据第一变换线段与第二变换线段的长度之比,确定所述长度比例。
7.根据权利要求1-6任一所述的方法,其中检测待测图像中文档的边缘关键点包括:
使用关键点检测模型对待测图像进行检测,以确定待测图像中文档的边缘关键点。
8.根据权利要求7所述的方法,在使用关键点检测模型进行检测之前,所述方法还包括:
在样本图像中文档的稠密轮廓点中确定四个样本角点,并根据四个样本角点将稠密轮廓点分隔为四条样本边的点集;
至少在四条样本边中曲线样本边的点集中,确定对曲线样本边的多个等分样本点;以及
使用带四个样本角点和多个等分样本点的样本图像对所述关键点检测模型进行训练。
9.一种用于对文档图像进行矫正的设备,包括,
处理器,其配置用于执行程序指令;
存储器,其配置用于存储所述程序指令,当所述程序指令由所述处理器执行时,使得所述设备执行根据权利要求1-8的任一项所述的方法。
10.一种计算机可读存储介质,其存储有程序指令,当所述程序指令由处理器加载并执行时,使得所述处理器执行根据权利要求1-8的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210788200.2A CN115082935A (zh) | 2022-07-04 | 2022-07-04 | 用于对文档图像进行矫正的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210788200.2A CN115082935A (zh) | 2022-07-04 | 2022-07-04 | 用于对文档图像进行矫正的方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115082935A true CN115082935A (zh) | 2022-09-20 |
Family
ID=83257671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210788200.2A Pending CN115082935A (zh) | 2022-07-04 | 2022-07-04 | 用于对文档图像进行矫正的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115082935A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116453131A (zh) * | 2023-06-15 | 2023-07-18 | 荣耀终端有限公司 | 文档图像矫正方法、电子设备及存储介质 |
CN116740720A (zh) * | 2023-08-14 | 2023-09-12 | 西交利物浦大学 | 基于关键点引导的拍照文档弯曲矫正方法及设备 |
-
2022
- 2022-07-04 CN CN202210788200.2A patent/CN115082935A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116453131A (zh) * | 2023-06-15 | 2023-07-18 | 荣耀终端有限公司 | 文档图像矫正方法、电子设备及存储介质 |
CN116453131B (zh) * | 2023-06-15 | 2023-10-20 | 荣耀终端有限公司 | 文档图像矫正方法、电子设备及存储介质 |
CN116740720A (zh) * | 2023-08-14 | 2023-09-12 | 西交利物浦大学 | 基于关键点引导的拍照文档弯曲矫正方法及设备 |
CN116740720B (zh) * | 2023-08-14 | 2023-10-27 | 西交利物浦大学 | 基于关键点引导的拍照文档弯曲矫正方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112348815B (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
CN108304835B (zh) | 文字检测方法和装置 | |
RU2699687C1 (ru) | Обнаружение текстовых полей с использованием нейронных сетей | |
AU2006252025B2 (en) | Recognition of parameterised shapes from document images | |
CN110796031A (zh) | 基于人工智能的表格识别方法、装置及电子设备 | |
US10289924B2 (en) | System and method for scanned document correction | |
US20160328601A1 (en) | Three-dimensional facial recognition method and system | |
CN115082935A (zh) | 用于对文档图像进行矫正的方法、设备及存储介质 | |
KR20020018936A (ko) | 왜곡 보정 방식 | |
CN113065536B (zh) | 处理表格的方法、计算设备和计算机可读存储介质 | |
US10977511B2 (en) | Optical character recognition of series of images | |
CN110991258B (zh) | 一种人脸融合特征提取方法及系统 | |
US11651604B2 (en) | Word recognition method, apparatus and storage medium | |
CN111104941B (zh) | 图像方向纠正方法、装置及电子设备 | |
CN113436222A (zh) | 图像处理方法、图像处理装置、电子设备及存储介质 | |
CN114742722A (zh) | 文档矫正方法、装置、电子设备及存储介质 | |
CN115131803A (zh) | 文档字号的识别方法、装置、计算机设备和存储介质 | |
CN108241861A (zh) | 一种数据可视化方法及设备 | |
US11699294B2 (en) | Optical character recognition of documents having non-coplanar regions | |
CN116798041A (zh) | 图像识别方法、装置和电子设备 | |
JP2002150280A (ja) | 歪み補正方式 | |
CN112348069B (zh) | 数据增强方法、装置、计算机可读存储介质及终端设备 | |
CN114241486A (zh) | 一种提高识别试卷学生信息准确率的方法 | |
CN112785529A (zh) | 模板图像匹配矫正方法 | |
CN102938156B (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 |