一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种表格检测与识别方法和介质与流程

2021-11-26 23:44:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体地,涉及一种表格检测与识别方法和介质,更为具体的,涉及一种基于富文本格式的表格检测与识别方法、装置、设备和介质。


背景技术:

2.文档图像表格检测是一种从文档图像中检测出所有表格的任务。图像表格识别所指的是从每个检测到的表格里面检测和识别出所有单元格的文字内容。可选地可以利用所提取所有或者部分感兴趣的表格单元格内包含的信息,根据要求完成各种不同应用的任务。比如,根据购物清单表格里面的付款方、付款日期、收款方、付款金额等信息,按照一定的数据结构将信息保存起来,以备后续的检索、分析、统计和数据挖掘等任务。在大量的金融、商务、政务和医疗等相关业务的文档图像中都存在表格,并且需要提取关键的信息甚至重构表格。本专利所提出的技术具有非常广泛的应用前景和极大的商业价值。
3.文档图像表格检测的关键也是主要的技术难点是从文档中找到表格并且准确定位表格的边界;而文档图像表格识别的关键是确定表格的结构和提取出表格内文字字段信息,包括确定所需要的文字字段在表格中所处位置,并将定位好的文字字段识别出来。
4.目前文档图像中表格检测与识别的技术,主要是采用基于表格线的方法。基于表格线的表格检测方法,首先检测文档图像图片中的横线和竖线,作为表格边界框的候选表格线,然后利用检测到的文档图片中的直线及其空间关系,确定候选的表格区域。对于候选的表格,按照相应的表格区域从整体图片中截取出表格图片。理解表格结构并识别表格内文字字段信息,基于表格线的传统方法,将检测表格线,并根据检测到的表格线,分割出相应的单元格,然后对单元格中的文字进行识别。基于表格线的传统方法,对于表格检测和表格识别任务,都存在一个很大的问题:有些表格所有或者部分表格线并不存在,或者由于打印或者扫描等原因使得表格线残缺或者模糊不清,导致基于表格线的传统方法不能准确、有效地提取表格和表格单元。另外现有的线检测技术对倾斜图像的处理效果不好,准确率低。
5.近几年来信息处理技术,尤其是深度学习技术发展速度很快,在目标检测、自然语言处理文字检测和识别等应用的性能得到极大提高,帮助实现多种场景应用的落地。本专利将利用深度学习技术检测表格和表列名区域,并检测和识别表格内的文字,利用检测到的文字确定表格的结构并重构表格,实现高效准确的表格检测和识别,促进电子文档办公自动化和智能化的发展。


技术实现要素:

6.针对现有技术中的缺陷,本发明的目的是提供一种表格检测与识别方法和介质。
7.根据本发明提供的一种表格检测与识别方法,包括:
8.表格信息提取步骤:对单张图像进行设定区域的识别检测,获取各个区域范围后,形成第一输出数据;
9.所述设定区域包括第一区域、第二区域以及第三区域这三者中的任一种或任多种组合;所述第一区域包括表格区域;所述第二区域包括表名称区域和/或表标题区域;所述第三区域包括表列名区域和/或表内容区域;
10.所述第一输出数据包括第一区域、第二区域以及第三区域中的任一种或任多种区域的位置参数;所述位置参数包括区域的顶点坐标或者能够通过变换得到顶点坐标的信息。
11.优选地,还包括表列名结构化步骤、文本字段列化处理步骤、文本字段行化处理步骤以及表格形成步骤;
12.表列名结构化步骤:针对表列名区域,获取列名字段的位置和内容,对表列名进行结构化识别,形成第二输出数据;
13.所述第二输出数据包括列信息,所述列信息包括列名字段的序号和列名称;
14.文本字段列化处理步骤:获取表格内容区域中每个文本字段的位置和内容,利用文本字段的x轴方向的坐标信息实现列化处理获取每个文本字段的列号信息,然后对每列的文本做行化,获取每列中文本字段之间的空间上的相对关系;
15.在文本字段列化处理步骤的结果的基础上,利用文本字段的y轴坐标信息实现行化处理,获取文本字段的行号信息;
16.表格形成步骤:将表内容区域的列内容与表列名区域的列名称建立连接关系,输出表格结构信息;
17.所述结构信息包括文本字段对应的行号、列号以及列名称。
18.优选地,若待识别表格为有线表格,还包括表格线检测优化步骤和/或单元格合并优化步骤;若待识别表格为无线表格,则还包括单元格合并优化步骤;
19.表格线检测优化步骤:根据表格线检测的结果对行列化的结果进行校正优化处理;
20.单元格合并优化步骤:基于深度学习的单元格合并方法对行列化的结果进行校正优化处理。
21.优选地,所述表列名结构化步骤能够通过表格类别识别获取表列名结构,从而结合第二输出数据优化识别的准确率。
22.优选地,所述文本字段列化处理步骤和/或文本字段行化处理步骤中,采用链式相交的方法进行列化和/或行化。
23.优选地,所述文本字段行化处理步骤中,对每列中的文本字段按起始的y轴坐标排序,所有文本字段都标记为未分行,对所有未分行的文本字段采用链式相交方法,依次得到新的一行表格并将包含在新的表格行里面的所有文本字段都标记为已分行,重复处理直至所有字段均被标记为已分行。
24.优选地,所述文本字段列化处理步骤中,根据文本识别内容进行数据类型进行分类后,分别进行列化处理;
25.所述数据类型包括数字、文字、符号、图形中的任一种或任多种组合。
26.优选地,所述表列名结构化步骤具体采用深度学习方法、规则方法以及线检测方法、表类型识别中的任一种或任多种组合。
27.优选地,所述第一区域、第二区域以及第三区域具体通过如下方法中的任一种或
任多种组合获取:
[0028]-所述第一区域通过基于线检测的方法获取;
[0029]-所述第二区域通过基于匹配搜索的方法获取;
[0030]-所述第三区域通过基于关键字段内容搜索的方法获取;
[0031]-所述第一区域、第二区域以及第三区域采用同一种深度学习模型获取;
[0032]-所述第一区域、第二区域以及第三区域采用不同的深度模型分别获取。
[0033]
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的表格检测与识别方法的步骤。
[0034]
与现有技术相比,本发明具有如下的有益效果:
[0035]
1)本发明通过检测和利用表格中文字字段的方法来确定表格的结构,相比基于表格线的方法,可以提高理解表格结构的准确率和稳定性。
[0036]
2)本发明通过基于列化结果依次做行化的方法,以及链式相交方法,可以适应角度倾斜表格,目前绝大部分方法对倾斜表格准确率低。
[0037]
3)本发明通过基于文本类型分别列化的方法,可以适用于更大的角度倾斜表格。
[0038]
4)本发明能同时适应无线表格、不完整线表格、有线表格而且抗旋转的图像表格识别方法。
附图说明
[0039]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0040]
图1为本发明提供的表格检测与识别方法的结构流程图。
[0041]
图2为本发明提供的具体实施例的待处理的原始图片。
[0042]
图3为本发明提供的具体实施例的定义的各位置区域示例图。
[0043]
图4为根据本发明方法得到的表格行列化结果示意图。
[0044]
图5为根据本发明方法得到的表格内容示意图。
具体实施方式
[0045]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0046]
基本实施例:
[0047]
如图1所示,本发明提供了一种表格识别方法,借助深度学习技术,检测表格区域、表格列名以及文字字段,然后利用检测到的文字字段信息以及表格列名信息识别表格的结构。先通过任意输入一张文档图像,可以包含一张或多张表格,利用预先训练的模型进行文字检测和识别。具体步骤如下:
[0048]
步骤1:对单张图像进行表区域检测,表名称及表列名区域(表头区域)检测,分别获取表区域范围,表名称区域范围,表列名区域范围,进一步得到表内容区域范围和表信息提取区域范围,其中:表内容区域范围是指不包含表列名区域的表格区域范围,表信息提取
区域范围为表名称区域范围连通到表区域范围的区域范围,具体参见图3。
[0049]
根据检测到的范围输出位置信息,包括图像中每个表格的区域位置、表名称的区域位置、表列名区域位置、表内容区域位置以及表信息提取区域位置,其中所有的区域位置均能够通过四个顶点坐标或者区域中心点及长宽值确定,例如:通过区域中心点以及长宽值可以计算得到表格的四个顶点的坐标。
[0050]
其中:表区域范围/表列名区域范围/表名称可以通过同一个深度学习模型来获取,也可以分别用不同的深度学习模型来获取,表区域范围也可以用基于线检测的方法来获取;表列名区域也可以基于关键字段内容搜索或者其它方法获取;表名称也可以基于匹配搜索方法获取等。其中,本领域技术人员能够基于现有技术中的深度学习文字识别技术实现文字字段检测与识别。
[0051]
步骤2:表列名结构化。从表列名区域范围获取列名字段的位置和内容,对表列名进行结构化识别,获取列信息。具体的,列信息包括列名字段的序号以及列名称等。考虑到表列名内容复杂,通常会存在合并单元格的情况,因此每列的列名称还包含列名字段以及列名字段之间的关系。
[0052]
进一步的,在某些专用应用场景如财务报表识别,可以通过表格类别识别获取表列名结构,可结合提高列名结构化识别的准确率。表列名结构化方法可以是深度学习方法,或者规则方法,或者线检测结果等等,也可以是几者结合。
[0053]
优选例:
[0054]
采用深度学习方法实现单元格合并的方法的基本操作如下:
[0055]
以列化结果为基础,将每列中文本字段从上往下,从左往右顺序构成一个文本内容序列,如果有n列,生成n个文本序列,并且根据文本字段检测结果在每个文本序列中添加文本字段起始符号,换行符号;另外根据每个文本字段对应的位置生成n个位置序列,每次输入一列或多列的文本序列和位置序列,通过双向bilstm lstm深度学习模型输出文本合并信息,需合并在一起的文本将做为一个单元格的合并内容。
[0056]
采用规则方法实现表列名结构化的基本操作如下:
[0057]
1)先将表列名区域的字段行化
[0058]
2)从最后一行开始往上逐行列化,过程包括:
[0059]
a)取最后一行未被处理的字段做列化,记录每列的文本内容及列号,作为当前列化结果。
[0060]
b)往上加入一行新的字段与当前列化结果再做一次列化,如果新加入的某个字段使原有的两列或者多个列发生合并,则将该字段记为合并字段分别放入引起合并的所有列的内容中,不改变原来列的合并。其它情况则采用新的列化结果作为当前结果。重复该步骤直到所有字段参与结束。
[0061]
步骤3:文本字段列化处理。获取表格内容区域中每个文本字段的位置信息,利用文本字段的x轴坐标范围实现列化,例如采用链式相交方式,然后对每列的文本做行化,按位置从上往下,从左往右排列,获取每列中文本字段之间的上下左右相对关系。
[0062]
可选的,如果图像倾斜角度较大,可以根据文本识别内容进行数据类型分类(日期,数字,金额,汉字,西文、混合等),按数据类型分别列化。
[0063]
下面以文本字段列化为例,解释链式相交:
[0064]
假设有na个文本字段,
[0065]
步骤1:根据文本字段的起始x坐标数值大小对文本字段进行排序,每个字段得到一个排序的序号(序号取值范围[1,na])。
[0066]
步骤2:假设当前处理的列号为j即第j列,已完成n个文本字段的分列计算,其中1≤n<na,第j列中包含有k个文本字段其中1≤k≤n,则第j列中包含有序号范围为[n-k 1,n]的文本字段,则未分列字段的序号范围为[n 1,na]。
[0067]
步骤3:计算当前列即第j列中的文本字段在x方向的覆盖范围w_x,计算w_x与序号最小的未分列文本字段在x方向的相交比例,如果相交比例小于等于给定阈值,则将该序号最小的未分列文本字段加入当前列中。否则增加一个新列为当前列,列号增加1,最小的未分列文本字段序号加1。重复步骤3,直到所有文本字段被分入到列中。
[0068]
其中w_x可以是当前列中的最长字段的x坐标范围,或者当前列序号最大的字段的x坐标范围,或者当前列中所有字段的x坐标范围的并集。
[0069]
利用链式相交做行化与列化相似,对于给定的文本字段及位置信息,根据文本字段的y坐标数值大小排序,后面步骤与列化过程的处理步骤一样。
[0070]
步骤4:对所有的文本字段做行化处理。根据步骤3得到的列化结果,从每列中取出前n行未被行化的文字字段一起在y轴方向做链式相交进行行化,每次只行化一行,排除行化好的字段,再重复上述操作继续行化。其中n>=1。
[0071]
步骤5:优化处理。可选的,如果有线表格,可以根据线检测的结果对行列化的结果进行校正处理。可以基于深度学习的单元格合并方法做进一步的优化。
[0072]
步骤6:将表内容的列与表列名区域的列名称建立连接关系。
[0073]
步骤7:输出文本字段对应的行与列号,以及对应的列名称等结构信息。
[0074]
步骤8:根据识别的文字字段的内容和步骤7所得的文本字段行列号信息以及表列名信息,可以重构表格。图3给出一个表格的表列名结构化、文本字段列化和行化,以及表格重构的示例。本领域技术人员可以理解到,基于本发明的构思,附图3中的表名称区域内容在变化例中可以替换为表标题区域内容。
[0075]
具体实例介绍如图2至图5所示,图2给出一份待检测的原始文档图像表格,图3显示各表格区域的位置范围。经过文字检测和列化/行化处理之后,得到各个文字字段对应的单元格的行号与列号,如图4所示。图4中每个字段对应的定位框里面,使用了一个4维数字表示该文字字段的行列号信息,4个数字的含义依次为:起始行,结束行,起始列,结束列。第一行仅有一个文字字段,相应的4个数字是0,0,3,4,代表的含义是该文字字段对应第1行(行号和列号从0开始计数),跨越第4列和第5列。根据识别的文字字段的内容和图4得到的文字字段的行列号信息,可以将识别的文字内容放置到重构的表格内,如图5所示。
[0076]
在本技术的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
[0077]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微
控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0078]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献