CN114004204B - 基于计算机视觉的表格结构重建与文字提取方法和系统 - Google Patents
基于计算机视觉的表格结构重建与文字提取方法和系统 Download PDFInfo
- Publication number
- CN114004204B CN114004204B CN202111263283.5A CN202111263283A CN114004204B CN 114004204 B CN114004204 B CN 114004204B CN 202111263283 A CN202111263283 A CN 202111263283A CN 114004204 B CN114004204 B CN 114004204B
- Authority
- CN
- China
- Prior art keywords
- text
- lines
- inner frame
- longitudinal
- module
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Character Input (AREA)
Abstract
本发明提供了一种基于计算机视觉的表格结构重建与文字提取方法和系统,包括:步骤1:通过神经网络在PDF文档中识别并定位表格,得到表格所在的外框区域;步骤2:对PDF文档中的文字层进行解析,获取PDF文档中的文本间距;步骤3:根据框定的表格区域和本文间距,通过计算机视觉在表格区域内重建表格内框线结构;步骤4:根据表格内框线结构,从PDF文档中同位置处抽取文本信息;步骤5:根据表格内框线结构和对应文本信息,生成可编辑表格文件。本发明通过神经网络进行表格外框的识别,可以不通过人为给定表格外框区域,从而可以自动提取PDF文档中的所有表格,能够在无人监督的情况下批量提取大量PDF数据中的表格。
Description
技术领域
本发明涉及文档重建技术领域,具体地,涉及一种基于计算机视觉的表格结构重建与文字提取方法和系统。
背景技术
PDF(Portable Document Format)格式是一种用来保存、展示以及打印文档的格式,由Adobe开发,广泛地用在经济、金融、教育、科研及学术等各种领域。然而,由于PDF格式的设计目标仅仅是为了更好地展示和更精确地打印,对于有结构化的数据比如表格等,并没有去保存各个文本之间的关系。随着深度学习的不断发展,亟需更多地原始数据以供支持,此外文档重建本身对出版行业也是一种重要的任务。表格数据作为一种高度结构化地数据,有极大的信息价值。如何能快速、准确地提取各种PDF中存在的各种表格,是进行更高级任务的重要基础工作和前提。而目前的表格提取技术,存在着提取准确率不高,通用性不高,性能不高等问题。
专利文献CN106897690A(申请号:201710095978.4)公开了一种PDF表格提取方法,包含以下步骤:步骤A,对PDF文档进行解析,获取图像数据、第一线条数据和字符数据;步骤B,采用图像识别算法对经由步骤A获取的图像数据进行处理,从具有表格数据的图像数据中获得其表格数据对应的第二线条数据;步骤C,采用图形算法对经由步骤A获得的第一线条数据和经由步骤B获得的第二线条数据分别进行处理,获得具有表格行数据和列数据的表格框架数据;步骤D,采用聚类算法对经由步骤A获得的字符数据进行聚类处理,获得具有字符串集合的文本数据;步骤E,经由步骤C获得的表格框架数据中的表格行数据和列数据,得到对应的表格单元格,将表格单元格与步骤D获得的文本数据中的字符串集合相匹配,获得PDF文档中的表格数据。该方法对通用表格的识别性较差,不能对通用的表格进行识别。
专利文献CN110516208A(申请号:201910738531.3)公开了一种针对PDF文档的表格提取的系统,包括表格特征提取模块、表格定位模块、表格内部结构解析模块;一种针对PDF文档的表格提取的方法,包括:S1、表格特征提取;S2、表格定位;S3、表格内部结构解析;最终表格被划分成了二维网格的结构,对于得到的二维网格化的表格,可以知道每个单元格的位置及大小,将表格使用HTML格式进行输出。本发明考虑了缺省线条以及底色区分单元格等特殊表格形式,能够对PDF表格数据进行高准确率的提取。该发明未考虑PDF中是图片表格的情况,通用性一般。
专利文献CN105988979A(申请号:201510083646.5)提供了一种基于PDF文件的表格提取方法和装置,通过解析获得PDF文件中的各文字的文字信息和各线条的线条信息之后,根据线条位置信息对从该PDF文件的同一页中所提取的横向线条进行排序,并判断两相邻横向线条是否处于该页的同一表格中,根据线条信息对处于该页的同一表格中的各横向线条进行表格绘制,以及在绘制的表格中,根据线条信息对从所述页中所提取的各纵向线条进行填充,最后在绘制的表格中,根据各文字的文字信息,将文字信息中的文字字符信息填充在横向线条和纵向线条所构成的单元格中与文字位置信息相对应的位置。由于考虑了表格的横向线条和纵向线条的信息,从而提高了从PDF文件中提取表格的准确度。该发明同样未考虑PDF中是图片表格的情况,通用性一般。
专利文献CN109635268A(申请号:CN201811630768.1)公开了一种PDF文件中表格信息的提取方法,包括:读取PDF文件;解析PDF文件的属性;找到并整理页面内所有横线以及竖线的集合;判断当前页面的横竖线集合能否组成完整的表格边框,若能则按照有边框表格处理,反之则按照无边框表格处理;得到表格的行列以及单元格的元信息;判断是否为跨页表格,如果是跨页表格则合并跨页表格;若不是跨页表格则直接存储表格;存储表格的行列信息,以及所在的页和页面内位置等提取得到的信息。该发明未考虑PDF中是图片表格的情况,通用性一般。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于计算机视觉的表格结构重建与文字提取方法和系统。
根据本发明提供的基于计算机视觉的表格结构重建与文字提取方法,包括:
步骤1:通过神经网络在PDF文档中识别并定位表格,得到表格所在的外框区域;
步骤2:对PDF文档中的文字层进行解析,获取PDF文档中的文本间距;
步骤3:根据框定的表格区域和本文间距,通过计算机视觉在表格区域内重建表格内框线结构;
步骤4:根据表格内框线结构,从PDF文档中同位置处抽取文本信息;
步骤5:根据表格内框线结构和对应文本信息,生成可编辑表格文件。
优选的,所述步骤1包括:
步骤1.1:训练并配置表格检测神经网络;
步骤1.2:将含有表格目标的PDF文档的每页转成图片,将每张图片输入表格检测神经网络,若存在表格目标,则返回表格目标所在的PDF文档页数和表格外框位于PDF文档所在页的相对位置。
优选的,所述步骤2包括:
步骤2.1:判断表格所在的PDF页是否含有文字层;
步骤2.2:若没有文字层,则通过光学字符识别技术将该页嵌入文字层,嵌入文字的位置在图片中文字的相应位置上;
步骤2.3:统计PDF文档中所有文字的大小,将文字的宽度平均值作为文本间距的估计值。
优选的,所述步骤3包括:
步骤3.1:根据表格外框区域和表格所在PDF页,将表格以图片形式截取出来;
步骤3.2:对截取出的图片进行预处理,所述预处理包括阈值处理和形态学处理,去除表格中除文字和框线以外的噪点;
步骤3.3:对表格进行竖线检测,若竖线像素超出预设值,则表明表格中含有框线并执行步骤3.4,否则执行步骤3.5;
步骤3.4:对有框线的表格重建表格结构,提取表格的所有竖线和横线,获取竖线和横线的交集点集合,在去除冗余的点后,形成表格的内框交点集合;根据得到的交点集合,判断相邻点之间是否形成表格内框线,若是则将两点相连形成边;根据点和边形成有框线表格的表格结构;
步骤3.5:对图片进行预处理,去除图片中长度超出预设阈值的横线和竖线,并将图片进行阈值处理,使得空白位置的像素值为0,含有文字的像素值为255;对图片进行行扫描,若扫描到某一行的像素值之和为0,则该行为横向的表格内框线,表格内框线位置为所有连续像素值和为0的行的中间位置,两个相邻横向内框线内部为表格中的一行;在相邻两个横内向框线间进行纵向扫描,将每列的像素值求和,若有连续超过文本间距数量的纵向像素和为0,则标记纵线扫描过的区域为空白区域,否则标记为有文字区域,从而获得每行有或没有文字区域的坐标集合;从上至下,从左到右合并各行间相互联通且能被一条纵线全部贯穿的空白区域,形成空白块,记录每个空白块的高度,去除所有高度为1行的空白块;遍历所有贯穿空白块的纵线,记录这条纵线穿过的所有空白块的总高度;最终将穿过空白块的高度总和最大的纵线作为一条表格纵向内框线,并将该线穿过的空白块设为已穿过;选择能穿过其他未穿过空白块的高度总和最大的纵线作为另一条表格纵向框线,并记录其穿过的空白块为已穿过,最终不断得到纵线,直到所有空白块都被穿过;根据得到的横向内框线和纵向内框线建立表格的最小单元格,扫描每个单元格的纵线是否经过有文字的区域,如有则删除该小段纵线,并进行表格左右单元格合并,最终形成合并单元格后的表格内框线结构。
优选的,所述步骤4包括:根据重建得到的表格内框线结构,得到各个单元格在PDF文档中的矩形框坐标,从含有文字层的PDF文档中抽取同位置区域内的文字信息,经过去除空格调整,得到表格单元格的内容;
所述步骤5包括:根据所有表格内框线和对应表格单元格的内容,建立Excel表格,并保存合并单元格信息。
根据本发明提供的基于计算机视觉的表格结构重建与文字提取系统,包括:
模块M1:通过神经网络在PDF文档中识别并定位表格,得到表格所在的外框区域;
模块M2:对PDF文档中的文字层进行解析,获取PDF文档中的文本间距;
模块M3:根据框定的表格区域和本文间距,通过计算机视觉在表格区域内重建表格内框线结构;
模块M4:根据表格内框线结构,从PDF文档中同位置处抽取文本信息;
模块M5:根据表格内框线结构和对应文本信息,生成可编辑表格文件。
优选的,所述模块M1包括:
模块M1.1:训练并配置表格检测神经网络;
模块M1.2:将含有表格目标的PDF文档的每页转成图片,将每张图片输入表格检测神经网络,若存在表格目标,则返回表格目标所在的PDF文档页数和表格外框位于PDF文档所在页的相对位置。
优选的,所述模块M2包括:
模块M2.1:判断表格所在的PDF页是否含有文字层;
模块M2.2:若没有文字层,则通过光学字符识别技术将该页嵌入文字层,嵌入文字的位置在图片中文字的相应位置上;
模块M2.3:统计PDF文档中所有文字的大小,将文字的宽度平均值作为文本间距的估计值。
优选的,所述模块M3包括:
模块M3.1:根据表格外框区域和表格所在PDF页,将表格以图片形式截取出来;
模块M3.2:对截取出的图片进行预处理,所述预处理包括阈值处理和形态学处理,去除表格中除文字和框线以外的噪点;
模块M3.3:对表格进行竖线检测,若竖线像素超出预设值,则表明表格中含有框线并调用模块M3.4,否则调用模块M3.5;
模块M3.4:对有框线的表格重建表格结构,提取表格的所有竖线和横线,获取竖线和横线的交集点集合,在去除冗余的点后,形成表格的内框交点集合;根据得到的交点集合,判断相邻点之间是否形成表格内框线,若是则将两点相连形成边;根据点和边形成有框线表格的表格结构;
模块M3.5:对图片进行预处理,去除图片中长度超出预设阈值的横线和竖线,并将图片进行阈值处理,使得空白位置的像素值为0,含有文字的像素值为255;对图片进行行扫描,若扫描到某一行的像素值之和为0,则该行为横向的表格内框线,表格内框线位置为所有连续像素值和为0的行的中间位置,两个相邻横向内框线内部为表格中的一行;在相邻两个横内向框线间进行纵向扫描,将每列的像素值求和,若有连续超过文本间距数量的纵向像素和为0,则标记纵线扫描过的区域为空白区域,否则标记为有文字区域,从而获得每行有或没有文字区域的坐标集合;从上至下,从左到右合并各行间相互联通且能被一条纵线全部贯穿的空白区域,形成空白块,记录每个空白块的高度,去除所有高度为1行的空白块;遍历所有贯穿空白块的纵线,记录这条纵线穿过的所有空白块的总高度;最终将穿过空白块的高度总和最大的纵线作为一条表格纵向内框线,并将该线穿过的空白块设为已穿过;选择能穿过其他未穿过空白块的高度总和最大的纵线作为另一条表格纵向框线,并记录其穿过的空白块为已穿过,最终不断得到纵线,直到所有空白块都被穿过;根据得到的横向内框线和纵向内框线建立表格的最小单元格,扫描每个单元格的纵线是否经过有文字的区域,如有则删除该小段纵线,并进行表格左右单元格合并,最终形成合并单元格后的表格内框线结构。
优选的,所述模块M4包括:根据重建得到的表格内框线结构,得到各个单元格在PDF文档中的矩形框坐标,从含有文字层的PDF文档中抽取同位置区域内的文字信息,经过去除空格调整,得到表格单元格的内容;
所述模块M5包括:根据所有表格内框线和对应表格单元格的内容,建立Excel表格,并保存合并单元格信息。
与现有技术相比,本发明具有如下的有益效果:
(1)本发明通过神经网络进行表格外框的识别,可以不通过人为给定表格外框区域,从而可以自动提取PDF中的所有表格,能够在无人监督的情况下批量提取大量PDF数据中的表格;
(2)本发明通过OCR技术为没有文字层的表格添加了一层文字层,可以兼容识别图片类型的PDF中的表格,通用性更强;
(3)本发明将表格分为了有框线和无框线的表格,对两者有不同的识别算法,使得表格结构重建的准确度更加高;
(4)本发明在通过解析PDF数据算得文本间距,用以辅助重建表格内框线结构,使得表格结构重建更加准确;
(5)本发明通过合理设定内框线识别时从PDF中截取出来用以处理的图片的大小,使得识别速度和精度取得平衡。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明方法流程图;
图2为表格检测网络检测PDF在某页中的表格外框示例图;
图3为从原始PDF中截取出的表格示例图;
图4为有框线表格中的横向框线图;
图5为有框线表格中的纵向框线图;
图6为横轴框线交点的示意图;
图7为有框线表格生成的内框线结构线示意图;
图8为判定为无框线表格,经过去除框线,并强化处理后得到的表格图;
图9为经M3.5.3后得到的横向框线以及区域集合示例图;
图10为经M3.5.5得到的所有纵向内框线示例图;
图11为经M3.5.6删除合并单元格内的纵线后得到表格内框线结构示例图;
图12为有框线表格将所有位于单元格区域内的字符都归为该表格单元的内容图;
图13为无框线表格将所有位于单元格区域内的字符都归为该表格单元的内容图;
图14为无框线表格最终得到的可编辑excel文件图;
图15为有框线表格最终得到的可编辑excel文件图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
根据本发明提供的一种基于计算机视觉的PDF内表格结构重建和文字提取方法,如图1所示,包括如下步骤:
步骤1:通过神经网络在PDF中识别并定位表格,得到表格所在的外框区域;步骤2:判断PDF是否含有文字层,若没有则通过OCR技术将PDF嵌入一层文字层,经过解析PDF,自动获取PDF中的文本间距;步骤3:根据前一步所框定的表格区域以及本文间距,基于计算机视觉的方法,在表格区域内绘制表格内框线,重建表格结构;步骤4:根据M3步骤中重建得到的表格内框线结构,从PDF中同位置处抽取文字信息,得到表格的内容;步骤5:由表格内框线结构以及对应的文本信息,自动生成可编辑的表格文件。
步骤1包括:训练并配置一个表格检测神经网络,对含有表格目标的PDF预处理,将其每页转成图片,每张图片输入神经网络用来检测是否存在表格,若存在,则返回表格所在的PDF页面以及表格所在PDF页位置的相对坐标。具体的:
步骤1.1:本发制作了自己的表格数据集,训练了针对表格的目标检测神经网络。向神经网络输入图片数据,将返回识别结果;
步骤1.2:将含有表格目标的PDF页面转成图片输入神经网络,神经网络经过检测返回表格外框所在的PDF页面的位置。一页可能含有多个表格,如图2。
其返回的结果是一个列表形式。格式如下:
[
[表格所在页,[左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标]
[表格所在页,[左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标]
......
]
其中描述表格外框的四个坐标是相对于该页长和宽的比例。是一个0到1之间的浮点数。
步骤2包括:判断PDF是否含有文字层,若没有就通过OCR技术将PDF嵌入一层文字层。并且自动获取PDF中的文本间距。具体地:
步骤2.1:先通过PDFMiner中PDF2txt模块将目标表格对应PDF页面转转换为xml格式,该文件包含了所有PDF中的文字信息。通过正则表达式提取所有文本字符;
步骤2.2:若前一步返回的结果为空,那么说明该PDF是图片形式的PDF。此时,通过给PDF添加一层文字层。之后所有对PDF的操作都建立在有文字层的PDF上;
步骤2.3:通过正则表达式提取所有文字的位置信息。将所有文字的水平坐标的差值作相减处理,取平均值,并乘以一个经验性数值作为文字间距的估计值。
Word Gap(文字间距)=1.3*Mean(字符右下顶点横坐标-字符左下顶点横坐标)
步骤3包括根据前一步所框定的表格区域,基于计算机视觉的方法,在表格区域内重新绘制表格内框线,重建表格结构。具体地:
步骤3.1:根据表格外框区域以及表格所在PDF的页面,从PDF中将截取出来指定的表格区域。本发明为了平衡后续识别表格内框线时的速度以及准确度,经验性设置截取出来的图片,必须满足长和宽中最小的那个大于等于1700像素。由于大部分PDF是以矢量记录的,所以缩放性地截取PDF中的内容不会损失精度,如图3;
步骤3.2:对截取出来的图片进行预处理。因为表格重构不需要彩色图片。将图片由RBG三个通道转换为单通道的灰度模式以加快处理速度。像素值的取值范围为0-255。进行阈值与反色处理,设定像素值大于200的像素点的像素值为0,否则设为255;
步骤3.3:对图像进行竖线检测,以判断表格是否是有框线的表格。首先取高度为40像素,宽度为1像素的矩形作为卷积核。对上一步得到的图像按照核进行先腐蚀后膨胀的形态学处理。得到所有长度大于40像素的竖线。统计这些竖线的长度,若总长度超过按经验设定的1000像素。则判定该表格是含框线的表格。从而转到步骤3.4.1;否则则认为表格无框线,转到步骤3.5.1。
步骤3.4.1:对含有框线的表格进行内框线结构的重建。通过设置高度为40像素,宽度为1像素的卷积核,高度为40,对步骤3.2中得到的结果先腐蚀再膨胀得到所有竖线框线像素为255,其他像素为0的图片,如图5。同理设置宽度为40,高度为1像素的卷积核,得到所有横线框线像素为255的图片,如图4。取得所有在两张图中像素值都为255的点集合。将所有距离小于5(像素)的点归为一个点,直到集合中所有坐标之间的距离都大于5。
本发明中,点之间的距离由以下公式计算:D(X,Y)=sqrt((X1-Y1)^2+(X2-Y2)^2),其中X1、X2分别是点X的横纵坐标,Y1、Y2分别是点Y的横纵坐标。
去除所有孤立的点。本发明中,在点的横坐标或纵坐标的2像素范围内,没有其他点的,即该点不与其他点共享横纵坐标时,就认为该点是孤立点,删除它。设置所有共享横轴点的横坐标值为所有这些点横坐标的平均值,同理设置所有共享纵轴的点的纵坐标值为所有这些点纵坐标的平均值。
去除这些冗余坐标后,剩下的坐标可以认为是表格横竖内框线的交点,如图6。
步骤3.4.2:通过交点来重建表格内框线,排序上一步得到的交点的横轴和纵轴,得到所有横坐标集和纵坐标集。
遍历所有交点,判断其和相邻的交点是否有连接形成框线,方法是求和图中相邻交点间对应的直线的像素值,如果像素值的平均值大于200,则认定为存在框线。并记录所有的框线。
步骤3.4.3:通过记录得到的框线,最终可以得到所有表格单元格。排序并整合表格中的所有单元格,得到表格的内框线结构,如图7。
其中,表格内框线的数据结构定义如下:
TableStructure(表格内框线):
Outline:[float x1,float y1,float x2,float y2]代表表格外框在整个PDF页中的位置比例信息,各个坐标是属于0-1的浮点数;
Rows:List[float]:代表所有横线框线在表格区域内的位置比例信息;
Columns:List[float]:代表所有纵向框线在表格区域内的位置比例信息;
Units:List[Unit]是表格单元格的列表;
其中Unit的定义如下:
Unit(单元格):
Float X1:单元格左上角横坐标;
FloatY1:单元格左上角纵坐标;
Float X2:单元格右下角横坐标;
FloatY2:单元格右下角纵坐标;
Int RowId:单元格区域左上角横坐标在Rows中的下标序号;
Int ColId:单元格区域左上角纵坐标在Columns中的下标序号;
Int MergeRow:单元格的合并高度;
Int MergeCol:单元格的合并宽度;
Boolean Type:单元格是否含有文本。
步骤3.5.1:再次处理由步骤3.2得到的图片。通过设置高度为40像素,宽度为1像素的卷积核,高度为40,对步骤3.2中得到的结果先腐蚀再膨胀得到所有竖线框线像素为255,其他像素为0的图片。步骤3.2得到的图与该图同位置像素相减,得到去除竖线像素的图。同理,去除横线像素。最终得到的图去除了框线。再对该图进行卷积核为3*3的先腐蚀后膨胀处理以使得本文像素之间相关靠近联结,最后进行中值滤波处理,如图8。
步骤3.5.2:对上一步的图片由上自下进行横向扫描,对每行进行像素值的求和。若像素值之和为0,认为找到一条横向的表格内框线,将横向内框线的位置设为所有像素值和为0的连续行的中间位置。最终得到所有横向内框线。两个相邻横向内框线内部就是表格中的一行。
步骤3.5.3:对图片的每行进行纵向扫描,求和该行到下一行的所有像素值。若连续有超过文本间距数量的像素和为0的纵线,则标记该区域行为空白区域。否则标记为有文字区域。从而获得每行有或没有文字的区域集合,如图9。
步骤3.5.4:合并各行之间相互联通的空白区域形成空白块,统计空白块的高度,并去除所有高度为1行的空白块。
步骤3.5.5:纵向扫描,寻找穿过空白块总高度最大的纵线,这样的纵线就是一条纵向内框线。令之后的寻找到纵线不经过已被扫描过的空白块区域,再次寻找纵线,直到没有空白块可以扫描到。最后得到的所有纵线就是表格的所有纵向内框线,如图10。
步骤3.5.6:根据得到的横线内框线和纵向内框线建立表格的最小单元格。扫描每个单元格的纵线是否经过有文字的区域,如有则删除这条纵线,代表表格发生了合并操作。删除首行首列为空的多余表格内框线,最终形成合并单元格后的表格内框线结构。单元格结构定义以及表格内框线结构定义与步骤3.4.3中的定义相同,如图11。
步骤4包括根据前一步重建得到的表格内框线结构,从PDF相同位置处提取每个单元格的文字信息,最终得到每个单元格对应的内容。具体地:
通过PDFMiner提取PDF指定页面的信息,输出为XML格式,包含了每个字符的位置信息。通过正则表达式获取每个字符的位置信息,得到每个字符的文本以及位置信息,格式为[左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标,字符]的形式,例如[100.1,100.2,120.3,130.4,“表”]。将这些字符的信息形成一个列表,并将这些字符位置所描述的框原地缩小50%,以免后续提取文字时,因为误差出现的漏提操作。
遍历内框线结构的每个单元格,得到各个单元格所在PDF中的位置信息。将所有位于该单元格区域内的字符都归为该单元格的内容。从而得到所有表格单元格对应的文本信息,如图12和图13。
步骤5包括根据表格内框线结构以及对应的文本内容,建立Excel表格,并保存合并单元格信息。本步骤利用了xlwt模块,通过给定了单元格位置、合并、文本信息建立excel文件,如图14和图15。
首先,基于计算机视觉的PDF内表格结构重建和文本提取方法,提供了一种自动检测PDF内表格,并重建表格结构并提取表格内容生成excel文件的方法。本发明能够无监督地提取大量PDF数据中的表格。其次,本发明对有框线表格和无框线表格做了判别和区分,用两种不同办法重构内框线结构,还充分运用了文本间距这样的统计数据,使表格重建更加准确。最后,本发明采用了在PDF内抽取文本的技术,并通过ocr技术使非文本的PDF也支持这样的方式,使得文本提取的过程统一化,更有效率。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (6)
1.一种基于计算机视觉的表格结构重建与文字提取方法,其特征在于,包括:
步骤1:通过神经网络在PDF文档中识别并定位表格,得到表格所在的外框区域;
步骤2:对PDF文档中的文字层进行解析,获取PDF文档中的文本间距;
步骤3:根据框定的表格区域和本文间距,通过计算机视觉在表格区域内重建表格内框线结构;
步骤4:根据表格内框线结构,从PDF文档中同位置处抽取文本信息;
步骤5:根据表格内框线结构和对应文本信息,生成可编辑表格文件;
所述步骤2包括:
步骤2.1:判断表格所在的PDF页是否含有文字层;
步骤2.2:若没有文字层,则通过光学字符识别技术将该页嵌入文字层,嵌入文字的位置在图片中文字的相应位置上;
步骤2.3:统计PDF文档中所有文字的大小,将文字的宽度平均值作为文本间距的估计值;
所述步骤3包括:
步骤3.1:根据表格外框区域和表格所在PDF页,将表格以图片形式截取出来;
步骤3.2:对截取出的图片进行预处理,所述预处理包括阈值处理和形态学处理,去除表格中除文字和框线以外的噪点;
步骤3.3:对表格进行竖线检测,若竖线像素超出预设值,则表明表格中含有框线并执行步骤3.4,否则执行步骤3.5;
步骤3.4:对有框线的表格重建表格结构,提取表格的所有竖线和横线,获取竖线和横线的交集点集合,在去除冗余的点后,形成表格的内框交点集合;根据得到的交点集合,判断相邻点之间是否形成表格内框线,若是则将两点相连形成边;根据点和边形成有框线表格的表格结构;
步骤3.5:对图片进行预处理,去除图片中长度超出预设阈值的横线和竖线,并将图片进行阈值处理,使得空白位置的像素值为0,含有文字的像素值为255;对图片进行行扫描,若扫描到某一行的像素值之和为0,则该行为横向的表格内框线,表格内框线位置为所有连续像素值和为0的行的中间位置,两个相邻横向内框线内部为表格中的一行;在相邻两个横内向框线间进行纵向扫描,将每列的像素值求和,若有连续超过文本间距数量的纵向像素和为0,则标记纵线扫描过的区域为空白区域,否则标记为有文字区域,从而获得每行有或没有文字区域的坐标集合;从上至下,从左到右合并各行间相互联通且能被一条纵线全部贯穿的空白区域,形成空白块,记录每个空白块的高度,去除所有高度为1行的空白块;遍历所有贯穿空白块的纵线,记录这条纵线穿过的所有空白块的总高度;最终将穿过空白块的高度总和最大的纵线作为一条表格纵向内框线,并将该线穿过的空白块设为已穿过;选择能穿过其他未穿过空白块的高度总和最大的纵线作为另一条表格纵向框线,并记录其穿过的空白块为已穿过,最终不断得到纵线,直到所有空白块都被穿过;根据得到的横向内框线和纵向内框线建立表格的最小单元格,扫描每个单元格的纵线是否经过有文字的区域,如有则删除该纵线,并进行表格左右单元格合并,最终形成合并单元格后的表格内框线结构。
2.根据权利要求1所述的基于计算机视觉的表格结构重建与文字提取方法,其特征在于,所述步骤1包括:
步骤1.1:训练并配置表格检测神经网络;
步骤1.2:将含有表格目标的PDF文档的每页转成图片,将每张图片输入表格检测神经网络,若存在表格目标,则返回表格目标所在的PDF文档页数和表格外框位于PDF文档所在页的相对位置。
3.根据权利要求1所述的基于计算机视觉的表格结构重建与文字提取方法,其特征在于,所述步骤4包括:根据重建得到的表格内框线结构,得到各个单元格在PDF文档中的矩形框坐标,从含有文字层的PDF文档中抽取同位置区域内的文字信息,经过去除空格调整,得到表格单元格的内容;
所述步骤5包括:根据所有表格内框线和对应表格单元格的内容,建立Excel表格,并保存合并单元格信息。
4.一种基于计算机视觉的表格结构重建与文字提取系统,其特征在于,包括:
模块M1:通过神经网络在PDF文档中识别并定位表格,得到表格所在的外框区域;
模块M2:对PDF文档中的文字层进行解析,获取PDF文档中的文本间距;
模块M3:根据框定的表格区域和本文间距,通过计算机视觉在表格区域内重建表格内框线结构;
模块M4:根据表格内框线结构,从PDF文档中同位置处抽取文本信息;
模块M5:根据表格内框线结构和对应文本信息,生成可编辑表格文件;
所述模块M2包括:
模块M2.1:判断表格所在的PDF页是否含有文字层;
模块M2.2:若没有文字层,则通过光学字符识别技术将该页嵌入文字层,嵌入文字的位置在图片中文字的相应位置上;
模块M2.3:统计PDF文档中所有文字的大小,将文字的宽度平均值作为文本间距的估计值;
所述模块M3包括:
模块M3.1:根据表格外框区域和表格所在PDF页,将表格以图片形式截取出来;
模块M3.2:对截取出的图片进行预处理,所述预处理包括阈值处理和形态学处理,去除表格中除文字和框线以外的噪点;
模块M3.3:对表格进行竖线检测,若竖线像素超出预设值,则表明表格中含有框线并调用模块M3.4,否则调用模块M3.5;
模块M3.4:对有框线的表格重建表格结构,提取表格的所有竖线和横线,获取竖线和横线的交集点集合,在去除冗余的点后,形成表格的内框交点集合;根据得到的交点集合,判断相邻点之间是否形成表格内框线,若是则将两点相连形成边;根据点和边形成有框线表格的表格结构;
模块M3.5:对图片进行预处理,去除图片中长度超出预设阈值的横线和竖线,并将图片进行阈值处理,使得空白位置的像素值为0,含有文字的像素值为255;对图片进行行扫描,若扫描到某一行的像素值之和为0,则该行为横向的表格内框线,表格内框线位置为所有连续像素值和为0的行的中间位置,两个相邻横向内框线内部为表格中的一行;在相邻两个横内向框线间进行纵向扫描,将每列的像素值求和,若有连续超过文本间距数量的纵向像素和为0,则标记纵线扫描过的区域为空白区域,否则标记为有文字区域,从而获得每行有或没有文字区域的坐标集合;从上至下,从左到右合并各行间相互联通且能被一条纵线全部贯穿的空白区域,形成空白块,记录每个空白块的高度,去除所有高度为1行的空白块;遍历所有贯穿空白块的纵线,记录这条纵线穿过的所有空白块的总高度;最终将穿过空白块的高度总和最大的纵线作为一条表格纵向内框线,并将该线穿过的空白块设为已穿过;选择能穿过其他未穿过空白块的高度总和最大的纵线作为另一条表格纵向框线,并记录其穿过的空白块为已穿过,最终不断得到纵线,直到所有空白块都被穿过;根据得到的横向内框线和纵向内框线建立表格的最小单元格,扫描每个单元格的纵线是否经过有文字的区域,如有则删除该纵线,并进行表格左右单元格合并,最终形成合并单元格后的表格内框线结构。
5.根据权利要求4所述的基于计算机视觉的表格结构重建与文字提取系统,其特征在于,所述模块M1包括:
模块M1.1:训练并配置表格检测神经网络;
模块M1.2:将含有表格目标的PDF文档的每页转成图片,将每张图片输入表格检测神经网络,若存在表格目标,则返回表格目标所在的PDF文档页数和表格外框位于PDF文档所在页的相对位置。
6.根据权利要求4所述的基于计算机视觉的表格结构重建与文字提取系统,其特征在于,所述模块M4包括:根据重建得到的表格内框线结构,得到各个单元格在PDF文档中的矩形框坐标,从含有文字层的PDF文档中抽取同位置区域内的文字信息,经过去除空格调整,得到表格单元格的内容;
所述模块M5包括:根据所有表格内框线和对应表格单元格的内容,建立Excel表格,并保存合并单元格信息。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111263283.5A CN114004204B (zh) | 2021-10-28 | 2021-10-28 | 基于计算机视觉的表格结构重建与文字提取方法和系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111263283.5A CN114004204B (zh) | 2021-10-28 | 2021-10-28 | 基于计算机视觉的表格结构重建与文字提取方法和系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114004204A CN114004204A (zh) | 2022-02-01 |
| CN114004204B true CN114004204B (zh) | 2024-09-13 |
Family
ID=79924592
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111263283.5A Active CN114004204B (zh) | 2021-10-28 | 2021-10-28 | 基于计算机视觉的表格结构重建与文字提取方法和系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114004204B (zh) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115205876A (zh) * | 2022-02-18 | 2022-10-18 | 浪潮通用软件有限公司 | 一种表格识别的方法、系统、设备及可读介质 |
| CN114677683B (zh) * | 2022-04-06 | 2023-04-25 | 电子科技大学 | 应用于光通信激光器芯片显微字符识别的背景预处理方法 |
| CN115661848B (zh) * | 2022-07-11 | 2026-01-13 | 上海通办信息服务有限公司 | 一种基于深度学习的表格提取和识别方法及系统 |
| CN115620331A (zh) * | 2022-10-13 | 2023-01-17 | 北京中科凡语科技有限公司 | 基于ocr的图片缺线表格的重建方法、装置及存储介质 |
| CN115761773A (zh) * | 2022-11-17 | 2023-03-07 | 上海交通大学 | 基于深度学习的图像内表格识别方法及系统 |
| CN115759011A (zh) * | 2022-12-01 | 2023-03-07 | 北京信息科技大学 | 一种端到端的表格结构化数据抽取系统 |
| CN116311259B (zh) * | 2022-12-07 | 2024-03-12 | 中国矿业大学(北京) | 一种pdf业务文档的信息抽取方法 |
| CN115618836B (zh) * | 2022-12-15 | 2023-03-31 | 杭州恒生聚源信息技术有限公司 | 无线表格的结构还原方法、装置、计算机设备及存储介质 |
| CN116110064A (zh) * | 2023-01-30 | 2023-05-12 | 北京大数元科技发展有限公司 | 一种基于特定业务特征对表格图片结构化的方法和系统 |
| CN115909369B (zh) * | 2023-02-15 | 2023-06-06 | 南京信息工程大学 | 一种汉字字体二值化切片图像的提取方法及系统 |
| CN116758570A (zh) * | 2023-05-25 | 2023-09-15 | 中车青岛四方机车车辆股份有限公司 | 非结构文档识别方法及系统 |
| CN116994275A (zh) * | 2023-08-15 | 2023-11-03 | 北京东方龙马软件发展有限公司 | 一种提取文档扫描件中多类型表格的方法 |
| CN117275026B (zh) * | 2023-09-06 | 2025-10-17 | 武汉天恒信息技术有限公司 | 基于卷积神经网络的对投资金额类表格识别方法 |
| CN118522027B (zh) * | 2024-07-23 | 2024-10-29 | 杭州小曦智能科技有限公司 | 一种盲文文档表格识别方法及系统 |
| CN119992577B (zh) * | 2025-04-16 | 2025-09-30 | 国网上海市电力公司 | 电网工程图纸的结构化数据表格提取方法、系统和介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110134922A (zh) * | 2018-02-02 | 2019-08-16 | 鼎复数据科技(北京)有限公司 | 一种通过浏览器直接获取pdf中表格内容的方法 |
| CN112507876A (zh) * | 2020-12-07 | 2021-03-16 | 数地科技(北京)有限公司 | 一种基于语义分割的有线表格图片解析方法和装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5796392B2 (ja) * | 2011-07-29 | 2015-10-21 | ブラザー工業株式会社 | 画像処理装置、および、コンピュータプラグラム |
| CN113343815B (zh) * | 2021-05-31 | 2022-06-07 | 北森云计算有限公司 | 一种pdf等版式文档中识别表格的方法 |
-
2021
- 2021-10-28 CN CN202111263283.5A patent/CN114004204B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110134922A (zh) * | 2018-02-02 | 2019-08-16 | 鼎复数据科技(北京)有限公司 | 一种通过浏览器直接获取pdf中表格内容的方法 |
| CN112507876A (zh) * | 2020-12-07 | 2021-03-16 | 数地科技(北京)有限公司 | 一种基于语义分割的有线表格图片解析方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114004204A (zh) | 2022-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114004204B (zh) | 基于计算机视觉的表格结构重建与文字提取方法和系统 | |
| CN110516208B (zh) | 一种针对pdf文档表格提取的系统及方法 | |
| CN111814722B (zh) | 一种图像中的表格识别方法、装置、电子设备及存储介质 | |
| CN101453575B (zh) | 一种视频字幕信息提取方法 | |
| AU2009281901B2 (en) | Segmenting printed media pages into articles | |
| CN102567300B (zh) | 图片文档的处理方法及装置 | |
| US8000529B2 (en) | System and method for creating an editable template from a document image | |
| Shafait et al. | Performance comparison of six algorithms for page segmentation | |
| CN108171104A (zh) | 一种文字检测方法及装置 | |
| US6711292B2 (en) | Block selection of table features | |
| CN111753706B (zh) | 一种基于图像统计学的复杂表格交点聚类提取方法 | |
| CN114332866B (zh) | 一种基于图像处理的文献曲线分离与坐标信息提取方法 | |
| CN112883926B (zh) | 表格类医疗影像的识别方法及装置 | |
| CN115761773A (zh) | 基于深度学习的图像内表格识别方法及系统 | |
| CN114463767A (zh) | 信用证识别方法、装置、计算机设备和存储介质 | |
| CN111461133A (zh) | 快递面单品名识别方法、装置、设备及存储介质 | |
| CN111461126A (zh) | 文本行中的空格识别方法、装置、电子设备及存储介质 | |
| CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
| Das et al. | Seam carving, horizontal projection profile and contour tracing for line and word segmentation of language independent handwritten documents | |
| CN118799895B (zh) | 用于大模型知识增强的工业表格数据识别方法及程序产品 | |
| CN117275026B (zh) | 基于卷积神经网络的对投资金额类表格识别方法 | |
| CN118968533A (zh) | 一种基于深度学习的表格文本检测与识别方法及系统 | |
| CN106709437A (zh) | 一种改进的针对早期专利文档扫描件中图文信息的智能处理方法 | |
| CN118747902A (zh) | 基于ocr的表格文字识别方法及系统 | |
| JP4194309B2 (ja) | 文書方向推定方法および文書方向推定プログラム |
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 |