专利名称:一种表格信息提取方法及系统
专利类型:发明专利
专利申请号:CN202111665466.X
专利申请(专利权)人:北京译图智讯科技有限公司
权利人地址:北京市昌平区回龙观镇黄平路19号院2号5层520
专利发明(设计)人:饶顶锋,陶坚坚,刘伟
专利摘要:本发明属于图像处理和模式识别技术领域,公开了一种表格信息提取方法及系统,所述方法包括:获取表格图像;检测文本行位置,获取文本块坐标信息;识别文本行内容,获取文本块文字内容和方向信息;校正图像方向,根据文本块位置角度、方向信息计算出图像倾斜角度并进行倾斜校正;表格线分析预测,将图像输入到深度学习模型中,提取表格线特征图;分析融合表格线生成二值图;分析表格单元格信息,基于四边界线理论聚类并计算表格行列信息;融合单元格信息;格式化输出。本发明能对表格图像进行精准提取和复原,充分利用深度神经网络优秀的特征提取能力和传统图像处理算法高性能的优势,提升了方案的鲁棒性和通用性,表格提取速度和效果优良。
主权利要求:
1.一种表格信息提取方法,其特征在于,包括如下步骤:
步骤S1:获取表格图像;
步骤S2:检测文本行位置:将步骤S1中的表格图像输入文本行检测模型中预测,获取表格图像上每个文本块的坐标信息(x,y,w,h,angle),其中,(x,y)表示文本块的中心点位置坐标,(w,h)表示文本块的宽和高,angle表示文本块的角度;
步骤S3:识别文本行内容:将步骤S2检测出来的文本块输入到文本行识别模型,获取每个文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是
180°;
步骤S4:校正图像方向:根据S2步骤和S3步骤获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度并进行倾斜校正;
步骤S5:表格线分析预测:将步骤S4输出的图像输入到以图像实例分割为主的深度学习模型中进行分析,提取表格线特征图;
步骤S6:分析融合表格线:将步骤S5产生的表格线特征图融合生成一张二值图;
步骤S7:分析表格单元格信息:对步骤S6产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线(L,T,R,B),其中,L、T、R、B分别表示距离当前点距离最近的左边线、上边线、右边线和下边线的ID;然后根据背景点的边界属性进行聚类分析,即当两个像素点具有相同的边界属性时,则认这两个像素属于同一类,每类代表一个单元格;最后根据单元格的坐标信息和连接属性,进行表格行列信息计算;
步骤S8:融合单元格信息:结合步骤S2,步骤S3和步骤S7的输出结果,对单元格信息进行整合,获得表格结构信息;
步骤S9:格式化输出:将步骤S8输出的结果,按照数据格式或文件格式输出;
所述步骤S5中,深度学习模型包含如下算法步骤:
步骤S51:采用CNN+FPN的网络结构进行特征提取,其中,CNN表示卷积神经网络,包括但不局限于resnet,vgg,mobilenet卷积神经网络中的一种;FPN表示特征金字塔结构,是一种通用的网络结构;通过CNN+FPN的网络结构同时学习到图像底层特征图的空间信息和高层特征图的语义信息;
步骤S52:采用RPN网络进行表格区域生成:采用RPN网络对步骤S51输出的特征图进行表格区域ROI提取,即提取到多个表格候选区域;
步骤S53:表格分类分支和表格边界回归分支:对步骤S52输出的每个ROI进行ROIpooling池化,输出尺寸一致的特征图,pooling后再进行多个卷积,然后分别送入表格分类分支和表格边界回归分支;其中,表格分类分支就是进行一次类别数为2的全连接,表格边界回归分支就是进行一次2×4维的全连接;
步骤S54:表格线分割预测分支:对步骤S52输出的每个ROI进行RoIAlign池化,在RoIAlign进行多个卷积和反卷积操作得到mask的特征图,产生5通道的特征图,每个通道分别代表背景图bg,水平实线分割图h1,纵向实线分割图v1,水平虚拟线分割图h2,纵向虚拟线分割图v2;其中,bg表示背景点特征图,用于判断当前表格内某一像素是背景还是表格线,即如果当前像素的响应值大于设定阈值T2,则表示此像素为背景;h1表示水平方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T3,则表示当前像素点为有线表格中水平实线上一个点;v1表示垂直方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T4,则表示此像素点为有线表格中垂直方向实线上的一个点;h2表示水平方向的虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T5,则表示当前像素点是无线表格中水平虚拟线上的一个点;v2表示垂直方向上虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T6,则表示当前像素点是无线表格中垂直虚拟线上的一个点;通过此分支,可以同时获取当前图像上所有有线表格的所有线和所有无线表格的所有线。
2.根据权利要求1所述的一种表格信息提取方法,其特征在于,所述步骤S4具体包括如下步骤:
步骤S41:计算图像的角度:从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,以当前文本块的角度为中心、正负偏差5°进行角度聚类,最终选取包含文本块数目最大的类别来计算图像的倾斜角度并对图像进行倾斜校正;
步骤S42:将文本块坐标映射到校正后的图像上:根据步骤S41获取的图像倾斜角度,将步骤S2和步骤S3获取到的文本块信息进行旋转映射,即将文本坐标信息映射到倾斜校正后的图像上。
3.根据权利要求1所述的一种表格信息提取方法,其特征在于,所述步骤S51中,所述CNN采用resnet18作为特征提取网络。
4.根据权利要求1‑3任一项所述的一种表格信息提取方法,其特征在于,所述步骤S6具体包括如下步骤:步骤S61:水平方向线的融合:将h1特征图中响应值大于设定阈值T3的的点设置为255,其他点设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中水平方向的所有实线;同理,在h2特征图中,将响应值大于设定阈值T5的点设置为255,其他点设置为0,并拟合出无线表格中水平方向的所有虚拟线;
步骤S62:水平方向线的合并和过滤:通过步骤S61获取到了所有的水平线,将线的长度小于设定阈值d1的线删除,将两条水平线的纵向距离小于设定阈值d2的线进行合并,将两条水平线的首尾距离小于设定阈值d3的线进行合并;
步骤S63:垂直方向线的融合:将v1特征图中响应值大于设定阈值T4的点设置为255,其他点设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中垂直方向的所有实线;同理,在v2特征图中,将响应值大于设定阈值T6的点设置为255,其他点设置为0,并拟合出无线表格中垂直方向的所有虚拟线;
步骤S64:垂直方向线的合并和过滤:通过步骤S63获取到了所有垂直方向上的线,将线的长度小于设定阈值D1的线删除,将两条线的水平方向的距离小于设定阈值D2的线进行合并,将两条线的首尾距离小于设定阈值D3的线进行合并;
步骤S65:将步骤S62和步骤S64中获取的表格的水平线和垂直线进行融合,形成一张二值图。
5.根据权利要求4所述的一种表格信息提取方法,其特征在于,所述步骤S7具体包括如下步骤:
步骤S71:单元格初步分析:找到在表格范围内与每个背景点像素上下左右距离最近的四条边界线(L,T,R,B),其中,L表示当前点左边界线的ID,T表示当前点的上边界线的ID,R表示当前点右边界线的ID,B表示当前点的下边界线的ID,所述边界线为步骤S65中分析出来的所有水平线和垂直线;
如果当前点的某一边界线没有找到,对应的边界线的ID则设置为‑1,这样就对表格内部的所有背景点进行边界属性分析,可得到每个点的边界属性,然后根据点的边界属性进行初步聚类;
所述初步聚类规则为:当某两个点的边界属性完全一致,则两点归为同一类,设有相同的类别标签,并对同一类的像素进行最小面积矩形分析,获取得到对应矩形的四个角点,所述四个角点的坐标(x1,y1;x2,y2;x3,y3;x4,y4)就是当前类单元格的坐标信息,其中,(x1,y1)表示单元格左上角的坐标,(x2,y2)表示单元格右上角的坐标,(x3,y3)表示单元格右下角坐标,(x4,y4)表示单元格左下角坐标;
步骤S72:单元格过滤:对于由噪声产生的单元格进行删除;
步骤S73:单元格合并:当两个单元格的四个边界属性完全一致时,则将此两个单元格进行合并;
步骤S74:单元格修复:当表格线有断裂或者不完整的情况下产生一些重叠单元格时,对重叠单元格进行切分再合并,使其恢复到原始表格样式;
步骤S75:单元格补齐:对于边界线部分缺失的表格,将这部分单元格进行修复,使边界单元格能够对齐;对于同时缺失多条线的不规则表格,调整边界单元格的位置,使其按照完整的表格进行补齐;
步骤S76:表格行列信息计算:根据单元格的坐标信息和连接属性,计算出单元格的行列属性,即当前单元格属于表格的第几行第几列。
6.根据权利要求5所述的一种表格信息提取方法,其特征在于,所述步骤S75具体包括如下步骤:
步骤S751:计算表格边界线:找出表格的左边线、上边线、右边线和下边线,如果某一方向的边界线缺失,则根据已有线和已有单元格的信息计算出此方向上的边界线的位置;
步骤S752:查找边界单元格:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;
步骤S753:单元格对齐:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理设置,直至将边界单元格全部补齐并和边界线对齐,为后续的单元格所属行、所属列信息计算和表格还原提供完整的数据基础。
7.根据权利要求6所述的一种表格信息提取方法,其特征在于,所述步骤S8具体包括如下步骤:
步骤S81:估计字体大小:根据文本块的像素高度估算出字体的大小;
步骤S82:预测字体属性:在步骤S2的基础上,将文本块输入到字体分类器进行预测,获取当前文本块的字体属性;
步骤S83:单元格文本内容整合:根据步骤S2获取到的文本块位置信息和步骤S7获取到的单元格位置信息,以单元格为基准,对文本块内容进行切分或者合并,位于单元格内部的文本信息即为当前单元格的文本内容,根据单元格的位置和所属文本块的位置关系可估算出文本对齐方式,最终整合获得当前单元格的文本内容、位置信息、文本的字体、字号和对齐方式。
8.一种表格信息提取系统,用于实施权利要求1‑7任一项所述的一种表格信息提取方法,其特征在于,所述表格信息提取系统包括:表格图像获取模块、文本行分析模块、图像方向校正模块、表格线分析预测模块、表格线分析融合模块、表格单元格信息分析模块和单元格信息融合模块;
所述表格图像获取模块用于获取表格图像;
所述文本行分析模块包括文本行检测模型和文本行识别模型,所述文本行检测模型用于获取表格图像上每个文本块的坐标信息(x,y,w,h,angle);所述文本行识别模型获取文本行检测模型检测出来的文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是180°;
所述图像方向校正模块用于根据文本行分析模块获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度;
所述表格线分析预测模块用于将图像方向校正模块输出的图像输入到以图像实例分割为主的深度学习模型中进行预测,提取表格线特征图;
所述表格线分析融合模块用于将表格线分析预测模块产生的表格线特征图融合生成一张二值图;
所述表格单元格信息分析模块用于对表格线分析融合模块产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线,然后根据同一单元格内的像素点具有相同的边界属性的理论进行聚类分析,每类代表一个单元格;根据单元格的坐标信息和连接属性,进行表格行列信息计算;
所述单元格信息融合模块用于结合文本行分析模块和表格单元格信息分析模块的输出结果,对单元格信息进行整合,每个单元格都具有单元格位置信息、行列信息、单元格文本内容以及文本内容的字体属性信息;
所述格式化输出模块用于将单元格信息融合模块输出的结果,按照数据格式或文件格式输出。
9.根据权利要求8所述的一种表格信息提取系统,其特征在于:
所述图像方向校正模块包括图像角度计算模块和文本块坐标映射模块,所述图像角度计算模块从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,以当前文本块的角度为中心、正负偏差5°进行角度聚类,最终选取包含文本块数目最大的类别来计算获取图像的倾斜角度并对图像进行倾斜校正;所述文本块坐标映射模块根据图像角度计算模块获取的图像倾斜角度,将文本行分析模块获取到的文本块信息进行旋转映射到倾斜校正后的图像上;
所述表格线分析预测模块内置有深度学习模型,所述深度学习模型采用CNN+FPN的网络结构进行特征提取,然后采用RPN网络结构生成多个表格候选区域,对每个表格候选区域进行表格分类、表格边界回归和表格线分割预测,最终获取当前图像上所有有线表格的所有线和所有无线表格的所有线;
所述表格线分析融合模块包括水平方向线分析融合模块和垂直方向线分析融合模块,所述水平方向线分析融合模块利用最小二乘法拟合出水平方向的所有实线和虚拟线,并将水平线的长度小于设定阈值的线删除,将两条水平线的纵向距离小于设定阈值的线进行合并,将两条水平线的首尾距离小于设定阈值的线进行合并;同理,所述垂直方向线分析融合模块利用最小二乘法拟合出垂直方向的所有实线和虚拟线,并将垂直线的长度小于设定阈值的线删除,将两条线的水平方向的距离小于设定阈值的线进行合并,将两条线的首尾距离小于设定阈值的线进行合并;最终由所述表格线分析融合模块将水平方向线分析融合模块和垂直方向线分析融合模块获取的表格的水平线和垂直线进行融合,形成一张二值图;
所述表格单元格信息分析模块还包括表格边界线计算模块、边界单元格查找模块和单元格对齐模块;
所述格边界线计算模块找出表格的左边线,上边线,右边线和下边线,如果某一方向的边界线缺失,则根据已有线和已有单元格的信息计算出此方向上的边界线的位置;
所述边界单元格查找模块:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;
所述单元格对齐模块:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理设置,直至将边界单元格全部补齐并和边界线对齐,为后续的单元格所属行、所属列信息计算和表格还原提供完整的数据基础。 说明书 : 一种表格信息提取方法及系统技术领域[0001] 本发明属于图像处理和模式识别技术领域,具体涉及一种表格信息提取方法及系统。背景技术[0002] 随着移动互联技术、大数据以及5G技术的蓬勃发展,在日常工作、生活当中会产生大量的图片、文档,并需要对这些数据进行分析处理,例如在银行,保险,政务等工作流程中会产生大量的图片、文档数据,并且需要对些数据进行存档、数据分析、建模等,在响应降本增效的大环境下,催生了很多企业利用技术手段,辅助高效处理这些大数据,以提升企业的工作效率,降低运营成本。在日常办公处理的文件中,表格是非常常见的数据存储方式,因其有利于结构化信息的表达,所以人们喜欢用表格形式来展现数据。尽管表格中包含的信息非常丰富,但是很多时候表格要么是存放在PDF文档中,要么是以图片的形式展示,这样就不太利于对表格信息的抽取以及数据的处理,因此,基于表格数据自动分析处理的技术在日常工作当中显得尤为重要。[0003] 表格存在种类繁多、样式多变等特点,不同的获得方式也会对表格产生很大的差异性,比如文档类型既包括现代电子文档,也有历史手写文档,有通过扫描仪获取的文档或者图片,也有拍照设备获取到的图片,它们的文档样式、所处光照、背景环境都有比较大的差异,所以表格识别解析是文档、图像识别领域的研究重点和难点。表格识别解析的研究工作已经存在很多年了,涌现出非常多的方法,例如,从最早的基于规则的传统方法,到后来基于深度学习的方法,再到最近几年比较火的基于图卷积的方法。[0004] 传统的表格检测及分析技术:基本传统的图像处理方法一般采用图像二值化进行边缘检测,利用腐蚀、膨胀算法找连通区域,检测线段、直线,然后根据图像中的横线和纵线进行单元格分析。传统方法具有速度快、对硬件的依赖性不强、算法实施落地难度低等优势,但是传统方法非常依赖图像二值化或者边缘检测效果,对于一些拍照的或是模糊的图像,线的检测效果会非常不稳定,造成算法的适应性会比较差,且对于无线表格的提取,传统方法处理能力也非常有限。[0005] 基于深度学习的表格检测和分析技术:深度学习技术解决表格检测和结构分析的方案主要利用深度学习目标检测技术和图像分割技术来实现,一般分为两步,首先利用深度学习目标检测技术进行表格区域检测和表格分类,然后对表格区域的图像利用图像分割技术进行表格线分割,然后根据表格线进行单元格位置和行列分析。这种方案在检测精度上会远超传统方法,但在识别提取流程中至少需要两个或者两个以上的模型预测,并且模型是串行化运行,这种方案一方面在实际应用过程中对硬件的要求比较高,同时在样本的标注,模型的训练和维护的成本也会比较高,因此,这种方法在性能方面还有进一步提升的空间。[0006] 基于图神经网络技术方案:这类方案将文本块看作是图的顶点,将文本块之间的关系看作是图的边,分别对图的顶点和边做embedding(一种将离散变量转变为连续向量的方式),之后经过GCN(图卷积神经网络),对每个图的节点做分类判断,得出顶点之间存在某种关系的概率,这样将会得到表示文本块关系的邻接矩阵,根据这些邻接矩阵来还原表格结构,缺点是依赖于上层的文本行检测和文本行识别的效果,如果文本块的切分不理想,造成表格单元格分析的结果也不理想。整体流程各个步骤间的耦合性太强,一旦结果不理想,不能快速干预优化,不适合算法落地。发明内容[0007] 本发明旨在针对现有技术的上述缺陷,提供一种表格信息提取方法及系统,能够针对图像或文档中表格内容进行提取及结构复原,准确地提取表格单元的内容及表格结构信息,完整的复原表格结构并进行格式化输出,充分利用深度神经网络优秀的特征提取能力和传统图像处理算法高性能的优势,有效提升了方案的鲁棒性和通用性,表格提取速度和提取效果优良,具有广泛的应用前景。[0008] 本发明的技术方案结合了传统图像处理技术的优势和深度学习图像处理技术的优势,采用深度学习图像实例分割技术,能够准确预测出表格的位置信息,并同时预测出表格区域内的表格线信息,在此基础上再结合传统的图像处理分析技术,准确计算出表格结构信息,可实现高效的表格信息提取和表格结构复原。[0009] 具体地,为实现以上技术目的,本发明采用以下技术方案:[0010] 一种表格信息提取方法,包括如下步骤:[0011] 步骤S1:获取表格图像;[0012] 步骤S2:检测文本行位置:将步骤S1中的表格图像输入文本行检测模型中预测,获取表格图像上每个文本块的坐标信息(x,y,w,h,angle),其中,(x,y)表示文本块的中心点位置坐标,(w,h)表示文本块的宽和高,angle表示文本块的角度;[0013] 步骤S3:识别文本行内容:将步骤S2检测出来的文本块输入到文本行识别模型,获取每个文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是180°;[0014] 步骤S4:校正图像方向:根据S2步骤和S3步骤获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度并进行倾斜校正;[0015] 步骤S5:表格线分析预测:将步骤S4输出的图像输入到以图像实例分割为主的深度学习模型中进行分析,提取表格线特征图;[0016] 步骤S6:分析融合表格线:将步骤S5产生的表格线特征图融合生成一张二值图;[0017] 步骤S7:分析表格单元格信息:对步骤S6产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线(L,T,R,B),其中,L、T、R、B分别表示距离当前点距离最近的左边线、上边线、右边线和下边线的ID(ID为区分每条线的唯一编号);然后根据背景点的边界属性进行聚类分析,即当两个像素点具有相同的边界属性时(即有相同的左边线、相同的上边线、相同的右边线和相同的下边线),则认这两个像素属于同一类,每类代表一个单元格;最后根据单元格的坐标信息和连接属性,进行表格行列信息计算;[0018] 步骤S8:融合单元格信息:结合步骤S2,步骤S3和步骤S7的输出结果,对单元格信息进行整合,获得表格结构信息;[0019] 步骤S9:格式化输出:将步骤S8输出的结果,按照数据格式或文件格式输出。[0020] 进一步地,所述步骤S4具体包括如下步骤:[0021] 步骤S41:计算图像的角度:从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,以当前文本块的角度为中心、正负偏差5°进行角度聚类,最终选取包含文本块数目最大的类别来计算获取图像的倾斜角度并对图像进行倾斜校正;[0022] 步骤S42:将文本块坐标映射到校正后的图像上:根据步骤S41获取的图像倾斜角度,将步骤S2和步骤S3获取到的文本块信息进行旋转映射,即将文本坐标信息映射到倾斜校正后的图像上。[0023] 更进一步地,所述步骤S5中,深度学习模型包含如下算法步骤:[0024] 步骤S51:采用CNN+FPN的网络结构进行特征提取,其中,CNN表示卷积神经网络,包括但不局限于resnet,vgg,mobilenet卷积神经网络中的一种;FPN表示特征金字塔结构,是一种通用的网络结构;通过CNN+FPN网络结构可以同时学习到图像底层特征图的空间信息和高层特征图的语义信息;[0025] 步骤S52:采用RPN网络(RegionProposalNet,区域生成网络)进行表格区域生成:采用RPN网络对步骤S51输出的特征图进行表格区域ROI(regionofinterest,感兴趣区域)提取,即提取到多个表格候选区域;[0026] 步骤S53:表格分类分支和表格边界回归分支:对步骤S52输出的每个ROI进行ROIpooling(池化),输出尺寸一致的特征图,pooling后再进行多个卷积,然后分别送入表格分类分支和表格边界回归分支;其中,表格分类分支就是进行一次类别数为2的全连接(1×1×2),表格边界回归分支就是进行一次2×4维的全连接(1×1×2×4);[0027] 步骤S54:表格线分割预测分支:对步骤S52输出的每个ROI进行RoIAlign(一种池化方法),在RoIAlign进行多个卷积和反卷积操作,得到mask(掩膜)的特征图(512×512×5),产生5通道的特征图,每个通道分别代表背景图bg,水平实线分割图h1,纵向实线分割图v1,水平虚拟线分割图h2,纵向虚拟线分割图v2;其中,bg表示背景点特征图,用于判断当前表格内某一像素是背景还是表格线,即如果当前像素的响应值大于设定阈值T2,则表示此像素为背景;h1表示水平方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T3,则表示当前像素点为有线表格中水平实线上的一个点;v1表示垂直方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T4,则表示此像素点为有线表格中垂直实线上的一个点;h2表示水平方向的虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T5,则表示当前像素点是无线表格中水平虚拟线上的一个点;v2表示垂直方向上虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T6,则表示当前像素点是无线表格中垂直虚拟线上的一个点;通过此分支,可以同时获取当前图像上所有有线表格的所有线和所有无线表格的所有线。[0028] 更进一步地,所述步骤S51中,所述CNN采用resnet18作为特征提取网络,之所以没有采用resnet50/resnet101/densenet等更复杂的网络结构,主要有两方面的考虑,一方面是预测速度的考虑,实际应用中如果速度太慢,算法就无法落地;另一方面由于表格的特征比较明显,一般目标比较大,有明显的行列规格,因此,轻量级的网络就能够满足预测精度上的要求,从而实现速度和精度的平衡。[0029] 更进一步地,所述步骤S6具体包括如下步骤:[0030] 步骤S61:水平方向线的融合:将h1特征图中响应值大于设定阈值T3的点设置为255,其他点设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中水平方向的所有实线;同理,在h2特征图中,将响应值大于某设定阈值T5的点设置为255,其他点设置为0,并拟合出无线表格中水平方向的所有虚拟线;[0031] 步骤S62:水平方向线的合并和过滤:通过步骤S61获取到了所有的水平线,将线的长度小于设定阈值d1的线删除,将两条水平线的纵向距离小于设定阈值d2的线进行合并,将两条水平线的首尾距离小于设定阈值d3的线进行合并;[0032] 步骤S63:垂直方向线的融合:将v1特征图中响应值大于设定阈值T4的点设置为255,其他点设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中垂直方向的所有实线;同理,在v2特征图中,将响应值大于某设定阈值T6的点为255,其他点设置为0,并拟合出无线表格中出垂直方向的所有虚拟线;[0033] 步骤S64:垂直方向线的合并和过滤:通过步骤S63获取到了所有垂直方向上的线,将线的长度小于设定阈值D1的线删除,将两条线的水平方向的距离小于设定阈值D2的线进行合并,将两条线的首尾距离小于设定阈值D3的线进行合并;所述设定阈值D1‑D3的值可以根据需要设定为与d1‑d3的值相同或不同;[0034] 步骤S65:将步骤S62和步骤S64中获取的表格的水平线和垂直线进行融合,形成一张二值图。[0035] 更进一步地,所述步骤S7具体包括如下步骤:[0036] 步骤S71:单元格初步分析:找到在表格范围内与每个背景点像素上下左右距离最近的四条边界线(L,T,R,B),其中,L表示当前点左边界线的ID,T表示当前点的上边界线的ID,R表示当前点右边界线的ID,B表示当前点的下边界线的ID,所述边界线为步骤S65中分析出来的所有水平线和垂直线;[0037] 如果当前点的某一边界线没有找到,对应的边界线的ID则设置为‑1,这样就对表格内部的所有背景点进行边界属性分析,可得到每个点的边界属性,然后根据点的边界属性进行初步聚类;[0038] 所述初步聚类规则为:当某两个点的边界属性完全一致,则两点归为同一类,设有相同的类别标签,并对同一类的像素进行最小面积矩形分析,获取得到对应矩形的四个角点,所述四个角点的坐标(x1,y1,x2,y2,x3,y3,x4,y4)就是当前类单元格的坐标信息,其中,(x1,y1)表示单元格左上角的坐标,(x2,y2)表示单元格右上角的坐标,(x3,y3)表示单元格右下角坐标,(x4,y4)表示单元格左下角坐标;[0039] 步骤S72:单元格过滤:对于由噪声产生的单元格进行删除;[0040] 步骤S73:单元格合并:当两个单元格的四个边界属性完全一致时,则将此两个单元格进行合并;[0041] 步骤S74:单元格修复:当表格线有断裂或者不完整的情况下产生一些重叠单元格时,对重叠单元格进行切分再合并,使其恢复到原始表格样式;[0042] 步骤S75:单元格补齐:对于边界线部分缺失的表格会造成单元格的位置信息不准确,导致单元格边界位置无法对齐、无法正确还原表格样式,所以将这部分单元格进行修复,使边界单元格能够对齐;对于同时缺失多条线的不规则表格,调整边界单元格的位置,使其按照完整的表格进行补齐;[0043] 步骤S76:表格行列信息计算:根据单元格的坐标信息和连接属性,计算出单元格的行列属性,即当前单元格属于表格的第几行第几列。[0044] 更进一步地,所述步骤S75具体包括如下步骤:[0045] 步骤S751:计算表格边界线:找出表格的左边线,上边线,右边线和下边线,如果某一方向的边界线缺失,则根据已有线和已有单元格的信息计算出此方向上的边界线的位置;[0046] 步骤S752:查找边界单元格:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;[0047] 步骤S753:单元格对齐:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理设置,直至将边界单元格全部补齐并和边界线对齐,为后续的单元格所属行、所属列信息计算和表格还原提供完整的数据基础。[0048] 更进一步地,所述步骤S8具体包括如下步骤:[0049] 步骤S81:估计字体大小:根据文本块的像素高度估算出字体的大小;[0050] 步骤S82:预测字体属性:在步骤S2的基础上,将文本块输入到字体分类器进行预测,获取当前文本块的字体属性;[0051] 步骤S83:单元格文本内容整合:根据步骤S2获取到的文本块位置信息和步骤S7获取到的单元格位置信息,以单元格为基准,对文本块内容进行切分或者合并,位于单元格内部的文本信息即为当前单元格的文本内容,根据单元格的位置和所属文本块的位置关系可估算出文本对齐方式,最终整合获得当前单元格的文本内容、位置信息、文本的字体、字号和对齐方式。[0052] 本发明还提供了一种表格信息提取系统,用于实施上述任一种表格信息提取方法,所述表格信息提取系统包括:表格图像获取模块、文本行分析模块、图像方向校正模块、表格线分析预测模块、表格线分析融合模块、表格单元格信息分析模块和单元格信息融合模块;[0053] 所述表格图像获取模块用于获取表格图像;[0054] 所述文本行分析模块包括文本行检测模型和文本行识别模型,所述文本行检测模型用于获取表格图像上每个文本块的坐标信息(x,y,w,h,angle);所述文本行识别模型获取文本行检测模型检测出来的文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是180°;[0055] 所述图像方向校正模块用于根据文本行分析模块获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度;[0056] 所述表格线分析预测模块用于将图像方向校正模块输出的图像输入到以图像实例分割为主的深度学习模型中进行分析,提取表格线特征图;[0057] 所述表格线分析融合模块用于将表格线分析预测模块产生的表格线特征图融合生成一张二值图;[0058] 所述表格单元格信息分析模块用于对表格线分析融合模块产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线,然后根据同一单元格内的像素点具有相同的边界属性的理论进行聚类分析,每类代表一个单元格;根据单元格的坐标信息和连接属性,进行表格行列信息计算;[0059] 所述单元格信息融合模块用于结合文本行分析模块和表格单元格信息分析模块的输出结果,对单元格信息进行整合,每个单元格都具有单元格位置信息、行列信息、单元格文本内容以及文本内容的字体属性信息;[0060] 所述格式化输出模块用于将单元格信息融合模块输出的结果,按照数据格式或文件格式输出。[0061] 进一步地,所述图像方向校正模块包括图像角度计算模块和文本块坐标映射模块,所述图像角度计算模块从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,以当前文本块的角度为中心、正负偏差5°进行角度聚类,最终选取包含文本块数目最大的类别来计算获取图像的倾斜角度并对图像进行倾斜校正;所述文本块坐标映射模块根据图像角度计算模块获取的图像倾斜角度,将文本行分析模块获取到的文本块信息进行旋转映射到倾斜校正后的图像上;[0062] 所述表格线分析预测模块内置有深度学习模型,所述深度学习模型采用CNN+FPN的网络结构进行特征提取,然后采用RPN网络结构生成多个表格候选区域,对每个表格候选区域进行表格分类、表格边界回归和表格线分割预测,最终获取当前图像上所有有线表格的所有线和所有无线表格的所有线;[0063] 所述表格线分析融合模块包括水平方向线分析融合模块和垂直方向线分析融合模块,所述水平方向线分析融合模块利用最小二乘法拟合出水平方向的所有实线和虚拟线,并将水平线的长度小于设定阈值的线删除,将两条水平线的纵向距离小于设定阈值的线进行合并,将两条水平线的首尾距离小于设定阈值的线进行合并;同理,所述垂直方向线分析融合模块利用最小二乘法拟合出垂直方向的所有实线和虚拟线,并将垂直线的长度小于设定阈值的线删除,将两条线的水平方向的距离小于设定阈值的线进行合并,将两条线的首尾距离小于设定阈值的线进行合并;最终由所述表格线分析融合模块将水平方向线分析融合模块和垂直方向线分析融合模块获取的表格的水平线和垂直线进行融合,形成一张二值图;[0064] 所述表格单元格信息分析模块还包括表格边界线计算模块、边界单元格查找模块和单元格对齐模块;[0065] 所述格边界线计算模块找出表格的左边线,上边线,右边线和下边线,如果某一方向的边界线缺失,则根据已有线和已有单元格的信息计算出此方向上的边界线的位置;[0066] 所述边界单元格查找模块:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;[0067] 所述单元格对齐模块:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理设置,直至将边界单元格全部补齐并和边界线对齐,为后续的单元格所属行、所属列信息计算和表格还原提供完整的数据基础。[0068] 与现有技术相比,本发明所产生的有益效果是:[0069] (1)本发明采用深度学习图像处理技术替代传统图像处理技术进行表格检测和表格线检测,提高了表格检测和表格线检测的精度,提升了算法的鲁棒性和适应性,比如传统方法对于拍照表格图像、模糊表格图像的适应性很差,而采用深度学习方案,在模型训练中加入一些图像增强技术(模拟一些复杂场景下的表格图像),让模型在训练过程中自动学习复杂场景下的图像特征,有效地提升了方案的鲁棒性和通用性,表格提取速度和提取效果优良;[0070] (2)本发明提出了端对端的表格检测及表格线检测的深度学习方案,一个模型可以同时预测表格区域、表格类型和表格线特征图,相对于两阶段任务的方案(一个模型用于表格区域检测和表格类型预测,一个模型用于表格线分割)不仅减少了一个模型,降低了方案的复杂度,同时,端对端方案充分利用了深度学习参数共享的特性,降低了整个流程的预测时间,在RTX2070的GPU上,两阶段任务耗时240ms,而本发明的端对端检测耗时为140ms,性能提升明显;[0071] (3)本发明提出的单元格分析方法,是基于同一单元格的背景像素点共享单元格的四条边界线的理论进行聚类分析,得出单元格的位置,能直接处理单元格跨行和跨列的情况,同时,对于不规则表格、表格线断裂、表格线不完整、表格线缺失等情况,本发明单元格的还原效果也非常出色,其处理速度明显优于基于规则的传统图像处理方法和现有的采用深度学习的技术方案;此外,由于单元格最终结果取决于前一阶段的表格线检测效果,本发明在表格线检测的关键阶段采用的是深度学习技术,因此,在不影响最终单元格分析结构的情况下,本发明的技术方案在处理速度上有明显的优势;[0072] (4)本发明的表格信息提取方法及系统能精确还原表格结构和表格格式信息,包括文本的字号、字体和对齐方式等,还原效果突出;[0073] (5)本发明的表格单元分析过程中不需要区分有线表格和无线表格,两类表格的处理流程一致,有效降低了处理流程的复杂度。附图说明[0074] 图1为本发明实施例的表格信息提取算法流程图;[0075] 图2为本发明实施例的表格文本检测行为示例图;[0076] 图3为本发明实施例的表格文本识别行为示例图;[0077] 图4为本发明实施例的表格图像倾斜校正的示例图;[0078] 图5为本发明实施例的端对端表格检测及表格线分割算法结构图;[0079] 图6为本发明实施例的端对端表格检测及表格线分割算法行为示例图;[0080] 图7为根据本发明实施例的表格线融合过程示例图;[0081] 图8为根据本发明实施例的表格单元格分析过程示例图;[0082] 图9为根据本发明实施例的无线表格信息提取结果示例图;[0083] 图10为根据本发明实施例的有线表格信息提取结果示例图;[0084] 图11为根据本发明实施例的单元格补齐示例图;[0085] 图12为根据本发明实施例的单元格初步聚类分析结果示意图;[0086] 图13为根据本发明实施例的有线表格断裂情况下的单元格修复流程示意图,其中,a表示有断裂线的有线表格原图,b表示单元格初步分析的结果,表格线断裂处会分析出1/2/3三个单元格,c是b图中1/2/3三个单元格位置信息的详细示意图,d表示经过单元格修复后最终的结果,即将三个单元格修复成符合表格结构信息的两个单元格;[0087] 图14为根据本发明实施例的有表格边界线缺失情况下的边界单元格补齐流程示意图;其中,A表示带有表格线缺少的表格原图;B表示表格线分析结果;C表示单元格分析结果,对应图中用数字1标识单元格位置;D表示表格的四条边界线分析结果,对应图中用数字1、2、3、4分别标识四条边界线的位置;E表示表格的边界单元格分析结果,对应图中用数字1标识边界单元格;F表示单元格补齐后的结果示意图,对应图中标识为数字1的位置进行了单元格补齐,使得补齐后表格在行列格式上是完整对齐的。[0088] 注:图2、图4、图6、图9‑图11不清晰,不影响本发明技术方案的公开和理解。具体实施方式[0089] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0090] 结合图1所示,本发明提供了一种表格信息提取方法,包括如下步骤:[0091] 步骤S1:获取表格图像,所述表格图像的格式支持JPG、BMP、TIFF、PNG、WORD、EXCEL、PDF、GIF,HEIC等文件格式,支持的图片来源方式包括电子文档、扫描仪扫描获取的文件、拍照设备拍照获取的文件;[0092] 步骤S2:检测文本行位置:将步骤S1中的表格图像输入文本行检测模型中预测,可以获取表格图像上每个文本块的坐标信息(x,y,w,h,angle),其中(x,y)表示文本块的中心点位置坐标,(w,h)表示文本块的宽和高,angle表示文本块的角度,所述文本行检测模型支持360°任意方向的文本行检测,如图2所示,其中图2的左图为待检测的原图,右图为文本行检测结果;[0093] 步骤S3:识别文本行内容:将步骤S2检测出来的文本块输入到文本行识别模型,即可获取每个文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是180°,如图3所示;[0094] 步骤S4:校正图像方向:根据S2步骤和S3步骤获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度并进行倾斜校正,如图4所示,其中,图4的左图为有倾斜待校对的原图,右图为倾斜校正后的图像。[0095] 所述步骤S4具体包括如下步骤:[0096] 步骤S41:计算图像的角度:从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,识别精度低于或等于设定阈值T1的文本行不参与计算,将大于设定阈值T1的文本块按照角度聚类,以当前文本块的角度为中心、正负偏差5°进行聚类,最终选取包含文本块数目最大的类别来计算图像的倾斜角度并对图像进行倾斜校正,经过此步骤,不管输入的图像是0度、90度、180度还是其他角度,都会将图像旋转为角度接近0度的图像;[0097] 步骤S42:将文本块坐标映射到校正后的图像上:经过步骤S41,图像进行了倾斜校正,并获取到了图像的倾斜角度,根据此角度,将步骤S2和步骤S3获取到的文本块信息进行旋转映射,即将文本坐标信息映射到倾斜校正后的图像上;[0098] 步骤S5:表格线分析预测,将步骤S4输出的图像输入到以图像实例分割为主的深度学习模型中进行分析,获取表格线特征图,所述深度学习模型的主体结构如图5所示,其包含的算法步骤如下:[0099] 步骤S51:采用CNN+FPN的网络结构进行特征提取:其中,CNN表示卷积神经网络,在实际实现过程中可以是resnet,vgg,mobilenet等任意一种卷积神经网络;FPN表示特征金字塔结构,是一种通用的网络结构;通过CNN+FPN网络结构可以同时学习到图像底层特征图的空间信息和高层特征图的语义信息;[0100] 作为优选方案,所述步骤S51采用resnet18+FPN作为特征提取网络,之所以没有采用resnet50/resnet101/densenet等更复杂的CNN网络结构主要有两方面的考虑,一方面是预测速度的考虑,实际应用中如果速度太慢,算法就无法落地;另一方面由于表格的特征比较明显,一般目标比较大,有明显的行列规格等特点,因此,轻量级的网络就能够满足预测精度上的要求,从而实现速度和精度的平衡;[0101] 步骤S52:采用RPN网络(RegionProposalNet,区域生成网络)进行表格区域生成:采用RPN网络对步骤S51输出的特征图进行表格区域ROI(regionofinterest,感兴趣区域)提取,即提取到多个表格候选区域;[0102] 步骤S53:表格分类分支和表格边界回归分支:对步骤S52输出的每个ROI进行ROIpooling池化,输出尺寸一致的特征图,pooling池化后,再进行多个卷积,然后分别送入表格分类分支和表格边界回归分支;其中,表格分类分支就是进行一次类别数为2的全连接(1×1×2),可判断得出表格是有线表格还是无线表格;表格边界回归分支就是进行一次2×4维的全连接(1×1×2×4);[0103] 步骤S54:表格线分割预测分支:对步骤S52输出的每个ROI进行RoIAlign池化,为了提高mask(掩膜)边界的精度采用RoIAlign池化方法,这种方法可以解决ROIpooling方法产生的特征图与原始图像不对准的(mis‑alignment)的问题,一定程度上可以提高mask边界预测的准确度;在RoIAlign进行多个卷积和反卷积操作,得到mask的特征图(512×512×5),此分支产生mask的分辨率比较高,如果分辨率过低,对于一些密集的表格线在特征图上可能就无法分离,及多条线合并到一起了,因此采用比较高的分辨率可以适应各种密度的表格线的预测情况;[0104] 表格线分割预测分支产生5通道的特征图,每个通道分别代表背景图bg,水平实线分割图h1,纵向实线分割图v1,水平虚拟线分割图h2,纵向虚拟线分割图v2,如图6所示。其中,bg表示背景点特征图,用于判断当前表格内某一像素是背景还是表格线,即如果当前像素的响应值大于设定阈值T2,则表示此像素为背景;h1表示水平方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T3,则表示当前像素点为有线表格中水平实线上的一个点;v1表示垂直方向的实线分割图,即如果分割图中某一像素点的响应值大于设定阈值T4,则表示此像素点为有线表格中垂直方向实线上的一个点;h2表示水平方向的虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T5,则表示当前像素点是无线表格中水平虚拟线上的一个点;v2表示垂直方向上虚拟线分割图,即如果分割图上的某一像素点的响应值大于设定阈值T6,则表示当前像素点是无线表格中垂直虚拟线上的一个点;通过此分支,可以同时获取当前图像上所有有线表格的所有线和所有无线表格的所有线;需要指出说明的是,上述设定阈值T2‑T6均根据需要进行设定,可以设定为相同的值,也可以设定为不同的值。[0105] 步骤S6:分析融合表格线,将步骤S5产生的表格线特征图融合生成一张二值图,所述步骤S6具体可包括:[0106] 步骤S61:水平方向线的融合,将h1特征图中响应值大于设定阈值T3的点设置为255,其他设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中水平方向的所有实线;同理在h2特征图中,将响应值大于设定阈值T5的点设置为255,其他点设置为0,并拟合出无线表格中水平方向的所有虚拟线;[0107] 步骤S62:水平方向线的合并和过滤,通过步骤S61获取到了所有的水平线,将线的长度小于设定阈值d1的线删除,将两条水平线的纵向距离小于设定阈值d2的线进行合并,将两条水平线的首尾距离小于设定阈值d3的线进行合并;[0108] 步骤S63:垂直方向线的融合,将v1特征图中响应值大于设定阈值T4的点设置为255,其他点设置为0,形成一张二值图,利用连通分析,获取每条线的所有前景点,然后利用最小二乘法拟合出有线表格中垂直方向的所有实线;同理,在v2特征图中,将响应值大于某设定阈值T6的点设置为255,其他点设置为0,并拟合出垂直方向的所有虚拟线;[0109] 步骤S64:垂直方向线的合并和过滤,通过步骤S63获取到了所有垂直方向上的线,将线的长度小于设定阈值D1的线删除,将两条线的水平方向的距离小于设定阈值D2的线进行合并,将两条线的首尾距离小于设定阈值D3的线进行合并;所述设定阈值D1‑D3的值可以根据需要设定为与d1‑d3的值相同或不同;[0110] 步骤S65:将步骤S62和步骤S64中获取的表格的水平线和垂直线进行融合,形成一张二值图,如图7所示。[0111] 步骤S7:分析表格单元格信息:对步骤S6产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线(L,T,R,B),其中,L、T、R、B分别表示距离当前点距离最近的左边线、上边线、右边线和下边线的ID(ID为区分每条线的唯一编号);然后根据背景点的边界属性进行聚类分析,即当两个像素点具有相同的边界属性时(即有相同的左边线、相同的上边线、相同的右边线和相同的下边线),则认这两个像素属于同一类,每类代表一个单元格;最后根据单元格的坐标信息和连接属性,进行表格行列信息计算;此单元格分析方法能够处理单元格跨行跨列的情况,也能够处理表格线断裂、表格线不完整、以及不规则表格的单元格分析提取和复原,示例效果如图8所示,其中图8的左图为表格线融合效果图,中间的图为背景像素聚类效果图,右图为最终单元格分析效果图。[0112] 所述步骤S7具体可包括:[0113] 步骤S71:单元格初步分析:理论上同一个单元格内的所有背景点都共享相同的四条边界线,即有相同的左边界线,右边界线,上边界线和下边界线;基于此,在表格范围内找到与每个背景点像素上下左右距离最近的四条边界线(L,T,R,B),其中,L表示当前点左边界线的ID,T表示当前点的上边界线的ID,R表示当前点右边界线的ID,B表示当前点的下边界线的ID,所述边界线为步骤S65中分析出来的所有水平线和垂直线;[0114] 如果当前点的某一边界线没有找到,对应的边界线的ID则设置为‑1,这样就对表格内部的所有背景点进行边界属性分析,可得到每个点的边界属性,然后根据点的边界属性进行初步聚类;[0115] 所述初步聚类规则为:当某两个点的边界属性完全一致,则两点归为同一类,设有相同的类别标签,并对同一类的像素进行最小面积矩形分析,获取得到对应矩形的四个角点,所述四个角点的坐标(x1,y1,x2,y2,x3,y3,x4,y4)就是当前类单元格的坐标信息,其中,(x1,y1)表示单元格左上角的坐标,(x2,y2)表示单元格右上角的坐标,(x3,y3)表示单元格右下角坐标,(x4,y4)表示单元格左下角坐标,初步聚类结果示意图如图12所示;[0116] 步骤S72:单元格过滤,对于一些由噪声产生的单元格进行过滤,比如小于一定尺寸的单元格被认为是噪声,对其进行删除;[0117] 步骤S73:单元格合并:当个两单元格的四个边界属性完全一致时,则将此两个单元格进行合并;[0118] 步骤S74:单元格修复:当表格线有断裂或者不完整的情况下产生一些重叠单元格时,需要对重叠单元格进行切分再合并,使其恢复到原始表格样式,其原理是:当两个单元格有三条边界的属性相同,并且重合率大于阈值T,首先将大的单元格进行切分,如图13的流程示意图所示,其中,图13的a表示有断裂线的有线表格原图,b表示单元格初步分析的结果,表格线断裂处会分析出1/2/3三个单元格,c是b图中1‑3三个单元格位置信息的详细示意图,d表示经过单元格修复后最终的结果,即将三个单元格修复成符合表格结构信息的两个单元格;从图13中可以看出,单元格2和单元格1是满足条件的,则对单元格个进行水平方向的切分,则产生两个新的单元格分别为4和5,那么单元格4和单元格1是完全重叠的,则合并这两个单元格为单元格1,同理,将单元格5和单元格3合并为单元格3,此步骤能够修复线断裂、线不完整情况下的单元格的精确位置信息;[0119] 步骤S75:单元格补齐:在一些表格中会出现边界线部分缺失的情况,如图11所示,图11中的左图的左边界线不完整造成单元格的位置信息不准确,导致单元格边界位置无法对齐、无法正确还原表格样式,所以需要将这部分单元格进行修复,使边界单元格能够对齐,得到如图11中右图所示的效果;还有一些表格同时丢失多条线或者本身就是不规则表格,如流程示意图14所示,需要调整边界单元格的位置,使其按照完整的表格进行补齐,其中,A表示带有表格线缺少的表格原图;B表示表格线分析结果;C表示单元格分析结果,对应图中用数字1标识单元格位置;D表示表格的四条边界线分析结果,对应图中用数字1、2、3、4分别标识四条边界线的位置;E表示表格的边界单元格分析结果,对应图中用数字1标识边界单元格;F表示单元格补齐后的结果示意图,对应图中标识为数字1的位置进行了单元格补齐,使得补齐后表格在行列格式上是完整对齐的。所述步骤75的具体步骤如下;[0120] 步骤S751:计算表格边界线:即找出表格的左边线、上边线、右边线和下边线,如果某一方向的边界线缺失,则需要根据已有线和已有单元格的信息计算出此方向上的边界线的位置(即虚拟出来);[0121] 步骤S752:查找边界单元格:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;[0122] 步骤S753:单元格对齐:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理,通过此步骤,边界单元格都全部补齐并和边界线对齐,为后续的行列计算(单元格所属行所属列计算)和表格还原提供了完整的数据基础;[0123] 步骤S76:表格行列信息计算,根据单元格的坐标信息和连接属性,计算出单元的行列属性,即当前单元格属于表格的第几行第几列。[0124] 步骤S8:融合单元格信息,结合步骤S2、步骤S3和步骤S7的输出结果,对单元格信息进行整合,获得表格结构信息,具体步骤如下:[0125] 步骤S81:估计字体大小,根据文本块的像素高度估算出字体的大小;[0126] 步骤S82:预测字体属性,在步骤S2的基础上,将文本块输入到字体分类器进行预测,获取当前文本块的字体属性;[0127] 步骤S83:单元格文本内容整合,单元格文本内容整合:根据步骤S2获取到的文本块位置信息和步骤S7获取到的单元格位置信息,以单元格为基准,对文本块内容进行切分或者合并,位于单元格内部的文本信息即为当前单元格的文本内容,根据单元格的位置和所属文本块的位置关系可估算出文本对齐方式,经过此步骤S83,最终可整合获得当前单元格的文本内容、位置信息、文本的字体、字号和对齐方式;[0128] 步骤S9:格式化输出,在步骤S8的基础上进行格式化输出,比如可以输出xml、json等格式化数据,也可以导出word,excel,csv和txt等格式化文件。[0129] 图9为无线表格经过本发明表格信息提取方法提取、结构化还原的示例图,其中,图9中左图为待提取还原的无线表格原图,右图为无线表格提取结果图;图10为有线表格经过经过本发明表格信息提取方法提取、结构化还原的的示例图,其中,图10的左图为待提取还原的有线表格原图,右图为有线表格提取结果图。[0130] 本发明提供的一种表格信息提取系统,用于实施上述表格信息提取方法,所述表格信息提取系统包括:表格图像获取模块、文本行分析模块、图像方向校正模块、表格线分析预测模块、表格线分析融合模块、表格单元格信息分析模块和单元格信息融合模块。[0131] 具体地,所述表格图像获取模块用于获取表格图像;所述表格图像的格式支持JPG、BMP、TIFF、PNG、WORD、EXCEL、PDF、GIF,HEIC等文件格式,支持的图片来源方式包括电子文档、扫描仪扫描获取的文件、拍照设备拍照获取的文件。[0132] 所述文本行分析模块包括文本行检测模型和文本行识别模型,所述文本行检测模型用于获取表格图像上每个文本块的坐标信息(x,y,w,h,angle),其中(x,y)表示文本块的中心点位置坐标,(w,h)表示文本块的宽和高,angle表示文本块的角度,所述文本行检测模型支持360°任意方向的文本行检测;所述文本行识别模型获取文本行检测模型检测出来的文本块的文字内容和文本块的方向信息,所述文本块方向信息包括判断文本块是0°还是180°。[0133] 所述图像方向校正模块根据文本行分析模块获取的每个文本块的位置角度信息和方向信息,计算出图像的倾斜角度;所述图像方向校正模块包括图像角度计算模块和文本块坐标映射模块,所述图像角度计算模块从所有文本行中选择检测精度和识别精度都大于设定阈值T1的文本行进行图像整体角度的计算,以当前文本块的角度为中心、正负偏差5°进行角度聚类,最终选取包含文本块数目最大的类别来计算获取图像的倾斜角度并对图像进行倾斜校正;所述文本块坐标映射模块根据图像角度计算模块获取的图像倾斜角度,将文本行分析模块获取到的文本块信息进行旋转映射到倾斜校正后的图像上。[0134] 所述表格线分析预测模块用于将图像方向校正模块输出的图像输入到以图像实例分割为主的深度学习模型中进行分析,提取表格线特征图;所述表格线分析预测模块内置有深度学习模型,所述深度学习模型采用采用CNN+FPN的网络结构进行特征提取,然后采用RPN网络结构生成多个表格候选区域,对每个表格候选区域进行表格分类、表格边界回归和表格线分割预测,最终获取当前图像上所有有线表格的所有线和所有无线表格的所有。[0135] 所述表格线分析融合模块用于将表格线分析预测模块产生的表格线特征图融合生成一张二值图;所述表格线分析融合模块包括水平方向线分析融合模块和垂直方向线分析融合模块,所述水平方向线分析融合模块利用最小二乘法拟合出水平方向的所有实线和虚拟线,并将水平线的长度小于设定阈值的线删除,将两条水平线的纵向距离小于设定阈值的线进行合并,将两条水平线的首尾距离小于设定阈值的线进行合并;同理,所述垂直方向线分析融合模块利用最小二乘法拟合出垂直方向的所有实线和虚拟线,并将垂直线的长度小于设定阈值的线删除,将两条线的水平方向的距离小于设定阈值的线进行合并,将两条线的首尾距离小于设定阈值的线进行合并;最终由所述表格线分析融合模块将水平方向线分析融合模块和垂直方向线分析融合模块获取的表格的水平线和垂直线进行融合,形成一张二值图。[0136] 所述表格单元格信息分析模块用于对表格线分析融合模块产生的表格线二值图进行表格单元格分析,分析基于同一个单元格内的背景像素点都共享相同的上、下、左、右四条边界线的理论,在表格范围内找到与每个背景点上下左右距离最近的四条边界线,然后根据共线属性将背景点进行聚类,每类代表一个单元格;根据单元格的坐标信息和连接属性,进行表格行列信息计算;所述表格单元格信息分析模块还包括表格边界线计算模块、边界单元格查找模块和单元格对齐模块:[0137] 所述格边界线计算模块找出表格的左边线,上边线,右边线和下边线,如果某一方向的边界线缺失,则根据已有线和已有单元格的信息计算出此方向上的边界线的位置;[0138] 所述边界单元格查找模块:通过查找单元格的四条边界属性和表格四条边界线的关系,找出表格中的所有边界单元格;[0139] 所述单元格对齐模块:对边界单元格和表格四边线进行分析,如果是上边界单元格,则将此单元格的上边界线设置为当前表格的上边界线,其他方向的边界单元格同理设置,直至将边界单元格全部补齐并和边界线对齐,为后续的单元格所属行、所属列信息计算和表格还原提供完整的数据基础。[0140] 所述单元格信息融合模块用于结合文本行分析模块和表格单元格信息分析模块的输出结果,对单元格信息进行整合,每个单元格都具有单元格位置信息、行列信息、单元格文本内容以及文本内容的字体属性信息;[0141] 所述格式化输出模块用于将单元格信息融合模块输出的结果,按照数据格式或文件格式输出,如可以输出xml、json等格式化数据,也可以导出word,excel,csv和txt等格式化文件。[0142] 以上所述仅为本申请的实施例而已,并不用以限制本发明。凡在本发明的申请范围内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
专利地区:北京
专利申请日期:2021-12-31
专利公开日期:2024-07-26
专利公告号:CN114419647B