掌桥专利:专业的专利平台
掌桥专利
首页

一种基于语义分割网络的复杂表格识别方法、系统、设备及介质

文献发布时间:2024-04-18 19:58:26


一种基于语义分割网络的复杂表格识别方法、系统、设备及介质

技术领域

本发明属于计算机视觉和模式识别领域,具体涉及一种基于语义分割网络的复杂表格识别方法、系统、设备及介质。

背景技术

表格大小、种类与样式复杂多样,例如表格中存在不同的背景填充,不同的行列合并方法,不同的内容文本类型等,并且现有文档既包括现代的、电子的文档,也有历史的、扫描的手写文档,它们的文档样式、所处光照环境以及纹理等都有比较大的差异,表格识别一直是文档识别领域的研究难点。

采用现有技术中的人工方法检测不仅检测速度跟不上近年来表格文档重建的需要,而且人工方法往往会存在主观性,存在准确度不够等问题,随着深度学习技术的发展,用神经网络语义分割的方法可以很好的将表格检测和表格结构识别出来。

然而现有的表格识别方法都存在各种各样的问题,比如提取速度慢,对图片质量要求高,鲁棒性差等缺点,并没有一种性能上的飞跃提升,反而极大的增加了计算成本。

发明内容

针对现有技术中存在的问题,本发明提供一种基于语义分割网络的复杂表格识别方法、系统、设备及介质,可以明显提高表格识别的精度和鲁棒性,针对不同环境下的表格图片也能进行高精度的识别和表格文档重建。

本发明是通过以下技术方案来实现:

一种基于语义分割网络的复杂表格识别方法,包括以下步骤:

在获取图像中定位复杂背景下的表格位置,对复杂背景下的表格位置信息进行处理,得到表格外框位置信息;

基于语义分割网络模型对表格外框位置信息进行表格框线提取处理,获得表格竖线及横线的坐标信息,并构建表格单元格,获得表格中每个单元格的位置坐标信息;

基于单元格位置坐标信息进行表格单元格重建,将结果重建生成excel表格;

基于单元格位置坐标信息将获取图像中的单元格进行切分,并将切分后的单元格单独进行光学字符识别,得到单元格内信息并对应填充至所述excel表格,完成表格识别。

进一步的,在定位复杂背景下的表格位置时,需要对所述获取图像进行预处理,所述预处理过程为:基于retinexnet的图像增强网络对低照度所述获取图像进行处理,提取得到目标特征矩阵,并获得高照度的表格图片。

进一步的,所述表格框线提取处理的过程基于yolov3卷积网络模型对表格外框位置进行识别,并采用全连接层得到预测值,基于预测值获取识别后的表格外框位置信息。

进一步的,所述获得表格竖线及横线的坐标信息的过程包括以下步骤:

基于表格外框位置信息输入所述语义分割网络模型中,在所述语义分割网络网络模型的向前传播网络中进行不同维度的目标特征提取处理,获得不同维度的目标特征,并通过多个下采样使图片尺寸减小,在持续下采样的过程中,提取到浅层信息特征。

进一步的,在得到浅层信息特征后,采用U-net模型基于表格外框位置信息定位和获取上下文信息,形成深层信息特征,并采用Skip-connect将浅层信息特征和深层信息特征进行融合,构建形成表格单元格。

进一步的,所述U-net模型包括相互对称的收缩路径和扩张路径,所述收缩路径用于获取上下文信息,所述扩张路径用于精确定位;

所述扩张路径采用多个与下采样对应的上采样,在上采样的过程中,图片的通道数不断减半,并不断融合浅层信息特征。

进一步的,基于easyocr的文字识别方法将每个单元格内的图像处理为普通的可编辑文本,并将识别结果填充到所述excel表格中。

一种基于语义分割网络的复杂表格识别系统,包括:

预处理模块,用于在获取图像中定位复杂背景下的表格位置,对复杂背景下的表格位置信息进行处理,得到表格外框位置信息;

识别处理模块,用于基于语义分割网络模型对表格外框位置信息进行表格框线提取处理,获得表格竖线及横线的坐标信息,并构建表格单元格,获得表格中每个单元格的位置坐标信息;

构建模块,用于基于单元格位置坐标信息进行表格单元格重建,将结果重建生成excel表格;

输出模块,用于基于单元格位置坐标信息将获取图像中的单元格进行切分,并将切分后的单元格单独进行光学字符识别,得到单元格内信息并对应填充至所述excel表格,完成表格识别。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种基于语义分割网络的复杂表格识别方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现一种基于语义分割网络的复杂表格识别方法的步骤。

与现有技术相比,本发明具有以下有益的技术效果:

本发明提供一种基于语义分割网络的复杂表格识别方法、系统、设备及介质,包括以下步骤:在获取图像中定位复杂背景下的表格位置,对复杂背景下的表格位置信息进行处理,得到表格外框位置信息;基于语义分割网络模型对表格外框位置信息进行表格框线提取处理,获得表格竖线及横线的坐标信息,并构建表格单元格,获得表格中每个单元格的位置坐标信息;基于单元格位置坐标信息进行表格单元格重建,将结果重建生成excel表格;基于单元格位置坐标信息将获取图像中的单元格进行切分,并将切分后的单元格单独进行光学字符识别,得到单元格内信息并对应填充至所述excel表格,完成表格识别;本申请可以明显提高表格识别的精度和鲁棒性,针对不同环境下的表格图片也能进行高精度的识别和表格文档重建。

附图说明

图1为本发明实施例中一种基于语义分割网络的复杂表格识别方法流程图;

图2为本发明实施例中获取的获取图像;

图3为本发明实施例中通过retinexnet增强后的图像;

图4为本发明实施例中通过U-net构建的表格单元格形状信息;

图5为本发明实施例中生成的表格识别结果。

具体实施方式

下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明提供一种基于语义分割网络的复杂表格识别方法,如图1所示,包括以下步骤:

在获取图像中定位复杂背景下的表格位置,对复杂背景下的表格位置信息进行处理,得到表格外框位置信息;

基于语义分割网络模型对表格外框位置信息进行表格框线提取处理,获得表格竖线及横线的坐标信息,并构建表格单元格,获得表格中每个单元格的位置坐标信息;

基于单元格位置坐标信息进行表格单元格重建,将结果重建生成excel表格;

基于单元格位置坐标信息将获取图像中的单元格进行切分,并将切分后的单元格单独进行光学字符识别,得到单元格内信息并对应填充至所述excel表格,完成表格识别。

优选的,在定位复杂背景下的表格位置时,需要对所述获取图像进行预处理,所述预处理过程为:基于retinexnet的图像增强网络对低照度所述获取图像进行处理,提取得到目标特征矩阵,并获得高照度的表格图片,如图3所示。

优选的,所述表格框线提取处理的过程基于yolov3卷积网络模型对表格外框位置进行识别,并采用全连接层得到预测值,基于预测值获取识别后的表格外框位置信息。

优选的,所述获得表格竖线及横线的坐标信息的过程包括以下步骤:

基于表格外框位置信息输入所述语义分割网络模型中,在所述语义分割网络网络模型的向前传播网络中进行不同维度的目标特征提取处理,获得不同维度的目标特征,并通过多个下采样使图片尺寸减小,在持续下采样的过程中,提取到浅层信息特征。

进一步的,在得到浅层信息特征后,采用U-net模型基于表格外框位置信息定位和获取上下文信息,形成深层信息特征,并采用Skip-connect将浅层信息特征和深层信息特征进行融合,构建形成表格单元格,如图4所示。

进一步的所述U-net模型包括相互对称的收缩路径和扩张路径,所述收缩路径用于获取上下文信息,所述扩张路径用于精确定位;

所述扩张路径采用多个与下采样对应的上采样,在上采样的过程中,图片的通道数不断减半,并不断融合浅层信息特征。

优选的,基于easyocr的文字识别方法将每个单元格内的图像处理为普通的可编辑文本,并将识别结果填充到所述excel表格中。

本发明提供一种优选实施例为:

获取表格外框位置信息,如图2所示,表格外框位置信息识别采样yolov3网络进行训练,采集各种表格图片,构建表格数据集,并进行预处理操作,形成训练集和测试集,训练集和测试集比例为7/3;

选择的yolov3模型配置模型参数:

特征提取部分包括输入层:接受输入图像的尺寸为608x608x3;

卷积层:包含多个卷积层,使用3x3的卷积核和步幅为1进行特征提取;

下采样层:使用步幅为2的2x2最大池化层进行下采样,用于增加感受野和减小特征图尺寸;

重复特征提取块:yolov3模型中有多个重复的特征提取块,每个块由卷积层和残差连接组成;

检测部分:重复检测块:yolov3模型中有多个重复的检测块,每个块由卷积层和残差连接组成,用于进一步提取特征;

YOLO层:在特征图上应用1x1卷积层和3x3卷积层,预测边界框的位置、类别和置信度得分,其中,每个YOLO层负责检测一组不同尺度的目标;

最终检测输出:将来自不同尺度的YOLO层的检测结果进行融合,得到最终的检测输出;

基于所述测试集,对训练完成的yolov3神经网络进行测试,输出检测结果并对模型进行评估,得出模型性能。

yolov3模型的测试步骤为:

每个网格预测的class(Pr(Class

其中,Class-specific confidence scores是指针对每个类别的置信度得分。

对yolov3模型进行训练时模型评价的指标使用平均精度(Average Precision,AP):平均精度是目标检测任务中最常用的评估指标之一,它衡量了模型在不同置信度阈值下的精度,并通过计算预测框与真实框之间的重叠度(如IoU)来确定是否检测到正确的目标,通过在不同类别上计算AP,并取平均值得到mAP(mean Average Precision),用于综合评估模型的性能,在目标识别中经常采用mAP(meas average precision)作为网络的评价指标,mAP是综合召回率和精确率得到的多类别平均精度,公式如下:

本实施例为了成功提取表格内部框线信息,需要构建U-net神经网络模型,所述U-Net神经网络模型包括编码器和解码器,表格线是细长型物体,角度要么基本水平,要么基本竖直,并且有的线会很长,所述编码器和解码器采用网络结构,包括一层64个3×3的卷积层,编码器与解码器通过卷积计算连接,卷积操作可以表示为:

其中,Kernel是卷积核,Input是输入图像,Output是卷积结果;

本实施例选用的卷积核形状为3x3,表格分割类别是4类:横向的线,竖向的线,横向的不可见线,竖向的不可见线,类间并不互斥,也就是每个像素可能同时属于多种类别,这是因为线和线之间有交点,交点处的像素是同属多条线的,损失函数采用加权交叉熵,公示如下:

其中,M表示类别的数量;y

由于标签不互斥,本申请不用Softmax做输出,而是用4个Sigmoid,分别表示4个标签的概率;Sigmoid函数(也称为Logistic函数)是一种常用的激活函数,用于将输入映射到0和1之间的连续输出,公式如下:

Softmax是一种常用的激活函数,常用于多类别分类任务中,它将输入的实数向量转换为概率分布,使得每个类别的输出值在0到1之间且总和为1,公式如下:

在本实施例中所述获取图像包括采用网络和实时拍摄不同环境条件下的表格图片;对所述获取图像中的亮度较暗的表格图片进行图像增强操作,并且进行分割,将图像统一为608×608大小,通道数为3的图像;使用多尺度RetinexNet算法对低照度图像进行图像增强,多尺度RetinexNet的核心思想是使用深度神经网络来学习图像的多尺度特征表示,以更好地捕捉图像中的细节和颜色信息,它通常由多个卷积层和池化层组成,用于提取不同尺度的图像特征,这些特征经过处理后被重新合成,以产生增强的图像,相比于传统的Retinex算法,多尺度RetinexNet具有以下优势:自适应性:多尺度RetinexNet可以根据图像的不同尺度特征进行自适应调整,以适应不同类型和大小的图像。

yolov3模型使用的损失函数如下所示:

在上述公式中,第一和第二个公式是目标检测损失函数,用于确保模型能够正确地预测出目标的存在和位置,目标检测损失由边界框坐标损失和目标置信度损失两部分组成;第三个公式是目标分类损失函数,用于确保模型能够正确地预测出目标的类别,目标分类损失使用多分类损失函数(如交叉熵损失)计算;第四个公式是无目标置信度损失函数,用于确保模型能够正确地预测出图像中没有目标的区域,无目标置信度损失衡量模型对没有目标的区域的置信度预测与真实标签之间的差异,通常使用二分类损失函数计算;第五个公式是边界框坐标损失函数,用于回归预测边界框的大小和位置。边界框坐标损失通常使用均方差或者平滑L1损失计算;第六个公式是分类置信度损失函数,用于衡量模型对每个边界框的分类置信度的预测与真实标签之间的差异。分类置信度损失使用多分类损失函数计算。

其中

对每一个网格的每一box执行同样操作:7×7×2=98bbox(每个box既有对应的class信息又有坐标信息),得到98bbox的信息后,首先对阈值小于0.2的score清零,然后重新排序,最后再用NMS算法去掉重复率较大的bounding box。NMS(Non-MaximumSuppression,非极大值抑制)是一种常用的目标检测算法,用于在检测结果中抑制冗余的边界框,从而得到更准确和准确的检测结果在目标检测任务中,通常使用滑动窗口或者基于区域的方法生成一系列候选边界框,这些边界框可能会有一定的重叠。NMS的目的是选择最具代表性的边界框,将重叠较大的边界框进行抑制,只保留最相关的边界框。

对分割图分别做几何分析,即先提取连通区域,再对连通区域拟合折线,再对游离的线段根据距离和倾角进行合并形成框线。由于拍摄角度或者纸张的弯曲,一般原图表格会有一些倾斜,可使用投影变换(perspective transformation)对原图进行校正,使得横框线校至水平,竖框线校至竖直。

对分割结果设定阈值0.5进行二值化,转成几张二值化图,分别表示每种线所属的像素。接着对每个二值化图求连通区域。对连通区域进行过滤,长度太小的丢弃。对剩下的每个有效连通区域,分别拟合折线,即得到大量线段。对线段的角度进行统计,横、竖两种线段与x轴的夹角均值应接近0和90度,若否,则认为识别失败并终止。在横、竖线段中,若有角度偏离均值3个标准差以上的,则过滤掉。对于剩下的线段进行合并,被合并的线段构成一条新的长直线,这些直线代表框线。两线段合并的判定条件是:夹角小于15度,并且一条线段的端点到另一条线段的距离小于一定阈值。

最终得到的若干直线,就是表格的框线。但是手机拍摄的照片一般都有一些倾斜,为便于后续处理和提高OCR结果的质量,我们将对图片进行倾斜校正。校正方法使用投影变换,也即拟合一个单应矩阵H,使得HX=X',X的每一列是在每条直线上以固定距离采样的点的齐次坐标,X'的对应列是该点校正后的齐次坐标。横线校正至水平,也即线上所有点的y坐标一致;竖线校正至竖直,也即线上所有点的x坐标一致。最后将求得的投影变换应用到原图中,将图片也校正。

接下来需要识别表格的结构。我们对一个完整的表格定义如下:

1)所有单元格,单元格定义为[起始行,结束行,起始列,结束列]

2)每一行的行高(像素)

3)每一列的列宽(像素)

4)每个单元格的字号大小(像素)

5)每个单元格的对齐方式(left ightcenter)

表格的结构是指1),2)和3)。从表格线推导出每行(列)的高(宽)和所有单元格的坐标。

由表格框线推导行(列)的高(宽)比较容易,只需对所有的横(竖)线按从上(左)到下(右)排序,相临框线形成一行(列),所以只需计算相临框线的y坐标(x坐标)差即可。

由表格框线推导单元格坐标,因为现实中存在很多单元格合并的情况,一个单元格可能跨了若干行和若干列。对此我们列举所有的单元格候选,每个单元格表示为(起始行,结束行,起始列,结束列),然后对所有单元格按面积从小到大排序。接着遍历排序好的候选单元格,去判断其上下左右的框线是否都真实存在,若存在,则此单元格就在原图存在。注意到,每当确立一个单元格存在,所有与其共享起始行和起始列的其他单元格则不可能再存在,因为我们不考虑单元格中套着单元格的情况。所以虽然单元格候选集很大,但可以利用这一性质在遍历过程中进行剪枝,所以会很高效。

将上述确定的单元格,每一行的行高,每一列的列宽,每个单元格的字号大小,每个单元格的对齐方式识别出来。只需将单位换成Excel的标准单位,就可以转成电子表格了。

将上述校正后的图片OCR按坐标单元格进行OCR,然后将每个单元格中通过OCR后的结果存放在一个列表中,按excel的生成顺序输入到上述生成的excel中,如图5所示。

本发明提供一种基于语义分割网络的复杂表格识别系统,包括:

预处理模块,用于在获取图像中定位复杂背景下的表格位置,对复杂背景下的表格位置信息进行处理,得到表格外框位置信息;

识别处理模块,用于基于语义分割网络模型对表格外框位置信息进行表格框线提取处理,获得表格竖线及横线的坐标信息,并构建表格单元格,获得表格中每个单元格的位置坐标信息;

构建模块,用于基于单元格位置坐标信息进行表格单元格重建,将结果重建生成excel表格;

输出模块,用于基于单元格位置坐标信息将获取图像中的单元格进行切分,并将切分后的单元格单独进行光学字符识别,得到单元格内信息并对应填充至所述excel表格,完成表格识别。

本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于一种基于语义分割网络的复杂表格识别方法的操作。

本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关一种基于语义分割网络的复杂表格识别方法的相应步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

相关技术
  • 融合语义分割的单目测距系统、方法、设备及存储介质
  • 基于语义分割网络的缺苗区域识别方法、设备和存储介质
  • 基于语义分割的表格重建方法、装置、设备及存储介质
技术分类

06120116492530