CN114359939A - 基于单元格检测的表格结构识别方法、***和设备 - Google Patents
基于单元格检测的表格结构识别方法、***和设备 Download PDFInfo
- Publication number
- CN114359939A CN114359939A CN202111540686.XA CN202111540686A CN114359939A CN 114359939 A CN114359939 A CN 114359939A CN 202111540686 A CN202111540686 A CN 202111540686A CN 114359939 A CN114359939 A CN 114359939A
- Authority
- CN
- China
- Prior art keywords
- cell
- cells
- matching
- adjacent
- coordinates
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000011084 recovery Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 28
- 238000012800 visualization Methods 0.000 claims description 12
- 238000000354 decomposition reaction Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 210000004027 cell Anatomy 0.000 description 461
- 230000008859 change Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000002287 horizontal cell Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及图像识别领域,具体为基于单元格检测的表格结构识别方法、***和设备,该方法包括:通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;通过改进通用的SBD算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;根据预测出的表格HTML结构,恢复生成和图像中表格结构相同的可编辑形式的表格。本发明可以解决对跨行跨列单元格的结构恢复问题,相对于现有的方法具有更强的普适性。
Description
技术领域
本发明涉及图像识别领域,具体涉及基于单元格检测的表格结构识别方法、***和设备。
背景技术
表格是我们生活中记录和传递信息的重要方式,与自然语言相比,表格提供了一种以更紧凑和结构化的数据格式,能够汇总大量的数据,同时表格还提供了一种便于查找和比较信息的形式,便于读者快速获取有效的信息,因此表格在各个领域中都被广泛使用。在版面分析和文档理解飞速发展的今天,表格作为文档中的重要组成部分,具有极大的研究价值,为了快速获取表格信息,研究者们提出了表格识别任务。
表格识别任务可以分解为三个部分,表格检测、表格结构识别和表格文本识别,借助如今成熟目标检测技术和OCR技术,表格检测和表格文本识别任务都能被较容易的解决,而表格结构识别作为表格识别任务中比较特殊的一个部分,同时也是最重要的一环,与其他领域的任务并不相通,需要针对性的设计解决方案。
表格识别任务已经提出了20多年,在最初多为处理一些pdf格式的文档和扫描的图像数据,但随着科技的发展以及手机等智能设备的广泛普及,人们使用手机来获取表格信息将会更加便利,而目前提出的算法较少的针对自然场景下的拍照表格,因此为推进表格识别技术的发展,设计一种适用于自然场景下对拍照表格进行表格结构识别的***是必不可缺的。
在表格中,跨行和跨列的单元格多种形式的组合能构成各种复杂的表格结构,如何识别跨行跨列单元格的结构一直是表格结构识别任务的难点,这也是在表格结构识别任务中必须克服的难题。
发明内容
为解决现有技术所存在的技术问题,本发明提供基于单元格检测的表格结构识别方法、***和设备,本发明有着较为简单的步骤流程,可以解决单元格数量很多的大型表格和单元格结构变换多样的复杂表格的结构识别问题,可以解决对跨行跨列单元格的结构恢复问题,相对于现有的方法具有更强的普适性。
本发明的第一个目的在于提供基于单元格检测的表格结构识别方法。
本发明的第二个目的在于提供基于单元格检测的表格结构识别***。
本发明的第三个目的在于提供一种计算机设备。
本发明的第一个目的可以通过采取如下技术方案达到:
基于单元格检测的表格结构识别方法,包括以下步骤:
S1、表格区域获取,通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
S2、单元格检测,通过改进通用的SBD算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
S3、表格结构预测,通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
S4、表格结构可视化恢复,根据预测出的表格HTML结构,恢复生成和表格图像中表格结构相同的可编辑形式的表格。
进一步地,步骤S1具体包括:
S11、基于Cascade RCNN算法训练一个表格区域检测模型,用训练好的表格区域检测模型对表格图像进行检测,获取表格区域的检测框坐标;
S12、将表格区域的检测框进行扩大获取更大的检测框坐标;
S13、依据更大的检测框坐标在输入表格图像中将表格裁剪出来,生成新的表格图像。
进一步地,步骤S2具体包括:
S21、对通用SBD模型进行修改,设置更多尺寸的预设框,在SBD模型的输出结合SBD的检测框回归分支和SBD分解分支获取单元格检测结果;
S22、基于改进的SBD算法训练一个单元格检测模型,获取能够完整包裹每个独立单元格区域的最小外接四边形的四个顶点坐标。
具体地,步骤S3具体包括:
S31、设计一种单元格邻接匹配算法,通过以聚类的方式为每个单元格找到对应的行和列,即将在同一行或者同一列的单元格聚合到一起;
S32、行聚类时,从一个单元格开始,通过邻近匹配找到位于其左边相邻单元格和右边相邻单元格,并将新匹配到的单元格添加到同一行的列表中,进一步寻找新添加单元格的左右邻近单元格,以此循环往复直至没有新添加的单元格;
S33、列聚类时,从一个单元格开始,通过邻近匹配找到位于其上边相邻单元格和下边相邻单元格,并将新匹配到的单元格添加到同一列的列表中,进一步寻找新添加单元格的上下邻近单元格,以此循环往复直至没有新添加的单元格;
S34、通过表格行列聚类结果,预测出表格对应的HTML结构。
本发明的第二个目的可以通过采取如下技术方案达到:
表格区域获取模块,用于通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
单元格检测模块,用于通过改进通用的顺序无关框分解网络(SBD)算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
表格结构预测模块,用于通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
表格结构可视化恢复模块,用于根据预测出的表格HTML结构,恢复生成和表格图像中表格结构相同的可编辑形式的表格。
本发明的第三个目的可以通过采取如下技术方案达到:
一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的表格结构识别方法。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明通过单元格检测得到所有单元格的检测框,基于单元格的检测框通过邻接匹配算法恢复表格的结构,相对于现有的通过transformer和图卷积相关的方法,本发明有着较为简单的步骤流程,可以解决单元格数量很多的大型表格和单元格结构变换多样的复杂表格的结构识别问题。
2、本发明通过设计一种邻接匹配算法直接通过单元格的检测结果恢复表格的结构,可以快速的通过邻接匹配找到每个单元格邻接的单元格,进一步将所处同一行或者同一列的单元格聚类成一个集合,获取单元格的行列信息,可以解决对跨行跨列单元格的结构恢复问题,因此相对于现有的方法具有更强的普适性。
3、本发明适用对自然场景下获取的歪斜扭曲表格图像进行表格结构识别,而现有的方法几乎都是基于pdf格式的文档表格或者扫描的规整表格图像,本发明扩展了表格结构识别的应用场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施1中的方法流程图;
图2是本发明实施例1中的对无跨行单元格左右邻接匹配的示意图;
图3是本发明实施例1中的对有跨行单元格左右邻接匹配的示意图;
图4是本发明实施例1中的对无跨列单元格上下邻接匹配的示意图;
图5是本发明实施例1中的对有跨列单元格上下邻接匹配的示意图;
图6是本发明实施例1中的表格结构可视化效果示意图。
具体实施方式
下面将结合附图和实施例,对本发明技术方案做进一步详细描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例,本发明的实施方式并不限于此。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本实施例公开了一种基于单元格检测的表格结构识别方法,包括以下步骤:
S1、表格区域获取,通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像。
本实施例的输入的图像为在自然场景下表格的拍照图像,图像的形式具有多样性,有复杂的光照变化、背景变化、表格形态变化,即图像中的表格可能存在多种歪斜角度或扭曲姿态,本发明扩展了表格结构识别的自然场景下的应用场景。
优选地,本实例中的表格区域检测模型为一个基于级联循环卷积神经网络算法(CascadeRCNN)的表格区域检测模型。
具体地,步骤S1包括以下步骤:
S11、基于Cascade RCNN算法训练一个表格区域检测模型,用训练好的表格区域检测模型对表格图像进行检测,获取表格区域的检测框坐标。
具体地,表格区域的检测框即能够完整包裹表格区域的最小外接矩形,假设输入图像的宽为w高为h,获取表格区域的检测框坐标[Xmin,Ymin,Xmax,Ymax],[Xmin,Ymin,Xmax,Ymax]分别代表目标表格检测获取的最小外接矩形的左上点的横纵坐标和右下点的横纵坐标。
S12、将表格区域的检测框进行扩大获取更大的检测框坐标,减小表格检测模型可能带来的误差。
优选地,得到新的更大的检测框的坐标为:Xmin'=max(0,Xmin-20),Ymin'=max(0,Ymin-20),Xmax'=min(w,Xmax+20),Ymax'=min(h,Ymax+20),其中max()函数用于获取两个数中较大的数,min()函数用于获取两个数中较小的数。
S13、依据更大的检测框坐标在输入表格图像中将表格裁剪出来,生成新的表格图像。
S2、单元格检测,通过改进通用的顺序无关框分解网络(SBD)算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标。
S21、对通用SBD模型进行修改,设置更多尺寸的预设框,在SBD模型的输出结合SBD的检测框回归分支和SBD分解分支获取单元格检测结果.
结合SBD的检测框回归分支和SBD分解分支的过程中,以SBD分解分支的检测结果为主,而SBD的检测框回归分支的检测结果为辅助,结合SBD模型的多个分支输出,可以得到更加完整的单元格检测结果,可以解决对少线表单元格漏检的问题。
S22、基于改进的SBD算法训练一个单元格检测模型,获取能够完整包裹每个独立单元格区域的最小外接四边形的四个顶点坐标。
将S1中获取的新的表格图像进行尺寸变换,训练时将输入图像的最小边分别设置为400、600、800,设置最长边不超过1000,输入图像的短边选取400、600、800中一个最接近的长度进行调整,而长边按照短边变化的比例进行更改,但长边的长度不超过1000,即长边调整后的长度超过1000时,则直接取1000,测试时直接将测试图像尺寸变化为800×1000送入顺序无关框分解网络模型进行单元格检测。
S3、表格结构预测,通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构。
S31、设计一种单元格邻接匹配算法,通过以聚类的方式为每个单元格找到对应的行和列,即将在同一行或者同一列的单元格聚合到一起,用于解决跨行跨列单元格的行列匹配。
S32、行聚类时,从一个单元格开始,通过邻近匹配找到位于其左边相邻单元格和右边相邻单元格,并将新匹配到的单元格添加到同一行的列表中,进一步寻找新添加单元格的左边相邻单元格和右边相邻单元格,以此循环往复直至没有新添加的单元格。
S321、对SBD模型获取的每个单元格外接四边形坐标进行坐标排序,得到单元格的坐标,通过单元格的坐标计算得到单元格的中心点坐标。
具体地,对SBD模型获取的每个单元格外接四边形坐标进行坐标排序,使得四个点的坐标按照左上角顶点、右上角顶点、右下角顶点、左下角顶点顺时针排列,得到单元格A和单元格B的坐标为:[Xa1,Ya1,Xa2,Ya2,Xa3,Ya3,Xa4,Ya4]和[Xb1,Yb1,Xb2,Yb2,Xb3,Yb3,Xb4,Yb4],通过单元格A和单元格B的坐标计算得到单元格A和单元格B的中心点坐标。
单元格A的中心点坐标计算公式为:
其中,Xa1、Ya1,Xa2、Ya2,Xa3、Ya3,Xa4、Ya4为单元格A的4个点的坐标。
单元格B的中心点坐标计算公式为:
其中,Xb1,Yb1,Xb2,Yb2,Xb3,Yb3,Xb4,Yb4为单元格B的4个点的坐标。
S322、选定一单元格为初始单元格,进行横向左匹配和横向右匹配,找到初始单元格的邻近单元格。
本实施例中,横向左匹配和横向右匹配统称行匹配,横向左匹配:选定单元格A为初始单元格,单元格A向左匹配到新的单元格B后,新的单元格B继续向左匹配,而不会进行向右的匹配的操作;横向右匹配:A向右匹配到新的单元格B后,新的单元格B继续向右匹配,而不会进行向左的匹配的操作。单向匹配的目的是可以减少计算量,加快匹配速度,快速找到目标单元格在同一行的所有单元格。
S323、按照初始单元格和邻近单元格相邻边的长度,判定邻近单元格相对初始单元格是否为跨行的单元格;邻近单元格相对初始单元格为非跨行单元格时,直接通过邻近单元格进行新的一轮横向邻接匹配;邻近单元格相对初始单元格为跨行单元格时,邻近单元格的坐标相对初始单元格的坐标进行暂时性更改,以便邻近单元格向左匹配时能找到与初始单元格和邻近单元格都处于同一行的单元格,修改坐标后的邻近单元格继续横向匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
当单元格A进行横向左匹配时,对任意检测出的单元格B需要第一步判断单元格B的中心点是否在单元格A的左侧,第二步判断单元格A的左边中点是否位于单元格B右上角顶点和右下角顶点之间,获取所有满足条件的单元格,当满足条件的单元格数量大于1的时候需要按照中心点坐标对满足条件的单元格进行排序,最后选定中心点横坐标最大的为单元格A向左匹配时的左邻近单元格。
当找到单元格A的左邻近单元格B后,按照单元格A和单元格B相邻边的长度,判定单元格B相对单元格A为是否为跨行的单元格。单元格B相对单元格A为非跨行单元格时,直接通过单元格B进行新的一轮向左邻接匹配;单元格B相对单元格A为跨行单元格时,单元格B的坐标依据单元格A的坐标进行暂时性的更改,以便单元格B向左匹配时能找到与单元格A和单元格B都处于同一行的单元格,修改坐标后的单元格B继续向左匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
当单元格A进行横向右匹配时,对任意检测出的单元格B需要先判断单元格B的中心点是否在单元格A的右侧,再判断单元格A的右边中点是否位于单元格B左上角顶点和左下角顶点之间,获取所有满足条件的单元格。当满足条件的单元格数量大于1的时候需要按照中心点坐标对满足条件的单元格进行排序,中心点横坐标最小的即为单元格A向右匹配时的邻近单元格。
当找到单元格A的右邻近单元格B后,按照单元格A和单元格B相邻边的长度,判定单元格B相对单元格A为是否为跨行的单元格。单元格B相对单元格A为非跨行单元格时,直接通过单元格B进行新的一轮向右邻接匹配;单元格B相对单元格A为跨行单元格时,单元格B的坐标依据单元格A的坐标进行暂时性的更改,以便单元格B向右匹配时能找到与单元格A和单元格B都处于同一行的单元格,修改坐标后的单元格B继续向右匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
如图2所示,在没有跨行单元格的情况下进行单元格横向匹配,具体过程如下:
从‘起始’单元格开始,将横向单元格匹配过程分为向左向右两个方向进行,第一步向左匹配,匹配到单元格‘左1’,第一步向右匹配,匹配到单元格‘右1’,新一轮单元格匹配分别以‘左1’和‘右1’开始,‘左1’单元格继续向左匹配,匹配到单元格‘左2’,‘右1’单元格继续向右匹配,匹配到单元格‘右2’,最后以‘左2’和‘右2’单元格开始进行新的匹配过程,两个单元格都没有匹配到新的单元格,则以‘起始’单元格开始的行匹配过程结束,匹配结果为把‘起始’,‘左1’,‘左2’,‘右1’,‘右2’等单元格聚合成一行。
如图3所示,在有跨行单元格的情况下进行单元格横向匹配,具体过程如下:
从‘起始’单元格开始,将横向单元格匹配过程分为向左向右两个方向进行,‘起始’单元格第一步向左匹配,匹配到单元格‘左1’,并发现其相对‘起始’单元格为跨行单元格,于是‘左1’单元格依据起始单元格坐标进行坐标更改,更改后的坐标如图3中‘左1’单元格上的四个黑点所示,‘起始’单元格第一步向右匹配,匹配到单元格‘右1’,并且‘右1’单元格相对起始单元格为非跨行单元格,则不用进行坐标更改,新一轮单元格匹配分别以更改坐标后的‘左1’单元格和保持原坐标的‘右1’单元格开始,‘左1’单元格继续向左匹配,匹配到单元格‘左2’,在匹配到‘左2’单元格后,‘左1’单元格恢复为原来的初始坐标,‘右1’单元格继续向右匹配,没有匹配到新的单元格,则向右匹配过程结束,下一轮行匹配只需进行向左匹配,以‘左2’单元格开始继续向左匹配,没有匹配到新的单元格,则向左匹配过程结束,至此以‘起始’单元格开始的行匹配过程结束,匹配结果为把‘起始’,‘左1’,‘左2’,‘右1’等单元格聚合成一行。
S33、列聚类时,从一个单元格开始,通过邻近匹配找到位于其上边相邻单元格和下边相邻单元格,并将新匹配到的单元格添加到同一列的列表中,进一步寻找新添加单元格的上下邻近单元格,以此循环往复直至没有新添加的单元格。
S331、对SBD模型获取的每个单元格外接四边形坐标进行坐标排序,得到单元格的坐标,通过单元格的坐标计算得到单元格的中心点坐标。
具体地,对每个单元格外接四边形四个点的坐标按照左上角顶点、右上角顶点、右下角顶点、左下角顶点顺时针排列,得到单元格A和单元格B的坐标为:
[Xa1,Ya1,Xa2,Ya2,Xa3,Ya3,Xa4,Ya4]和[Xb1,Yb1,Xb2,Yb2,Xb3,Yb3,Xb4,Yb4]。
单元格A和单元格B的中心点坐标的计算公式和步骤S321所述的单元格A和单元格B的中心点坐标的计算公式一致。
S332、选定一单元格为初始单元格,进行纵向上匹配和纵向下匹配,找到初始单元格的邻近单元格。
纵向上匹配和纵向下匹配统称列匹配,单元格A纵向上匹配到新的单元格B后,新的单元格B继续向上匹配,而不会进行向下的匹配的操作;单元格A纵向下匹配到新的单元格B后,新的单元格B继续向下匹配,而不会进行向上的匹配的操作。
S333、按照初始单元格和邻近单元格相邻边的长度,判定邻近单元格相对初始单元格是否为跨列的单元格;邻近单元格相对初始单元格为非跨列单元格时,直接通过邻近单元格进行新的一轮纵向邻接匹配;邻近单元格相对初始单元格为跨列单元格时,邻近单元格的坐标相对初始单元格的坐标进行暂时性更改,修改坐标后的邻近单元格继续纵向匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
当选取单元格A进行纵向上匹配时,对任意检测出的单元格B需要第一步判断单元格B的中心点是否在单元格A的上侧,第二步判断单元格A的上边中点是否位于单元格B左下角顶点和右下角顶点之间,获取所有满足条件的单元格,当满足条件的单元格数量大于1的时候需要按照中心点坐标对满足条件的单元格进行排序,中心点纵坐标最大的即为单元格A向上匹配时的邻近单元格。
当找到单元格A的上邻近单元格B后,按照单元格A和单元格B相邻边的长度,判定单元格B相对单元格A为是否为跨列的单元格,单元格B相对单元格A为非跨列单元格时,直接通过单元格B进行新的一轮向上邻接匹配,单元格B相对单元格A为跨列单元格时,单元格B的坐标依据单元格A的坐标进行暂时性的更改,以便单元格B向上匹配时能找到与单元格A和单元格B都处于同一列的单元格,修改坐标后的单元格B继续向上匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
当选取单元格A进行纵向下匹配时,对任意检测出的单元格B需要第一步判断单元格B的中心点是否在单元格A的下侧,第二步判断单元格A的下边中点是否位于单元格B左上角顶点和上角角顶点之间,获取所有满足条件的单元格,当满足条件的单元格数量大于1的时候需要按照中心点坐标对满足条件的单元格进行排序,中心点纵坐标最小的即为单元格A向下匹配时的邻近单元格。
当找到单元格A的下邻近单元格B后,按照单元格A和单元格B相邻边的长度,判定单元格B相对单元格A为是否为跨列的单元格。单元格B相对单元格A为非跨列单元格时,直接通过单元格B进行新的一轮向下邻接匹配,单元格B相对单元格A为跨列单元格时,单元格B的坐标依据单元格A的坐标进行暂时性的更改,以便单元格B向下匹配时能找到与单元格A和单元格B都处于同一列的单元格,修改坐标后的单元格B继续向下匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
如图4所示,表示在没有跨列单元格的情况下进行单元格纵向匹配,具体过程如下:
从‘起始’单元格开始,将纵向单元格匹配过程分为向上向下两个方向进行,第一步向上匹配,匹配到单元格‘上1’,第一步向下匹配,匹配到单元格‘下1’,新一轮单元格匹配分别以‘上1’和‘下1’开始,‘上1’单元格继续向上匹配,没有匹配到新的单元格,则向上匹配过程结束,‘下1’单元格继续向下匹配,匹配到单元格‘下2’,则下一轮列匹配只需进行向下匹配,以‘下2’单元格开始进行向下匹配,没有匹配到新的单元格,则向下匹配过程结束,至此以起始单元格开始的列匹配过程结束,匹配结果为把‘起始’,‘上1’,‘下1’,‘下2’等单元格聚合成一列。
如图5所示,表示在有跨列单元格的情况下进行单元格纵向匹配,具体过程如下:
从起始单元格开始,将纵向单元格匹配过程分为向上向下两个方向进行,起始单元格第一步向上匹配,匹配到单元格‘上1’,并发现其相对起始单元格为跨列单元格,于是‘上1‘单元格依据‘起始’单元格坐标进行坐标更改,更改后的坐标如图5中‘上1’单元格上的四个黑点所示,起始单元格第一步向下匹配,匹配到单元格‘下1’,并且‘下1’单元格相对‘起始’单元格为非跨列单元格,则不用进行坐标更改,新一轮单元格匹配分别以更改坐标后的‘上1’单元格和保持原坐标的‘下1’单元格开始,‘上1’单元格继续向上匹配,匹配到单元格‘上2’,在匹配到‘上2’单元格后,‘上1’单元格恢复为原来的初始坐标,‘下1’单元格继续向下匹配,匹配到新的单元格‘下2’,最后以‘上2’和‘下2’单元格开始新的列匹配过程,两个单元格都没有匹配到新的单元格,则以‘起始’单元格开始的列匹配过程结束,匹配结果为将‘起始’,‘上1’,‘上2’,‘下1’,‘下2’等单元格聚合成一列。
S34、通过表格行列聚类结果,预测出表格对应的HTML结构。
S341、通过坐标排序的方法,将聚类为行和列的单元格进行排序,以便于获得单元格对应的行和列的坐标。
通过行聚类后,所有的单元格被聚合成若干个集合,每个集合中的单元格处于同一行,计算每一个集合中所有单元格中心点坐标,并求平均值得到(Xz,Yz),每个集合求得一个中心点的平均值,将这些行集合按照中心点平均值的纵坐标进行排序,排序后的集合可以得到其所在对应的行序号,排在第一位置的集合表示为第一行的单元格集合,其所包含的所有单元格为处在第一行的单元格。
通过列聚类后,所有的单元格被聚合成若干个集合,每个集合中的单元格处于同一列,计算每一个集合中所有单元格中心点坐标,并求平均值得到(Xz,Yz),每个集合求得一个中心点的平均值,将这些行集合按照中心点平均值的横坐标进行排序,排序后的集合可以得到其所在对应的列序号,排在第一位置的集合表示为第一列的单元格集合,其所包含的所有单元格为处在第一列的单元格。
S342、跨行跨列的单元格会出现在多个单元格行列的集合内,通过计算单元格在集合中出现的次数,获取单元格跨行跨列的数量。
S343、根据单元格对应的行列坐标,和跨行跨列数量,预测出表格对应的HTML结构代码。
表格HTML结构代码由[<tr>,</tr>,<td>,</td>,<td rowspan=”n”>,<tdcolspan=”n”>]等符号组成,其中n为大于1的正整数。
S4、表格结构可视化恢复,根据预测出的表格HTML结构,恢复生成和表格图像中表格结构相同的可编辑形式的表格。
S41、将获取的HTML结构序列输入到结构可视化模块中,结构可视化模块根据序列组成生成表格的结构图像,便于直观分析表格结构识别结果,实现表格的结构可视化。
S42、对生成的表格结构图象进行文本***。文本***存在两种***方式,第一种是将***文本添加到结构序列中,在可视化时直接显示,第二种是点击表格结构图像中的单元格手动输入添加的文本。
如图6所示,结构可视化模块通过表格HTML结构预测结果对表格的结构进行可视化,通过结构可视化模块构建一个可编辑的电子表格,便于直观分析表格结构识别结果,且便于对识别的表格结果进行内容的***和填写。
实施例2:
本实施例提供了基于单元格检测的表格结构识别***,该***包括表格区域获取模块、单元格检测模块、表格结构预测模块、表格结构可视化恢复模块,各个模块的具体功能如下:
表格区域获取模块,用于通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
单元格检测模块,用于通过改进通用的顺序无关框分解网络(SBD)算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
表格结构预测模块,用于通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
表格结构可视化恢复模块,用于根据预测出的表格HTML结构,恢复生成和图像中表格结构相同的可编辑形式的表格。
实施例3:
本实施例提供了一种计算机设备,该计算机设备可以是服务器、计算机等,其包括通过***总线连接的处理器、存储器、输入装置、显示器和网络接口,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质和内存储器,该非易失性存储介质存储有操作***、计算机程序和数据库,该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境,处理器执行存储器存储的计算机程序时,实现上述实施例1的一种表格结构识别的方法,如下:
表格区域获取,通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
单元格检测,通过改进通用的SBD算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
表格结构预测,通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
表格结构可视化恢复,根据预测出的表格HTML结构,恢复生成和图像中表格结构相同的可编辑形式的表格。
综上所述,本发明通过单元格检测模块得到所有单元格的检测框,基于单元格的检测框通过邻接匹配算法恢复表格的结构,相对于现有的通过transformer和图卷积相关的方法,本发明有着较为简单的步骤流程,可以解决单元格数量很多的大型表格和单元格结构变换多样的复杂表格的结构识别问题。通过设计一种邻接匹配算法直接通过单元格的检测结果恢复表格的结构,本发明可以快速的通过邻接匹配找到每个单元格邻接的单元格,进一步将所处同一行或者同一列的单元格聚类成一个集合,获取单元格的行列信息,可以解决对跨行跨列单元格的结构恢复问题,因此相对于现有的方法具有更强的普适性。
本发明适用与对自然场景下获取的歪斜扭曲表格图像进行表格结构识别,而现有的方法几乎都是基于pdf格式的文档表格或者扫描的规整表格图像,本发明扩展了表格结构识别的应用场景。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.基于单元格检测的表格结构识别方法,其特征在于:包括以下步骤:
S1、表格区域获取,通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
S2、单元格检测,通过改进通用的SBD算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
S3、表格结构预测,通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
S4、表格结构可视化恢复,根据预测出的表格HTML结构,恢复生成和表格图像中表格结构相同的可编辑形式的表格。
2.根据权利要求1所述的表格结构识别方法,其特征在于:步骤S1具体包括:
S11、基于Cascade RCNN算法训练一个表格区域检测模型,用训练好的表格区域检测模型对表格图像进行检测,获取表格区域的检测框坐标;
S12、将表格区域的检测框进行扩大获取更大的检测框坐标;
S13、依据更大的检测框坐标在输入表格图像中将表格裁剪出来,生成新的表格图像。
3.根据权利要求1所述的表格结构识别方法,其特征在于:步骤S2具体包括:
S21、对通用SBD模型进行修改,设置更多尺寸的预设框,在SBD模型的输出结合SBD的检测框回归分支和SBD分解分支获取单元格检测结果;
S22、基于改进的SBD算法训练一个单元格检测模型,获取能够完整包裹每个独立单元格区域的最小外接四边形的四个顶点坐标。
4.根据权利要求1所述的表格结构识别方法,其特征在于:步骤S3具体包括:
S31、设计一种单元格邻接匹配算法,通过以聚类的方式为每个单元格找到对应的行和列,即将在同一行或者同一列的单元格聚合到一起;
S32、行聚类时,从一个单元格开始,通过邻近匹配找到位于其左边相邻单元格和右边相邻单元格,并将新匹配到的单元格添加到同一行的列表中,进一步寻找新添加单元格的左右邻近单元格,以此循环往复直至没有新添加的单元格;
S33、列聚类时,从一个单元格开始,通过邻近匹配找到位于其上边相邻单元格和下边相邻单元格,并将新匹配到的单元格添加到同一列的列表中,进一步寻找新添加单元格的上下邻近单元格,以此循环往复直至没有新添加的单元格;
S34、通过表格行列聚类结果,预测出表格对应的HTML结构。
5.根据权利要求4所述的表格结构识别方法,其特征在于:步骤S32具体包括:
S321、对SBD模型获取的每个单元格外接四边形坐标进行坐标排序,得到单元格的坐标,通过单元格的坐标计算得到单元格的中心点坐标;
S322、选定一单元格为初始单元格,进行横向左匹配和横向右匹配,找到初始单元格的邻近单元格;
S323、按照初始单元格和邻近单元格相邻边的长度,判定邻近单元格相对初始单元格是否为跨行的单元格;邻近单元格相对初始单元格为非跨行单元格时,直接通过邻近单元格进行新的一轮横向邻接匹配;邻近单元格相对初始单元格为跨行单元格时,邻近单元格的坐标相对初始单元格的坐标进行暂时性更改,修改坐标后的邻近单元格继续横向匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
6.根据权利要求5所述的表格结构识别方法,其特征在于:步骤S322进行横向左匹配和横向右匹配具体包括:
横向左匹配,选定一单元格为初始单元格,初始单元格向左匹配到新的单元格后,新的单元格继续向左匹配,而不会进行向右的匹配的操作;
横向右匹配,初始单元格向右匹配到新的单元格后,新的单元格继续向右匹配,而不会进行向左的匹配的操作。
7.根据权利要求4所述的表格结构识别方法,其特征在于:步骤S33具体包括:
S331、对SBD模型获取的每个单元格外接四边形坐标进行坐标排序,得到单元格的坐标,通过单元格的坐标计算得到单元格的中心点坐标;
S332、选定一单元格为初始单元格,进行纵向上匹配和纵向下匹配,找到初始单元格的邻近单元格;
S333、按照初始单元格和邻近单元格相邻边的长度,判定邻近单元格相对初始单元格是否为跨列的单元格;邻近单元格相对初始单元格为非跨列单元格时,直接通过邻近单元格进行新的一轮纵向邻接匹配;邻近单元格相对初始单元格为跨列单元格时,邻近单元格的坐标相对初始单元格的坐标进行暂时性更改,修改坐标后的邻近单元格继续纵向匹配单元格,待这一轮匹配过程结束后,恢复为原来的坐标。
8.根据权利要求1所述的表格结构识别方法,其特征在于:步骤S4具体包括:
S41、将获取的HTML结构序列输入到结构可视化模块中,结构可视化模块根据序列组成生成表格的结构图像;
S42、对生成的表格结构图象进行文本***。
9.基于单元格检测的表格结构识别***,其特征在于,所述***包括:
表格区域获取模块,用于通过表格区域检测模型从表格图像中定位出表格所在区域,生成新的表格图像;
单元格检测模块,用于通过改进通用的顺序无关框分解网络(SBD)算法,构建一个基于改进SBD算法的单元格检测模型,单元格检测模型对表格区域内所有单元格进行检测,获取包裹单元格的最小四边形的四个顶点坐标;
表格结构预测模块,用于通过设计一种单元格邻接匹配算法,根据检测的单元格的坐标找到在同一行或者同一列的单元格,通过表格行列聚类结果,预测出表格对应的HTML结构;
表格结构可视化恢复模块,用于根据预测出的表格HTML结构,恢复生成和表格图像中表格结构相同的可编辑形式的表格。
10.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-8任一项所述的表格结构识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111540686.XA CN114359939A (zh) | 2021-12-16 | 2021-12-16 | 基于单元格检测的表格结构识别方法、***和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111540686.XA CN114359939A (zh) | 2021-12-16 | 2021-12-16 | 基于单元格检测的表格结构识别方法、***和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114359939A true CN114359939A (zh) | 2022-04-15 |
Family
ID=81099453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111540686.XA Pending CN114359939A (zh) | 2021-12-16 | 2021-12-16 | 基于单元格检测的表格结构识别方法、***和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359939A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082941A (zh) * | 2022-08-23 | 2022-09-20 | 平安银行股份有限公司 | 表格文档影像的表格信息获取方法及装置 |
CN115620322A (zh) * | 2022-12-20 | 2023-01-17 | 华南理工大学 | 一种基于关键点检测的全线表表格结构识别方法 |
CN115688721A (zh) * | 2023-01-03 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种表格生成方法、装置、电子设备和存储介质 |
CN116645685A (zh) * | 2023-04-07 | 2023-08-25 | 北京百度网讯科技有限公司 | 表格识别方法、表格识别模型的训练方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144300A (zh) * | 2019-12-26 | 2020-05-12 | 杭州费尔斯通科技有限公司 | 一种基于图像识别的pdf表格结构识别方法 |
CN112528863A (zh) * | 2020-12-14 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 表格结构的识别方法、装置、电子设备及存储介质 |
KR20210140844A (ko) * | 2020-05-14 | 2021-11-23 | 지의소프트 주식회사 | 전자문서 내 테이블 정보 저장 시스템 및 그 방법 |
-
2021
- 2021-12-16 CN CN202111540686.XA patent/CN114359939A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144300A (zh) * | 2019-12-26 | 2020-05-12 | 杭州费尔斯通科技有限公司 | 一种基于图像识别的pdf表格结构识别方法 |
KR20210140844A (ko) * | 2020-05-14 | 2021-11-23 | 지의소프트 주식회사 | 전자문서 내 테이블 정보 저장 시스템 및 그 방법 |
CN112528863A (zh) * | 2020-12-14 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 表格结构的识别方法、装置、电子设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082941A (zh) * | 2022-08-23 | 2022-09-20 | 平安银行股份有限公司 | 表格文档影像的表格信息获取方法及装置 |
CN115620322A (zh) * | 2022-12-20 | 2023-01-17 | 华南理工大学 | 一种基于关键点检测的全线表表格结构识别方法 |
CN115620322B (zh) * | 2022-12-20 | 2023-04-07 | 华南理工大学 | 一种基于关键点检测的全线表表格结构识别方法 |
CN115688721A (zh) * | 2023-01-03 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种表格生成方法、装置、电子设备和存储介质 |
CN116645685A (zh) * | 2023-04-07 | 2023-08-25 | 北京百度网讯科技有限公司 | 表格识别方法、表格识别模型的训练方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114359939A (zh) | 基于单元格检测的表格结构识别方法、***和设备 | |
US20190266394A1 (en) | Method and device for parsing table in document image | |
CN109493400B (zh) | 手写样本生成方法、装置、计算机设备及存储介质 | |
CN110781648A (zh) | 一种基于深度学习的试卷自动转录***及方法 | |
CN110706314A (zh) | 元素布局方法、装置、电子设备及可读存储介质 | |
CN113283355A (zh) | 一种表格图像的识别方法、装置、计算机设备及存储介质 | |
CN113705286A (zh) | 一种表格检测与识别方法和介质 | |
CN114092938B (zh) | 图像的识别处理方法、装置、电子设备及存储介质 | |
CN110647885A (zh) | 基于图片识别的试卷拆分方法、装置、设备以及介质 | |
Zou et al. | A deep semantic segmentation model for image-based table structure recognition | |
CN116644729A (zh) | 表格文件处理方法、装置、计算机设备和存储介质 | |
CN110008923B (zh) | 图像处理方法和训练方法、以及装置、介质、计算设备 | |
CN111368707A (zh) | 基于特征金字塔与密集块的人脸检测方法、***、设备及介质 | |
CN111611883B (zh) | 基于最小单元格聚类的表格版面分析方法、***及设备 | |
CN102542278B (zh) | 基于dwt的自适应特征点提取和图像匹配 | |
JP6868052B2 (ja) | 画像認識装置、画像認識方法、画像認識プログラム及び画像認識システム | |
CN110929779B (zh) | 重建神经元质量检测方法、有序点云分类方法及装置 | |
CN115906786A (zh) | 煤质检测报告图像的表格自动化重建方法、存储介质及电子设备 | |
CN116229098A (zh) | 一种基于掩模轮廓跟踪的图像识别方法及相关产品 | |
CN115457581A (zh) | 表格提取方法、装置及计算机设备 | |
CN114359222B (zh) | 一种任意多边形目标检测方法、电子设备及存储介质 | |
CN115600570A (zh) | 一种电网设备预警限值表格重构方法、录入方法及装置 | |
CN114511862A (zh) | 表格识别方法、装置及电子设备 | |
Khan et al. | Isolated handwritten pashto characters recognition using KNN classifier | |
CN115482537B (zh) | 基于迭代聚类处理ocr识别结果的文本对齐方法及*** |
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 |