表格检测方法和装置
文献发布时间:2023-06-19 10:24:22
技术领域
本发明属于图像处理技术领域,特别是一种表格检测方法和装置。
背景技术
大多数人日常办公处理的文件,无非就是表格和文档,其中表格的重要性毋庸置疑。在各行各业的桌面办公场景中,经常以表格的形式呈现。可以说,表格数据作为财务数据中的关键信息,在财务数据的处理过程中越来越受到财务人员的重视。随着带摄像头的移动设备的普及,越来越多的客户通过这些设备拍照上传文件图片。因此从文件图片中提取有效信息也成为了一项基本的任务。
尽管表提取是各种领域中的常见任务,但手动提取表信息通常是一个冗长而耗时的过程。因此,我们需要自动的表提取方法来避免手动操作。但是,对于相对复杂的财务表结构,现有的方法仍难以准确地恢复,这使得传统的特征工程方法通常很难解码表结构。这些方法通常依赖于可视化特性,如划线、不同列之间的间距、表格单元格中的数据类型、它们与重叠邻近的关系或颜色编码的单元格块。它们在特定布局的表或业务案例中表现得相当好,但无法跨多个域扩展。表结构的变化,以及用于可视地分离表格组件的图形元素的变化,使得从这些图像中提取图像成为一个非常具有挑战性的问题。
随着深度学习发展,表格检测结构化已经进行了广泛的研究。最开始的表格检测结构化技术使用了传统的算法进行识别,对于环境、拍摄角度以及光照情况等不太具有鲁棒性,并且表格本身的污染缺损也会影响正确率。
在实际环境的表格检测中,如果直接对表格进行文字定位以及识别,虽然表格能够直接识别出结果,但两个不同小框中的文字容易被识别成一列,而且传统的表格线段检测容易受到光照强度(黑暗、强光、局部失真)、污渍以及印章等的影响;表格模糊、打印出现缺损等依旧是传统方法难以解决的点;因为各种问题造成的表格上的线段残缺将使得传统方法完全失效。
发明内容
为了解决现有技术的上述问题,本发明提供一种表格检测方法和装置,使用卷积网络识别表格中的关键点,然后利用表格的固定格式以及检测出的表格关键点对表格进行结构化。
本发明第一方面,提供一种表格检测方法,包括以下步骤,
获取包含表格的图片;利用交叉点峰值图模型对所述表格进行预测,获取所述表格中交叉点的峰值图;将所述交叉点的峰值图转换成交叉点坐标;按照原表格结构连接各交叉点,得到完整的表格。
所述交叉点峰值图模型的构造过程为,
人工标记样本表格中的所有交叉点的坐标;将所述交叉点通过高斯分布转换为峰值图;利用卷积网络对多个样本表格进行训练,得到所述交叉点峰值图模型。
将所述交叉点通过高斯分布转换为峰值图后,图中任意点p的峰值概率符合以下公式
其中,j表示交叉点,p代表峰值图中的某个点,
进一步,所述峰值图中的任意点p受到同一表格中多个交叉点影响,选取受影响最大的交叉点计算其峰值概率。
进一步,所述利用交叉点峰值图模型对所述表格进行预测,获取所述表格中交叉点的峰值图具体为,
将包含待检测表格的图片作为所述交叉点峰值图模型的输入,获取峰值图;遍历所述峰值图中的所有点,判断当前点的峰值大小,如果当前点的峰值大于其周围点的峰值,则当前点为峰值点;将低于预设阈值的峰值点过滤掉,剩下的峰值点为表格中的交叉点。
进一步,在所述交叉点峰值图模型的构造过程中还包括样本增强过程,具体为依次经过随机亮度、随机对比度、随机旋转、随机平移,并将图片切割成固定大小的多个小图片。
本发明第二方面提供一种表格检测装置,其特征在于,包括
图片获取模块,用于获取包含表格的图片;
交叉点峰值图模型,用于识别表格中的交叉点,得到所述交叉点的峰值图;
表格重构模块,用于将所述交叉点的峰值图转换成交叉点坐标,并在交叉点之间连接线条,重构表格。
进一步的,所述交叉点峰值图模型包括:
峰值图转换子模块,用于将包含待检测表格的图片转换成峰值图;
峰值点判断子模块,用于判断所述峰值图中的点是否峰值点;
交叉点识别子模块,用于将低于预设阈值的峰值点过滤掉,剩下的峰值点为表格中的交叉点。
表格检测识别在现代信息化文本文档识别中具有重要的地位,对表格进行结构化检测识别将使得表格更容易分析。本发明针对表格的特点进行了详细的研究,并对传统的表格线框检测进行分析优化。本发明的技术效果有:
1)使用深度学习的方法进行检测表格线框检测。其中交叉点峰值图模型使用了卷积网络对图片进行特征提取。这些层不会改变特征的二维特性,并且卷积网络结构使用下采样以及上采样配合使用维持了数据与原图线框类似的功用。使得算法在各种环境条件下具有鲁棒性,并降低表格中倾斜角度、部分缺损、图片失真等因素对正确率的影响。
2)使用像素级别算法对表格上横线竖线进行检测,能够精确的识别出表格并分类,并且能够处理线段不连续或者有污渍、模糊、印章等情况。
3)交叉点峰值图模型使用了不深的网络结构维持良好的性能,维持了模型的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例表格检测方法流程图;
图2为图1实施例中构造交叉点峰值图模型的流程图;
图3为利用交叉点峰值图模型识别表格中的交叉点的流程图;
图4为图1实施例经交叉点峰值图模型识别后的交叉点分布图;
图5为对图4实施例中的交叉点分组后的示意图;
图6为连接图5交叉点构成的表格示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
如图1所示,本实施例提供一种表格检测方法,包括以下步骤,
S1、获取包含表格的图片。
在本发明实施例中,包含表格的图片可以通过扫描仪、高拍仪、数码相机、带摄像头的移动终端等设备来获取,本发明对此不做限制。
在本发明实施例中,图片中可以包含表格、文字、图画等内容,图片中的底色、表格、文字颜色可以为白色、黑色、红色、黄色、蓝色等颜色,本发明对此不做限制。
S2、利用交叉点峰值图模型对所述表格进行预测,获取所述表格中交叉点的峰值图。
在本发明实施例中,表格是由若干的行与列所构成的一种有序的组织形式,若干行与列的交汇区域形成表格中的若干单元格,若干行与列的交叉点形成表格中单元格的边角点。基于构造的交叉点峰值图模型来获取表格中的交叉点峰值图,可以得知表格中单元格的边角位置,从而得知表格线条的组织形式。
S3、将所述交叉点的峰值图转换成交叉点坐标。
交叉点峰值图模型的作用是将待检测表格转换为交叉点峰值图,S2中通过峰值图识别出表格中的交叉点后,需要再还原成交叉点坐标。
S4、按照原表格结构连接各交叉点,得到完整的表格。
在本发明的一种实施例中,所述交叉点峰值图模型的构造过程如图2所示:
S21、人工标记样本表格中的所有交叉点的坐标。
标记的交叉点越多,构造的交叉点峰值图模型预测交叉点的精确度就越高,因此需要将作为样本的表格中的交叉点尽可能多的标记出来。
S22、将所述交叉点通过高斯分布转换为峰值图。
交叉点的坐标以横纵坐标表示。首先从样本图片中提取特征,然后对提取的特征进行预测,获得通道维度为2的峰值图,所述峰值图上的点分别表示表格中横线和纵线的峰值。
S23、利用卷积网络对多个样本表格进行训练,得到所述交叉点峰值图模型。
需要说明的是,将所述交叉点通过高斯分布转换为峰值图后,图中任意点p的峰值概率符合以下公式
其中,j表示交叉点,p代表峰值图中的任意点,
由于图中不仅仅包含一个交叉点,峰值图中某些点所处的概率值将会受到不同交叉点的影响,在这种情况下,设置取该点所受影响最大的关键点作为p的峰值概率值,表示成如下所示:
训练过程中,本实施例使用对当前点影响最大的交叉点作为中心来求取最终的概率峰值图,所以在实际预测过程中,也将会生成类似原标记的峰值概率图。
在一些具体实施方式中,由于样本数量较少,因此在交叉点峰值图模型的构造过程中还包括样本增强过程,具体为依次经过随机亮度、随机对比度、随机旋转一定角度、随机平移,并将图片切割成固定大小的多个小图片。
具体的,在实际预测阶段,利用交叉点峰值图模型对所述表格进行预测,获取表格中交叉点的峰值图的过程如图3所示,具体为,
S31、将包含待检测表格的图片作为交叉点峰值图模型的输入,获取峰值图。
已训练好的交叉点峰值图模型会直接从待检测表格中识别交叉点坐标,并转换成峰值图。
S32、遍历所述峰值图中的所有点,判断当前点的峰值大小,如果当前点的峰值大于其周围点的峰值,则当前点为峰值点。
S33、将低于预设阈值的峰值点过滤掉,剩下的峰值点为表格中的交叉点。
本发明另一实施例提供一种表格检测装置,包括:
图片获取模块,用于获取包含表格的图片;
交叉点峰值图模型,用于识别表格中的交叉点,得到所述交叉点的峰值图;
表格重构模块,用于将所述交叉点的峰值图转换成交叉点坐标,并在交叉点之间连接线条,重构表格。
在一些具体实施方式中,交叉点峰值图模型包括:
峰值图转换子模块,用于将包含待检测表格的图片转换成峰值图;
峰值点判断子模块,用于判断所述峰值图中的点是否峰值点;
交叉点识别子模块,用于将低于预设阈值的峰值点过滤掉,剩下的峰值点为表格中的交叉点。
在本发明实施例中,所述预设阈值可以根据实际图像内容进行设置,本发明不做限制。
获取表格交叉点坐标后,还需要与原待检测表格中的交叉点找到一一对应的关系,具体是,首先通过S3获得如图4所示的交叉点坐标,这时交叉点之间都是独立的,没有任何关系。
然后按照列坐标进行排序,并按照表格列交叉点的数目对交叉点进行分组,获取得到每组的交叉点,每组交叉点表示当前组内的横坐标是相同的,如图5所示。
最后对每组内的交叉点按照纵坐标排序,得到每个交叉点与原表格的对应关系,最终对交叉点间进行连线重构,获取最终的表格结构,如图6所示。
在本发明实施例中,所述交叉点为表格中行与列的交叉点,通过将交叉点重新连接,即可确定原本表格线条的组织形式,从而重构表格线条,得到目标表格线条。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 表格检测模型的训练方法、装置及表格检测方法、装置
- 表格单据中表格框线检测方法及系统