CN110516208B - 一种针对pdf文档表格提取的系统及方法 - Google Patents
一种针对pdf文档表格提取的系统及方法 Download PDFInfo
- Publication number
- CN110516208B CN110516208B CN201910738531.3A CN201910738531A CN110516208B CN 110516208 B CN110516208 B CN 110516208B CN 201910738531 A CN201910738531 A CN 201910738531A CN 110516208 B CN110516208 B CN 110516208B
- Authority
- CN
- China
- Prior art keywords
- lines
- module
- line
- cell
- cells
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Character Input (AREA)
Abstract
本发明公开一种针对PDF文档的表格提取的系统,包括表格特征提取模块、表格定位模块、表格内部结构解析模块;一种针对PDF文档的表格提取的方法,包括:S1、表格特征提取;S2、表格定位;S3、表格内部结构解析;最终表格被划分成了二维网格的结构,对于得到的二维网格化的表格,可以知道每个单元格的位置及大小,将表格使用HTML格式进行输出。本发明考虑了缺省线条以及底色区分单元格等特殊表格形式,能够对PDF表格数据进行高准确率的提取。
Description
技术领域
本发明涉及一种针对PDF文档表格提取的系统及方法,属于信息自动化提取技术领域。
背景技术
随着信息技术的发展以及互联网的普及,信息的交流与共享变得日益方便快捷,大量电子信息数据在互联网中传播,海量的信息数据中蕴藏着丰富的价值,人们也因此面临着“数据爆炸”而“信息缺乏”的问题。如何从这些庞大的电子数据中提取出有效的信息,是一个亟待解决的难题。因此,信息的自动化提取成为大势所趋。
表格提取是信息提取的一个子任务,其目的是理解表格的结构,进而提取表格中信息。由于表格形式的展示效果直观而清晰,所以通常表格存储着文档中经过人工筛选、精炼后的重要数据,是文档中最有价值的一个部分,因此表格提取任务至关重要。然而表格提取任务却并不简单,因为表格的形式多样,特殊情况尤为复杂,导致表格提取的精度往往难以满足人们的需求。
本发明聚焦于PDF(Portable Document Format)文档中的表格提取任务。由于PDF文档具有超强的跨平台性,PDF已经成为当前使用最广泛的电子文档格式之一。然而PDF文档内容的获取开放性却很低,不同于Word、Latex、HTML格式对表格数据有专门的定义或者标记,PDF文档受固有格式的限制,表格只是文字与线条的集合,部分底色区分单元格的表格还可能只是一些形状图片的集合,因此对于PDF文档的表格识别将是一个更大的挑战。
发明内容
本发明技术解决问题:针对PDF文档,由于其格式所限,对表格结构没有特殊的标记,并且表格形式多样,导致表格提取的精度难以满足人们的需求。本发明设计了一种PDF文档表格提取的系统及方法,能够高准确率地提取PDF表格数据,同时考虑了多种表格的形式,使方法的适用性更加广泛。
本发明技术解决方案:一种针对PDF文档的表格提取的系统,包括:表格特征提取模块、表格定位模块、表格内部结构解析模块。其中:
所述的表格特征提取模块:该模块用于提取PDF文档中线条信息;该模块具体包括文字提取子模块和线条提取子模块;
所述的表格定位模块:该模块用于通过外轮廓检测的方法定位表格区域;该模块具体包括基本表格定位子模块、缺省线条表格定位子模块及物体检测定位子模块;
所述的表格内部结构解析模块,该模块用于提取全部单元格、还原表格的内部结构,以及将表格划分成二维网格结构;该模块具体包括基本表格解析子模块、缺省线条表格解析子模块、单元格文字提取子模块、表格二维网格化子模块、表格输出子模块。
一种针对PDF文档的表格提取的方法,具体包括如下步骤:
S1、表格特征提取。考虑到表格存在通过底色区分单元格的形式,使用图像处理的方法提取PDF文档中的线条信息。首先将PDF文档中的文字数据删除,再将消除文字的PDF输出为图像。将图像灰度化、二值化、自适应二值化预处理后,构造水平侵蚀核与垂直侵蚀核,对图像进行先侵蚀后膨胀的组合操作,提取出包含水平与垂直线条的黑白图像,使用霍夫变换线条检测方法提取出全部线条。
S2、表格定位:使用在大型基于图像的表格数据集上训练的物体检测模型预测表格的粗略定位,再通过提取的线条信息,将线条的端点坐标作为表格的精确定位,将表格的外边框补齐,最终通过外轮廓检测的方法定位表格区域。
S3、表格内部结构解析:
S31、对于拥有完整线条的单元格,首先将表格特征提取部分经过水平侵蚀核与垂直侵蚀核腐蚀后膨胀的图像合并,还原表格的线条纵横交错的结构,由于图像处理部分存在着固有误差导致线条粗细不一,于是使用霍夫变换线条检测提取全部线条,将相邻线条合并,然后将处理后的线条重构在一张新的图像上,优化线条精细程度;最终使用内轮廓检测的方法,提取出单元格结构。
S32、对于缺省线条的表格,利用文字分布规律对表格进行二次划分:对于表格纵向切分,抽取表格区域内的全部文字,将文字投影在x轴上,在文字块间的大间隙除加入分割线;对于表格的横向切分,考虑到单元格内文字存在换行情况,对于文字行数大于一定阈值的单元格,按行进行横向划分。
最终表格被划分成了二维网格的结构,对于得到的二维网格化的表格,可以知道每个单元格的位置及大小,将表格使用HTML格式进行输出。
本发明一种针对PDF文档表格提取的系统及方法,其优点和功效在于:本发明考虑了缺省线条以及底色区分单元格等特殊表格形式,能够对PDF表格数据进行高准确率的提取。
附图说明
图1为本发明针对PDF文档表格提取的方法流程框图;
图2为本发明方法中线条提取流程框图
图3为本发明方法中表格定位流程框图;
图4为本发明方法中表格内部结构解析流程框图;
图5a、b为本发明实施例表格提取效果的展示。
具体实施方式
下面结合附图和实施例,对本发明的技术方案做进一步的说明。
一种针对PDF文档的表格提取的系统,包括:表格特征提取模块、表格定位模块、表格内部结构解析模块。其中:
所述的表格特征提取模块:该模块用于提取PDF文档中线条信息;该模块具体包括文字提取子模块和线条提取子模块;
所述的表格定位模块:该模块用于通过外轮廓检测的方法定位表格区域;该模块具体包括基本表格定位子模块、缺省线条表格定位子模块及物体检测定位子模块;
所述的表格内部结构解析模块,该模块用于提取全部单元格、还原表格的内部结构,以及将表格划分成二维网格结构;该模块具体包括基本表格解析子模块、缺省线条表格解析子模块、单元格文字提取子模块、表格二维网格化子模块、表格输出子模块。
一种针对PDF文档的表格提取的方法,如图1所示,包括以下步骤:表格特征提取、表格定位、及表格内部结构解析。
S1.表格特征提取
S1.1文字提取
由于文字分布在表格中呈现一定规律,因此文字为表格的特征之一。本模块针对的PDF文档为非扫描得到的文档,所以PDF原数据包含文字数据。本模块使用开源的PDF解析工具PDFBox抽取PDF文档中文字数据,PDFBox中的接口只提供获取文字的文本的功能,因此改写部分代码,达到获取文字的文本、坐标、大小、字体等信息的效果。
S1.2线条提取
线条数据与文字数据一样也包含在PDF文档原始数据中,通过原始数据提取的线条信息会更加准确。然而分析了大量PDF文档的表格形式后,发现许多表格并不是用简单的黑色线条作为表格边框,而是追求美观使用背景色的形式展示表格并且区分单元格。背景色在PDF文档源数据仅仅是一些图形、图片的集合,因此通过提取PDF中的线条数据就无法对背景色表格进行解析,相较于在线条定位上提升的一点精度是弊大于利的。于是考虑到表格框线种类复杂的情况,本模块采用了图像处理的方法进行线条提取,如图2所示,具体流程如下:
1)PDF预处理
首先文字在线条提取部分没有任何正面作用,相反还可能产生干扰效果,因为连续的文字边缘或者部分符号也都是线条,例如破折号。所以本模块在将PDF文档转化成图像之前,先使用PDFBox遍历PDF源数据中所有元素,过滤掉文字数据,将剩余数据保留并生成新的PDF文档,从而完全的消除了文字干扰。然后使用PDFBox工具对PDF文档进行格式转换,将文档中每一页转化成图片格式。
2)图像预处理
由于图像是由非扫描形式的PDF文档转化而来的,所以图像的质量非常高,不用考虑消除噪音、旋转图像等图像校正操作。于是先将图像转化成灰度图,再二值化转化成黑白图(考虑到彩底色表格,二值化阈值有多个,本发明使用2)。此时底色单元格区域全是同色,为了提取单元格的边框线条,本模块对图片使用自适应二值化方法,将表格的边界轮廓凸显出来。此时图像预处理部分已经全部完成。
3)线条提取
表格的线条有两个特点,第一点是框线都是直线,第二点是框线的方向只有水平与竖直两种情况。基于这两个特点,本模块巧用形态学膨胀、腐蚀操作,首先构造垂直侵蚀核与水平侵蚀核,垂直侵蚀核就是宽度为1、高度为y(可调整参数)的矩阵,水平侵蚀核则是宽度为x(可调整参数)、高度为1的矩阵,用两个侵蚀核分别对预处理后的图像进行先腐蚀、后膨胀的组合操作,腐蚀的作用是过滤掉所有非水平与竖直的线条,膨胀的作用是弥补腐蚀操作时线条长度上的损失。将经过垂直侵蚀与水平侵蚀后的图像叠加,就能还原出图像中的表格结构。
S2.表格定位
如图3所示,表格定位的流程如下:
S2.1基本表格定位
首先考虑基本的表格形式,表格拥有完整的边框线条,形成类似二维网格状的结构。对于这种表格,观察发现其单元格就是封闭的小矩形框,而表格就是包含这些小矩形框的大矩形框,所以本模块对表格特征提取部分经过优化处理后的表格图片进行轮廓检测,包括外轮廓与内轮廓两种,外轮廓就是表格所处的精确位置区域,内轮廓就是单元格区域,通过判断内轮廓被哪一个外轮廓包含,就能判断出单元格属于哪一个表格。
S2.2缺省线条表格定位
然而表格形式多样,有大量缺省表格框线表格形式,因此也就不存在封闭的外轮廓结构,使用外轮廓检测的方法就无法识别表格。观察大量表格数据后发现,虽然表格为了美观会缺少部分表格框线,但几乎没有表格会完全没有线条信息而只包含文字,特别是表格区域边界位置基本都会存在线条帮助阅读者区分表格与正文部分。因此,本模块采用的解决方法是补全表格的外接框。观察发现表格的缺省框线大部分是垂直线条,上下表格边界框线通常都会保留,基于这一特点,框线补全任务就转化成表格左右垂直框线的补全,也就是判定不同的横线条是否属于同一个表格。
对于这一转化后的问题,本模块设计的方法是:首先将表格特征提取部分提取到的横线条全部取出,按照线条左端点横坐标为第一关键字、纵坐标为第二关键字进行排序,然后遍历排序后的线条列表,考虑相邻两根横线,如果两根横线左右对齐,且高度上差距在一定阈值(本发明实施例使用150像素)内,则判定两根横线属于同一个表格。最终将属于同一表格的最上与最下两根横线作为表格的界线,并将表格的左右两条边界框线补齐,从而还原表格的外接框结构。
S2.3物体检测定位
基于规则式的表格定位做法存在明显的漏洞。例如PDF文档中有很多流程图或者其它含有横线的图片,通过横线合并的方式判定表格,会将很多不是表格的横线组判定成表格。此外,判定相邻横线属于同一表格的高度阈值也难以确定,小阈值会导致将部分大单元格的上下两根横线判定成属于不同表格,而大阈值又会将距离较近的不同表格判定成同一表格。通过追加规则的方式可以缓解部分问题,然而表格形式众多,通过逻辑的方式注定难以覆盖多种情况。
本模块使用深度学习中的物体检测技术,以经典的物体检测模型Faster R-CNN为网络结构,使用TableBank数据集进行训练以及测试。经过不断地模型改进、参数调整以及效果测试,最终确定模型以ResNext作为特征提取部分,使用FPN进行特征加强,并加入Focal Loss等优化方法。测试验证中,表格检测模型达到了不错的效果,在F1分数上已经超越了TableBank的基准模型。
S2.4子模块融合
物体检测技术在表格识别的应用中会有存在很大问题,因为检测框存在边框回归的操作,导致最终检测框只是近似表格位置区域。对于人脸检测、车辆检测等应用,检测框的准确度要求并不高,因为人、车的边界本身定义就比较模糊,而表格提取任务要求的定位则要求更加精准,位置的细微不精准可能就会导致文字的丢失或者误判非表格部分的文字。
因此本发明最终将物体检测子模块的输出作为辅助判断的依据,依旧使用精确的图像处理提取出的线条作为表格界线。在缺省线条表格定位子模块中,对于相邻的两根线条,如果属于物体检测子模块中输出的同一个检测框,则判定它们属于同一表格,并且补全外边框线。最终使用基本表格定位子模块进行表格定位。这样表格的定位部分就能考虑到更广泛的表格形式,同时还保留了表格定位的精确度。
S3.表格内部结构解析
如图4所示,表格内部结构解析流程如下:
S3.1基本表格解析子模块
对于一般的表格形式,即表格不存在缺省线条,使用表格特征提取部分的检测封闭小矩形的方法就能提取出所有单元格。
然而图像处理操作中存在固有误差,此外部分表格线条的粗细不一或者线条是双横线的形式,导致图像中的线条粗细不均匀,特别对于行距小、文字密的表格,线条的不精细可能会造成表格内部结构解析时发生单元格文字丢失的错误。针对这个问题,本模块对线条进行进一步优化。先使用霍夫变换线条检测,检测图像中的全部线条,其中粗线条可能会被检测成相临的多根线条,于是本模块设定一个阈值(本发明实施例使用10像素),判定阈值内的同向并且重合区间大的线条为临近线条,将临近线条合并。最后将处理后的线条重构到新图中,从而得到线条更加精细、准确的图像。
然后对于每一个小单元格,遍历它所在页面的全部表格区域,通过判断表格区域与单元格的包含关系,从而获得单元格与表格的从属关系。接下来对表格内部的单元格按照纵坐标为第一关键字、横坐标为第二关键字进行排序,得到了一个单元格列表,此时已经能基本还原表格的内部结构。
S3.2缺省线条表格解析子模块
表格还存在许多缺省表格线条的形式,通过观察大量PDF表格数据发现,缺省线条的表格一般都是缺省垂直线条,最终通过线条特征解析出的表格呈现出存在大量表格行只包含一列或者少数列的特点,于是对于呈现出这种特点的表格,本模块利用文字分布的规律,将表格进行二次划分。
首先使用PDFBox工具将表格区域内的文字全部取出,然后计算出每个文字的最小外接框。利用PDFBox中的TextPosition类所包含文字的坐标以及宽高等信息,将文字投影到横坐标轴,遍历横坐标轴每一个像素位置,如果出现连续一段大于阈值(本发明实施例使用3像素)的空白区间,则判定可以加入垂直分割线,下一步将每个单元格在垂直分割线位置进行分割,最后将新的单元格重新排序,得到新的单元格列表。
对于缺省横向表格框线的情况,本模块采用对每个单元格单独分析进而分解的方式进行处理。由于文字分布在纵坐标上的间隔特征并不明显,很难区分同一个单元格中的文字是缺省横线合并后的结果还是由文字段的换行导致。因此本模块采取了一个权衡的策略,分析单元格内文字的行数,当文字行数量大于一定阈值(本发明实施例使用4)时,就将单元格进行横向切分,最后更新单元格列表。
S3.3单元格文字提取
目前已经获得了单元格的区域,于是利用PDFBox将每个单元格内的文字取出,由于单元格识别的误差以及文字最小外接框的固有偏差,提取文字时需要将单元格区域扩大一定阈值,降低在文字与边框距离非常近甚至压线时单元格漏检文字的可能性,因为表格特征提取部分已经对线条进行过一次优化,只用设置一个很小的阈值(本发明实施例使用0.2倍最小文字大小)就能达到不错的效果。
S3.4表格二维网格化子模块
此时表格的结构还只是一个一维列表,每个单元格只是一个矩形区域加上一些文字,无法将表格内数据与行头、列头对应上,以及无法展示出表格的行、列与合并单元格等重要信息,于是本模块将表格结构进一步组织,划分成二维网格状的原始表格结构。
对于表格的横向结构,首先将全部单元的左右界数值放入同一个数组,将数组中的数值从小到大排序再进行类似离散化的操作,具体实现为:从头开始遍历整个数组,对于相邻两个数值,如果两数值之差在一定阈值内,则判定两个数值属于同一坐标,对两个坐标使用同一编号,直到相邻两数值之差大于阈值,则将编号加一,其中坐标与编号的映射关系使用Map数据结构存储。经过处理后,通过在Map中查找每个单元格的左右坐标编号,就能知道单元格横跨几个区间,也就是获得了合并单元格的位置以及大小。
同样的对纵坐标也做相同的处理,最终表格就被划分成了二维网格的结构,对于合并单元格具体的存储方式是将合并单元格的文字、单元格大小存储在合并单元格内左上角的基本单元格中,在其余部分的基本单元格内设置一个指针,指向左上角的单元格。
S3.5表格输出子模块
对于得到的二维网格化的表格,可以知道每个单元格的位置及大小,因此将表格使用HTML格式进行输出,图5a、b为表格解析的效果展示,其中图5a为原表格,图5b为提取出的表格。
以下给出实验验证
S4.1物体检测效果验证
表1为实验效果的展示,通过表格中的实验数据可以观察到,本发明方法在仅使用ResNet-101+FPN+Focal Loss的配置时F1分数已经超过了TableBank数据集中的Baseline效果,主要是由于本文训练策略上的不同以及模型参数的调优。最终本文的物体检测模型采用实验中效果最优的ResNext-101+FPN+Focal Loss配置,因此在物体检测表格区域检测部分本方法已经达到不错的效果。
表1
S4.2表格解析效果验证
为了进行效果验证,本文选择PDF表格提取软件Tabula与PDFTron进行对比实验。Tabula是网上评价较高的免费PDF表格提取工具,PDFTron虽然是收费软件,但是提供了免费的试用版,仅仅对PDF抽取中的部分文字信息进行替换,因此不影响对表格解析效果的判定。
测试数据一共使用10个随机抽样的包含多表格的PDF文档,总共包含219个表格。表2为解析效果实验结果的展示,结果表明本方法相较于另外两个PDF表格提取工具具有明显的优势。
表2。
Claims (2)
1.一种针对PDF文档的表格提取的方法,其特征在于:包括表格特征提取、表格定位及表格内部结构解析三个步骤:具体如下:
S1.表格特征提取
S1.1文字提取
针对的PDF文档为非扫描得到的文档,所以PDF原数据包含文字数据;使用开源的PDF解析工具PDFBox抽取PDF文档中文字数据,PDFBox中的接口只提供获取文字的文本的功能,因此改写部分代码,达到获取文字的文本、坐标、大小、字体信息的效果;
S1.2线条提取
采用图像处理的方法进行线条提取,具体流程如下:
1)PDF预处理
在将PDF文档转化成图像之前,先使用PDFBox遍历PDF源数据中所有元素,过滤掉文字数据,将剩余数据保留并生成新的PDF文档,从而完全的消除了文字干扰;然后使用PDFBox工具对PDF文档进行格式转换,将文档中每一页转化成图片格式;
2)图像预处理
先将图像转化成灰度图,再二值化转化成黑白图;此时底色单元格区域全是同色,为了提取单元格的边框线条,对图片使用自适应二值化方法,将表格的边界轮廓凸显出来;此时图像预处理部分已经全部完成;
3)线条提取
首先构造垂直侵蚀核与水平侵蚀核,垂直侵蚀核就是宽度为1、高度为y的矩阵,水平侵蚀核则是宽度为x、高度为1的矩阵,用两个侵蚀核分别对预处理后的图像进行先腐蚀、后膨胀的组合操作,腐蚀的作用是过滤掉所有非水平与竖直的线条,膨胀的作用是弥补腐蚀操作时线条长度上的损失;将经过垂直侵蚀与水平侵蚀后的图像叠加,还原出图像中的表格结构;
S2.表格定位
S2.1基本表格定位
首先考虑基本的表格形式,表格拥有完整的边框线条,形成二维网格状的结构;对于这种表格,观察发现其单元格就是封闭的小矩形框,而表格就是包含这些小矩形框的大矩形框,所以对表格特征提取部分经过优化处理后的表格图片进行轮廓检测,包括外轮廓与内轮廓两种,外轮廓就是表格所处的精确位置区域,内轮廓就是单元格区域,通过判断内轮廓被哪一个外轮廓包含,就能判断出单元格属于哪一个表格;
S2.2缺省线条表格定位
采用补全表格的外接框的方法;表格的缺省框线大部分是垂直线条,上下表格边界框线都会保留,框线补全任务就转化成表格左右垂直框线的补全,也就是判定不同的横线条是否属于同一个表格;
首先将表格特征提取部分提取到的横线条全部取出,按照线条左端点横坐标为第一关键字、纵坐标为第二关键字进行排序,然后遍历排序后的线条列表,考虑相邻两根横线,如果两根横线左右对齐,且高度上差距在一定阈值内,则判定两根横线属于同一个表格;最终将属于同一表格的最上与最下两根横线作为表格的界线,并将表格的左右两条边界框线补齐,从而还原表格的外接框结构;
S2.3物体检测定位
使用深度学习中的物体检测技术,以经典的物体检测模型Faster R-CNN为网络结构,使用TableBank数据集进行训练以及测试;最终确定模型以ResNext作为特征提取部分,使用FPN进行特征加强,并加入Focal Loss优化方法;
S2.4子模块融合
将物体检测子模块的输出作为辅助判断的依据,使用精确的图像处理提取出的线条作为表格界线;在缺省线条表格定位子模块中,对于相邻的两根线条,如果属于物体检测子模块中输出的同一个检测框,则判定它们属于同一表格,并且补全外边框线;最终使用基本表格定位子模块进行表格定位;
S3.表格内部结构解析
S3.1基本表格解析子模块
先使用霍夫变换线条检测,检测图像中的全部线条,其中粗线条可能会被检测成相临的多根线条,于是基本表格解析子模块设定一个阈值,判定阈值内的同向并且重合区间大的线条为临近线条,将临近线条合并;最后将处理后的线条重构到新图中,从而得到线条更加精细、准确的图像;
然后对于每一个小单元格,遍历它所在页面的全部表格区域,通过判断表格区域与单元格的包含关系,从而获得单元格与表格的从属关系;接下来对表格内部的单元格按照纵坐标为第一关键字、横坐标为第二关键字进行排序,得到了一个单元格列表,此时已经还原表格的内部结构;
S3.2缺省线条表格解析子模块
缺省线条表格解析子模块利用文字分布的规律,将表格进行二次划分;
首先使用PDFBox工具将表格区域内的文字全部取出,然后计算出每个文字的最小外接框;利用PDFBox中的TextPosition类所包含文字的坐标以及宽高,将文字投影到横坐标轴,遍历横坐标轴每一个像素位置,如果出现连续一段大于阈值的空白区间,则判定加入垂直分割线,下一步将每个单元格在垂直分割线位置进行分割,最后将新的单元格重新排序,得到新的单元格列表;
对于缺省横向表格框线的情况,采用对每个单元格单独分析进而分解的方式进行处理;由于文字分布在纵坐标上的间隔特征并不明显,很难区分同一个单元格中的文字是缺省横线合并后的结果还是由文字段的换行导致;因此分析单元格内文字的行数,当文字行数量大于一定阈值时,就将单元格进行横向切分,最后更新单元格列表;
S3.3单元格文字提取
目前已经获得了单元格的区域,利用PDFBox将每个单元格内的文字取出,由于单元格识别的误差以及文字最小外接框的固有偏差,提取文字时需要将单元格区域扩大一定阈值,降低在文字与边框距离非常近甚至压线时单元格漏检文字的可能性,因为表格特征提取部分已经对线条进行过一次优化,只用设置一个很小的阈值就能完成;
S3.4表格二维网格化子模块
将表格结构进一步组织,划分成二维网格状的原始表格结构;
对于表格的横向结构,首先将全部单元的左右界数值放入同一个数组,将数组中的数值从小到大排序再进行类似离散化的操作,具体实现为:从头开始遍历整个数组,对于相邻两个数值,如果两数值之差在一定阈值内,则判定两个数值属于同一坐标,对两个坐标使用同一编号,直到相邻两数值之差大于阈值,则将编号加一,其中坐标与编号的映射关系使用Map数据结构存储;经过处理后,通过在Map中查找每个单元格的左右坐标编号,就能知道单元格横跨几个区间,也就是获得了合并单元格的位置以及大小;
同样的对纵坐标也做相同的处理,最终表格就被划分成了二维网格的结构,对于合并单元格具体的存储方式是将合并单元格的文字、单元格大小存储在合并单元格内左上角的基本单元格中,在其余部分的基本单元格内设置一个指针,指向左上角的单元格;
S3.5表格输出子模块
对于得到的二维网格化的表格,知道每个单元格的位置及大小,因此将表格使用HTML格式进行输出。
2.一种基于权利要求1所述的针对PDF文档的表格提取的方法所采用的系统,其特征在于:该系统包括:表格特征提取模块、表格定位模块、表格内部结构解析模块;
所述的表格特征提取模块:该模块用于提取PDF文档中线条信息;该模块具体包括文字提取子模块和线条提取子模块;
所述的表格定位模块:该模块用于通过外轮廓检测的方法定位表格区域;该模块具体包括基本表格定位子模块、缺省线条表格定位子模块及物体检测定位子模块;
所述的表格内部结构解析模块,该模块用于提取全部单元格、还原表格的内部结构,以及将表格划分成二维网格结构;该模块具体包括基本表格解析子模块、缺省线条表格解析子模块、单元格文字提取子模块、表格二维网格化子模块、表格输出子模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910738531.3A CN110516208B (zh) | 2019-08-12 | 2019-08-12 | 一种针对pdf文档表格提取的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910738531.3A CN110516208B (zh) | 2019-08-12 | 2019-08-12 | 一种针对pdf文档表格提取的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110516208A CN110516208A (zh) | 2019-11-29 |
CN110516208B true CN110516208B (zh) | 2023-06-09 |
Family
ID=68625040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910738531.3A Active CN110516208B (zh) | 2019-08-12 | 2019-08-12 | 一种针对pdf文档表格提取的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110516208B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104704B (zh) * | 2019-12-10 | 2023-08-18 | 杭州群核信息技术有限公司 | 柜体内部布局设计方法、装置、系统以及存储介质 |
CN111027297A (zh) * | 2019-12-23 | 2020-04-17 | 海南港澳资讯产业股份有限公司 | 一种对图像型pdf财务数据关键表格信息的处理方法 |
CN111160234B (zh) * | 2019-12-27 | 2020-12-08 | 掌阅科技股份有限公司 | 表格识别方法、电子设备及计算机存储介质 |
CN113139370A (zh) * | 2020-01-16 | 2021-07-20 | 京东方科技集团股份有限公司 | 一种表格提取方法、装置及触控显示装置 |
CN111259854B (zh) * | 2020-02-04 | 2023-04-18 | 北京爱医生智慧医疗科技有限公司 | 一种文本图像中表格的结构化信息的识别方法及装置 |
CN113343740B (zh) * | 2020-03-02 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 表格检测方法、装置、设备和存储介质 |
CN111368744B (zh) * | 2020-03-05 | 2023-06-27 | 中国工商银行股份有限公司 | 图片中非结构化表格识别方法及装置 |
CN111611883B (zh) * | 2020-05-07 | 2023-08-15 | 北京智通云联科技有限公司 | 基于最小单元格聚类的表格版面分析方法、系统及设备 |
CN112036232B (zh) * | 2020-07-10 | 2023-07-18 | 中科院成都信息技术股份有限公司 | 一种图像表格结构识别方法、系统、终端以及存储介质 |
CN111783735B (zh) * | 2020-07-22 | 2021-01-22 | 欧冶云商股份有限公司 | 一种基于人工智能的钢材单据解析系统 |
CN116134481A (zh) * | 2020-09-18 | 2023-05-16 | 西门子股份公司 | 一种铭牌图像的分割方法、装置和计算机可读存储介质 |
CN112199929A (zh) * | 2020-09-30 | 2021-01-08 | 深圳前海微众银行股份有限公司 | 表格处理方法、装置、存储介质及电子设备 |
CN112487775A (zh) * | 2020-12-03 | 2021-03-12 | 上海众言网络科技有限公司 | 网页代码转换方法和装置 |
CN112529003A (zh) * | 2020-12-09 | 2021-03-19 | 安徽工业大学 | 一种基于Faster-RCNN的仪表盘数字识别方法 |
CN112861603B (zh) * | 2020-12-17 | 2023-12-22 | 西安理工大学 | 一种有限表格自动识别与解析方法 |
CN113158987B (zh) * | 2021-05-19 | 2022-07-05 | 中国科学技术信息研究所 | 表格处理方法、装置、设备及计算机可读存储介质 |
CN113361368B (zh) * | 2021-06-01 | 2024-03-19 | 福建福昕软件开发股份有限公司 | 基于桌面软件通过函数拟合识别pdf内多类线条的方法 |
CN113688688A (zh) * | 2021-07-28 | 2021-11-23 | 达观数据(苏州)有限公司 | 图片中表格线条的补全方法与图片中表格的识别方法 |
CN113887401A (zh) * | 2021-09-29 | 2022-01-04 | 北京搜狗科技发展有限公司 | 一种表格识别方法及装置 |
CN113762274B (zh) * | 2021-11-10 | 2022-02-15 | 江西风向标教育科技有限公司 | 一种答题卡目标区域检测方法、系统、存储介质及设备 |
CN114445841A (zh) * | 2021-12-15 | 2022-05-06 | 阿里巴巴(中国)有限公司 | 纳税申报表识别方法和装置 |
CN117350260B (zh) * | 2023-12-06 | 2024-02-27 | 北京车主邦新能源科技有限公司 | Pdf页面表格内容的重构方法及装置 |
CN117523592B (zh) * | 2024-01-04 | 2024-04-02 | 南昌航空大学 | 一种印章区域表格线检测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426834A (zh) * | 2015-11-17 | 2016-03-23 | 中国传媒大学 | 一种基于投影特征与结构特征进行表格图像检测的方法 |
CN108446264A (zh) * | 2018-03-26 | 2018-08-24 | 阿博茨德(北京)科技有限公司 | Pdf文档中的表格矢量解析方法及装置 |
CN109460769A (zh) * | 2018-11-16 | 2019-03-12 | 湖南大学 | 一种基于表格字符检测与识别的移动端系统与方法 |
CN109726643A (zh) * | 2018-12-13 | 2019-05-07 | 北京金山数字娱乐科技有限公司 | 图像中表格信息的识别方法、装置、电子设备及存储介质 |
CN109948440A (zh) * | 2019-02-13 | 2019-06-28 | 平安科技(深圳)有限公司 | 表格图像解析方法、装置、计算机设备及存储介质 |
CN110059687A (zh) * | 2019-03-19 | 2019-07-26 | 平安科技(深圳)有限公司 | 图片信息识别方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10460033B2 (en) * | 2015-11-11 | 2019-10-29 | Adobe Inc. | Structured knowledge modeling, extraction and localization from images |
-
2019
- 2019-08-12 CN CN201910738531.3A patent/CN110516208B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426834A (zh) * | 2015-11-17 | 2016-03-23 | 中国传媒大学 | 一种基于投影特征与结构特征进行表格图像检测的方法 |
CN108446264A (zh) * | 2018-03-26 | 2018-08-24 | 阿博茨德(北京)科技有限公司 | Pdf文档中的表格矢量解析方法及装置 |
CN109460769A (zh) * | 2018-11-16 | 2019-03-12 | 湖南大学 | 一种基于表格字符检测与识别的移动端系统与方法 |
CN109726643A (zh) * | 2018-12-13 | 2019-05-07 | 北京金山数字娱乐科技有限公司 | 图像中表格信息的识别方法、装置、电子设备及存储介质 |
CN109948440A (zh) * | 2019-02-13 | 2019-06-28 | 平安科技(深圳)有限公司 | 表格图像解析方法、装置、计算机设备及存储介质 |
CN110059687A (zh) * | 2019-03-19 | 2019-07-26 | 平安科技(深圳)有限公司 | 图片信息识别方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110516208A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110516208B (zh) | 一种针对pdf文档表格提取的系统及方法 | |
CN113158808B (zh) | 中文古籍字符识别、组段与版面重建方法、介质和设备 | |
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
CN111027297A (zh) | 一种对图像型pdf财务数据关键表格信息的处理方法 | |
KR100248917B1 (ko) | 패턴인식장치및방법 | |
RU2445699C1 (ru) | Способ обработки данных оптического распознавания символов (ocr), где выходные данные включают в себя изображения символов с нарушенной видимостью | |
CN105930159A (zh) | 一种基于图像的界面代码生成的方法及系统 | |
CN110298376B (zh) | 一种基于改进b-cnn的银行票据图像分类方法 | |
CN114004204B (zh) | 基于计算机视觉的表格结构重建与文字提取方法和系统 | |
CN112861736B (zh) | 基于图像处理的文献表格内容识别与信息提取方法 | |
CN109213886B (zh) | 基于图像分割和模糊模式识别的图像检索方法及系统 | |
CN112241730A (zh) | 一种基于机器学习的表格提取方法和系统 | |
CN111914805A (zh) | 表格结构化方法、装置、电子设备及存储介质 | |
CN116311259B (zh) | 一种pdf业务文档的信息抽取方法 | |
CN115240213A (zh) | 表格图像识别方法、装置、电子设备及存储介质 | |
CN112016481A (zh) | 基于ocr的财务报表信息检测和识别方法 | |
CN113963353A (zh) | 一种文字图像处理识别方法、装置、计算机设备和存储介质 | |
CN114463767A (zh) | 信用证识别方法、装置、计算机设备和存储介质 | |
CN116824608A (zh) | 基于目标检测技术的答题卡版面分析方法 | |
CN112651331A (zh) | 文本表格提取方法、系统、计算机设备及存储介质 | |
CN115311666A (zh) | 图文识别方法、装置、计算机设备及存储介质 | |
CN114581928A (zh) | 一种表格识别方法及系统 | |
CN110598196A (zh) | 一种缺失外边框的表格数据提取方法、装置和存储介质 | |
CN112200789B (zh) | 一种图像识别的方法及装置、电子设备和存储介质 | |
CN114926842A (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 |