CN112528813A - 表格识别方法、装置以及计算机可读存储介质 - Google Patents
表格识别方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112528813A CN112528813A CN202011407580.8A CN202011407580A CN112528813A CN 112528813 A CN112528813 A CN 112528813A CN 202011407580 A CN202011407580 A CN 202011407580A CN 112528813 A CN112528813 A CN 112528813A
- Authority
- CN
- China
- Prior art keywords
- line
- text
- image
- candidate
- foreground
- 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.)
- Granted
Links
Images
Classifications
-
- 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/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- 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/413—Classification of content, e.g. text, photographs or tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及表格识别技术领域,具体提供了一种表格识别方法,旨在解决现有表格识别方法泛化性差、精准度不佳的技术问题。根据本发明实施例的方法,可以采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;根据表格线前景图获取待识别表格图像的表格结构;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置;根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。通过上述步骤,可以提高表格识别的精准度,并且泛化性好。
Description
技术领域
本发明涉及表格识别技术领域,具体涉及一种表格识别方法、装置以及计算机可读存储介质。
背景技术
表格是文本的常见内容,工作中常常需要将图像中的表格转化为可编辑的文件格式,手动输入是最简单的方法,但这一方法在处理大量表格时效率很低,而且较容易出错。目前较常用的方法是使用图像获取设备获取表格图像后,采用图像特征提取表格框线,比如文本块特征、表格区域逻辑关系特征、线交点特征等对表格图像进行识别,进而输出识别结果。
然而,上述识别方法对清晰或者比较简单的表格图像进行识别的效果较好,对于存在表格线断裂和弯曲等问题的低质量表格图像或者比较复杂的表格图像进行识别的效果不佳,甚至出现漏识别的情况,识别精准度差。
相应地,本领域需要一种新的表格识别方案来解决上述问题。
发明内容
为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决现有表格识别方法泛化性差,识别精准度不佳的技术问题的表格识别方法、装置以及计算机可读存储介质。
第一方面,提供一种表格识别方法,所述表格识别方法包括:
采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;
根据所述表格线前景图获取所述待识别表格图像的表格结构;
对所述待识别表格图像进行文本行检测,以获取所述待识别表格图像中文本行的第一文本行位置;
根据所述表格结构中单元格的位置,获取在所述文本前景图中相应位置处存储的所述待识别表格图像中文本行的第二文本行位置;
根据所述单元格的位置、所述第一文本行位置和所述第二文本行位置,获取与所述单元格关联的最终的文本行位置;
根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像,对所述文本行图像进行文本识别并且将识别出的文本信息存储至所述单元格内,以形成识别后的表格。
在上述表格识别方法的一个技术方案中,“获取待识别表格图像的表格线前景图和文本前景图”的步骤具体包括:
采用所述预设的图像识别模型对所述待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取所述表格线前景图和所述文本前景图;
其中,所述预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;
所述表格线前景标签图与所述表格图像样本的尺寸相同,所述表格线前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在表格线;
所述文本前景标签图与所述表格图像样本的尺寸相同,所述文本前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在文本行。
在上述表格识别方法的一个技术方案中,所述预设的图像识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算所述图像识别模型的损失值;
其中,所述n表示表格图像样本的数量,n=1,2,3,...,N;所述h和w分别表示所述表格图像样本的高度和宽度,h=1,2,3,...,H,w=1,2,3,...,W;所述表示根据第n个表格图像样本对应的表格线前景标签图与文本前景标签图确定出的在所述第n个表格图像样本中位置(h,w)处的标签值;所述表示所述图像识别模型输出的在所述第n个表格图像样本中位置(h,w)处的标签预测值;
根据所述损失值计算所述图像识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述图像识别模型的模型参数进行模型优化,以完成训练。
在上述表格识别方法的一个技术方案中,所述表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:
对表格图像中的每个单元格,随机设定填充文本;
根据所述单元格的边线的位置,生成初始的表格线前景标签图;根据所述填充文本的位置,生成初始的文本前景标签图;
对所述填充文本分别进行水平方向对齐和垂直方向对齐,所述水平方向对齐与所述垂直方向对齐均包括左对齐、居中和右对齐;
对所述单元格的边线与所述单元格内填充文本之间的区域进行随机空白填充;
随机设置所述单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;
将所述规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对所述填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;
对所述初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;
根据所述最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对所述初始的文本前景标签图和所述初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。
在上述表格识别方法的一个技术方案中,“获取与所述单元格关联的最终的文本行位置”的步骤具体包括:
根据对所述待识别表格图像进行文本行检测的结果,获取所述待识别表格图像中文本行对应的文本行检测框与第一文本行位置;
根据所述单元格的位置,获取所述文本行检测框中与所述单元格存在重叠区域的重叠检测框并且计算所述单元格与每个所述重叠检测框的重叠比例;
选取所述重叠比例大于等于预设的重叠阈值的重叠检测框,将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置。
在上述表格识别方法的一个技术方案中,在“将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置”的步骤之后,所述方法还包括:
判断是否存在未关联文本行位置的单元格;
当存在未关联文本行位置的单元格时,获取所述单元格对应的第二文本行位置;
分别对所述第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;
判断所述水平投影线段与所述垂直投影线段的长度之和是否大于等于长度阈值;
若是,则将所述第二文本行位置作为与所述单元格关联的最终的文本行位置。
在上述表格识别方法的一个技术方案中,“根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像”的步骤具体包括:
获取在所述待识别表格图像中所述最终的文本行位置对应的文本行图像;
若所述最终的文本行位置关联一个单元格,则直接将所述文本行图像作为所述单元格对应的文本行图像;
若所述最终的文本行位置关联多个单元格,则根据每个所述单元格的位置与所述最终的文本行位置对所述文本行图像进行切分,以获取每个所述单元格各自对应的文本行图像片段。
在上述表格识别方法的一个技术方案中,“根据所述表格线前景图获取所述待识别表格图像的表格结构”的步骤具体包括:
提取所述表格线前景图中横向轮廓线和竖向轮廓线;
获取所述横向轮廓线与所述竖向轮廓线的交点并作为候选交点;
判断在每个所述候选交点各自对应的所述横向轮廓线上是否存在与其相邻的其他候选交点;
若是,则对每个所述候选交点以及各自对应的所述相邻的其他候选交点进行连线,以获取第一候选连线;
若否,则按照预设的候选交点排列顺序,对每个所述候选交点以及排列在每个所述候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线;
计算每个待分析候选连线在所述表格线前景图中的覆盖比例,并且选取所述覆盖比例大于等于预设的覆盖阈值的所述待分析候选连线作为有效连线;
根据所述有效连线进行单元格路径搜索,以获取候选单元格;
对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构;
其中,所述待分析候选连线是第一候选连线或第二候选连线,所述第一候选连线对应的所述预设的覆盖阈值小于所述第二候选连线对应的所述预设的覆盖阈值。
在上述表格识别方法的一个技术方案中,“提取所述表格线前景图中横向轮廓线和竖向轮廓线”的步骤具体包括:
利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取所述横向轮廓线;
利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取所述竖向轮廓线;
其中,所述预设的横向核为1行N列的矩阵且矩阵元素均是1,所述预设的竖向核是N行1列的矩阵且矩阵元素均是1;
并且/或者,
“计算每个所述待分析候选连线在所述表格线前景图中的覆盖比例”的步骤具体包括:
获取所述待分析候选连线在所述表格线前景图上经过的像素总数量;
获取所述待分析候选连线在所述表格线前景图上经过的像素中,属于所述表格线前景图中表格线的像素的数量;
计算所述属于所述表格线前景图中表格线的像素的数量与所述像素总数量的比值,以获取所述待分析候选连线的覆盖比例;
并且/或者,
“根据所述有效连线进行单元格路径搜索,以获取候选单元格”的步骤具体包括:
从每个所述有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个所述有效连线各自对应的其他有效连线;
根据每个所述有效连线以及各自对应的所述的其他有效连线,生成候选单元格。
在上述表格识别方法的一个技术方案中,在“对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构”的步骤之后,所述方法还包括按照下列方式生成每个所述表格结构的表格索引:
将所述表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线;
将所述表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线;
获取能够与其他候选横线延长交叠的待处理候选横线,并且对所述待处理候选横线以及所述的其他候选横线进行延长合并,以形成合并的候选横线;
获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对所述待处理候选纵线以及所述的其他候选纵线进行延长合并,以形成合并的候选纵线;
按照预设的横线排列顺序,分别为所述合并的候选横线以及其他未经所述延长合并的候选横线分配横向索引号;
按照预设的纵线排列顺序,分别为所述合并的候选纵线以及其他未经所述延长合并的候选纵线分配纵向索引号;
根据所述横向索引号与所述纵向索引号生成表格结构的表格索引。
第二方面,提供一种表格识别装置,所述表格识别装置包括:
前景图获取模块,其被配置成采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;
表格结构获取模块,其被配置成根据所述表格线前景图获取所述待识别表格图像的表格结构;
文本行关联模块,其被配置成对所述待识别表格图像进行文本行检测,以获取所述待识别表格图像中文本行的第一文本行位置;根据所述表格结构中单元格的位置,获取在所述文本前景图中相应位置处存储的所述待识别表格图像中文本行的第二文本行位置;根据所述单元格的位置、所述第一文本行位置和所述第二文本行位置,获取与所述单元格关联的最终的文本行位置;
表格生成模块,其被配置成根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像,对所述文本行图像进行文本识别并且将识别出的文本信息存储至所述单元格内,以形成识别后的表格。
在上述表格识别装置的一个技术方案中,所述前景图获取模块还被配置成执行以下操作:
采用所述预设的图像识别模型对所述待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取所述表格线前景图和所述文本前景图;
其中,所述预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;
所述表格线前景标签图与所述表格图像样本的尺寸相同,所述表格线前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在表格线;
所述文本前景标签图与所述表格图像样本的尺寸相同,所述文本前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在文本行。
在上述表格识别装置的一个技术方案中,所述前景图获取模块还被配置成执行以下操作:
所述预设的图像识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算所述图像识别模型的损失值;
其中,所述n表示表格图像样本的数量,n=1,2,3,...,N;所述h和w分别表示所述表格图像样本的高度和宽度,h=1,2,3,...,H,w=1,2,3,...,W;所述表示根据第n个表格图像样本对应的表格线前景标签图与文本前景标签图确定出的在所述第n个表格图像样本中位置(h,w)处的标签值;所述表示所述图像识别模型输出的在所述第n个表格图像样本中位置(h,w)处的标签预测值;
根据所述损失值计算所述图像识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述图像识别模型的模型参数进行模型优化,以完成训练。
在上述表格识别装置的一个技术方案中,所述前景图获取模块还被配置成执行以下操作:
所述表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:
对表格图像中的每个单元格,随机设定填充文本;
根据所述单元格的边线的位置,生成初始的表格线前景标签图;根据所述填充文本的位置,生成初始的文本前景标签图;
对所述填充文本分别进行水平方向对齐和垂直方向对齐,所述水平方向对齐与所述垂直方向对齐均包括左对齐、居中和右对齐;
对所述单元格的边线与所述单元格内填充文本之间的区域进行随机空白填充;
随机设置所述单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;
将所述规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对所述填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;
对所述初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;
根据所述最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对所述初始的文本前景标签图和所述初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。
在上述表格识别装置的一个技术方案中,所述文本行关联模块还被配置成执行以下操作:
根据对所述待识别表格图像进行文本行检测的结果,获取所述待识别表格图像中文本行对应的文本行检测框与第一文本行位置;
根据所述单元格的位置,获取所述文本行检测框中与所述单元格存在重叠区域的重叠检测框并且计算所述单元格与每个所述重叠检测框的重叠比例;
选取所述重叠比例大于等于预设的重叠阈值的重叠检测框,将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置。
在上述表格识别装置的一个技术方案中,在“将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置”的步骤之后,所述文本行关联模块还被配置成执行以下操作:
判断是否存在未关联文本行位置的单元格;
当存在未关联文本行位置的单元格时,获取所述单元格对应的第二文本行位置;
分别对所述第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;
判断所述水平投影线段与所述垂直投影线段的长度之和是否大于等于长度阈值;
若是,则将所述第二文本行位置作为与所述单元格关联的最终的文本行位置。
在上述表格识别装置的一个技术方案中,所述表格生成模块还被配置成执行以下操作:
获取在所述待识别表格图像中所述最终的文本行位置对应的文本行图像;
若所述最终的文本行位置关联一个单元格,则直接将所述文本行图像作为所述单元格对应的文本行图像;
若所述最终的文本行位置关联多个单元格,则根据每个所述单元格的位置与所述最终的文本行位置对所述文本行图像进行切分,以获取每个所述单元格各自对应的文本行图像片段。
在上述表格识别装置的一个技术方案中,所述表格结构获取模块还被配置成执行以下操作:
提取所述表格线前景图中横向轮廓线和竖向轮廓线;
获取所述横向轮廓线与所述竖向轮廓线的交点并作为候选交点;
判断在每个所述候选交点各自对应的所述横向轮廓线上是否存在与其相邻的其他候选交点;
若是,则对每个所述候选交点以及各自对应的所述相邻的其他候选交点进行连线,以获取第一候选连线;
若否,则按照预设的候选交点排列顺序,对每个所述候选交点以及排列在每个所述候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线;
计算每个待分析候选连线在所述表格线前景图中的覆盖比例,并且选取所述覆盖比例大于等于预设的覆盖阈值的所述待分析候选连线作为有效连线;
根据所述有效连线进行单元格路径搜索,以获取候选单元格;
对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构;
其中,所述待分析候选连线是第一候选连线或第二候选连线,所述第一候选连线对应的所述预设的覆盖阈值小于所述第二候选连线对应的所述预设的覆盖阈值。
在上述表格识别装置的一个技术方案中,所述表格结构获取模块还被配置成执行以下操作:
利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取所述横向轮廓线;
利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取所述竖向轮廓线;
其中,所述预设的横向核为1行N列的矩阵且矩阵元素均是1,所述预设的竖向核是N行1列的矩阵且矩阵元素均是1;
并且/或者,
“计算每个所述待分析候选连线在所述表格线前景图中的覆盖比例”的步骤具体包括:
获取所述待分析候选连线在所述表格线前景图上经过的像素总数量;
获取所述待分析候选连线在所述表格线前景图上经过的像素中,属于所述表格线前景图中表格线的像素的数量;
计算所述属于所述表格线前景图中表格线的像素的数量与所述像素总数量的比值,以获取所述待分析候选连线的覆盖比例;
并且/或者,
“根据所述有效连线进行单元格路径搜索,以获取候选单元格”的步骤具体包括:
从每个所述有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个所述有效连线各自对应的其他有效连线;
根据每个所述有效连线以及各自对应的所述的其他有效连线,生成候选单元格。
在上述表格识别装置的一个技术方案中,在“对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构”的步骤之后,所述表格结构获取模块还被配置成执行以下操作:
将所述表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线;
将所述表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线;
获取能够与其他候选横线延长交叠的待处理候选横线,并且对所述待处理候选横线以及所述的其他候选横线进行延长合并,以形成合并的候选横线;
获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对所述待处理候选纵线以及所述的其他候选纵线进行延长合并,以形成合并的候选纵线;
按照预设的横线排列顺序,分别为所述合并的候选横线以及其他未经所述延长合并的候选横线分配横向索引号;
按照预设的纵线排列顺序,分别为所述合并的候选纵线以及其他未经所述延长合并的候选纵线分配纵向索引号;
根据所述横向索引号与所述纵向索引号生成表格结构的表格索引。
第三方面,提供一种表格识别装置,该表格识别装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述任一项技术方案所述的表格识别方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述任一项技术方案所述的表格识别方法。
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
在实施本发明的技术方案中,通过采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;根据表格线前景图获取待识别表格图像的表格结构;对待识别表格图像进行文本行检测,以获取待识别表格图像中文本行的第一文本行位置;根据表格结构中单元格的位置,获取在文本前景图中相应位置处存储的待识别表格图像中文本行的第二文本行位置;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置;根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。
在获取待识别表格图像中的表格结构时,可以根据表格线前景图中表格线的位置信息,重新构建出待识别表格图像的表格结构,即使是存在表格线断裂和弯曲等问题的低质量图像,也可以根据表格线前景图中表格线的位置信息,重新进行表格线连接,构建出规整的表格结构,即实现了对存在断裂和弯曲等问题的表格线进行校正。
在获取表格结构中每个单元格内存储的文本信息时,可以根据待识别表格图像中文本行的文本行位置(第一文本行位置)以及单元格的位置,获取与单元格对应的文本行位置,然后根据这个文本行位置从待识别表格图像中获取相关的图像进行文本识别,识别出的文本信息就是这个单元格要存储的信息。然而,在实际应用中,待识别表格图像中的一部分文本的字体可能比较小,在对待识别表格图像进行文本行检测时,可能会遗漏这些字体比较小的文本行。对此,可以根据文本前景图存储的待识别图像中每个文本行的文本行位置(第二文本行位置)以及单元格的位置进行位置比对,获取与单元格位置相同或相近的文本行位置,根据这个文本行位置(最终的文本行位置)从待识别表格图像中获取相关的图像进行文本识别,识别出的文本信息就是这个单元格要存储的信息。通过上述方式,可以防止发生对待识别图像中的文本漏识别,或者将识别出的文本信息存储到错误的单元格内,从而提高了对待识别表格图像的文本识别准确性。
附图说明
下面参照附图来描述本发明的具体实施方式,附图中:
图1是根据本发明的一个实施例的表格识别方法的主要步骤流程示意图;
图2是本发明的一个实施例的表格图像样本的示意图;
图3是本发明的一个实施例的表格图像样本的标签图;
图4是本发明的一个实施例的表格线前景图的示意图;
图5是本发明的一个实施例的横向轮廓线的示意图;
图6是本发明的一个实施例的竖向轮廓线的示意图;
图7是本发明的一个实施例的候选交点的示意图;
图8是本发明的一个实施例的候选连线的示意图;
图9是本发明的一个实施例的候选连线在表格线前景图中的覆盖比例的示意图;
图10是本发明的一个实施例的单元格路径搜索的示意图;
图11是本发明的一个实施例的搜索方向的示意图;
图12是本发明的一个实施例的表格结构的表格索引的示意图;
图13是本发明的一个实施例的表格图像文本行检测框的示意图;
图14是本发明的一个实施例的文本前景的示意图;
图15是图14中文本前景的局部放大示意图;
图16是根据本发明的一个实施例的表格识别装置的主要结构框图。
附图标记列表:
11:前景图获取模块;12:表格结构获取模块;13:文本行关联模块;14:表格生成模块。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
目前传统的表格识别方法是使用图像获取设备获取表格图像后,采用图像特征提取表格框线,比如文本块特征、表格区域逻辑关系特征、线交点特征等对表格图像进行识别,进而输出识别结果。然而,上述识别方法对清晰或者比较简单的表格图像进行识别的效果较好,对于模糊、干扰较大或者比较复杂的表格图像进行识别的效果不佳,精准度差。
在本发明实施例中,可以采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;根据表格线前景图获取待识别表格图像的表格结构;对待识别表格图像进行文本行检测,以获取待识别表格图像中文本行的第一文本行位置;根据表格结构中单元格的位置,获取在文本前景图中相应位置处存储的待识别表格图像中文本行的第二文本行位置;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置;根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。通过上述步骤,完全克服了现有表格识别方法泛化性差,识别精准度不佳的缺陷,不仅能够识别存在表格线断裂和弯曲等问题的低质量图像,也能够提高对待识别表格图像的文本识别准确性。
在本发明的一个应用场景中,某单位想要识别票据图像中的表格,可以将票据图像输入至安装了根据本发明的一个实施例的表格识别装置的计算机设备中,以便该计算机设备能够利用这个表格识别装置识别票据图像中的表格,在识别完成后计算机设备可以通过屏幕显示识别出的表格,或者将识别出的表格加载至Microsoft Office Excel软件中进行显示。
参阅附图1,图1是根据本发明的一个实施例的表格识别方法的主要步骤流程示意图。如图1所示,本发明实施例中的表格识别方法主要包括以下步骤:
步骤S101:采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图。
表格线前景图指的是,将表格线从待识别表格图像中单独分离出来,表示待识别表格图像中表格线位置的图,表格线前景图只表示表格线是否存在及其位置,与表格线的实际粗细与是否断裂等无关。
文本前景图指的是,将文本从待识别表格图像中单独分离出来,表示待识别表格图像中文本位置的图,文本前景图只表示文本是否存在及其位置,与文本的实际内容无关。
在本实施例中,表格线前景图与文本前景图可以使用RGB三通道图像中的不同通道图像进行表示,以便表格线前景图与文本前景图同时在一副图像中进行显示。例如:表格线前景图可以是0通道图像(蓝色通道图像),文本前景图可以是1通道图像(绿色通道图像)。
一个实施方式中,可以按照下列步骤获取待识别表格图像的表格线前景图和文本前景图:
采用预设的图像识别模型对待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取表格线前景图和文本前景图;其中,预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;表格线前景标签图与表格图像样本的尺寸相同,表格线前景标签图中每个像素点的位置存储的标签值取决于表格图像样本中相应位置处是否存在表格线;文本前景标签图与表格图像样本的尺寸相同,文本前景标签图中每个像素点的位置存储的标签值取决于表格图像样本中相应位置处是否存在文本行。在本实施方式中,利用预设的图像识别模型获取表格线前景图和文本前景图,表格线前景图表示待识别表格图像中表格线的位置,便于后续通过表格线前景图获取待识别表格图像的表格结构;文本前景图表示待识别表格图像中文本行的位置,便于后续通过文本前景图将识别到的文本行进行查漏补缺。
在一种可能的实施方式中,若表格图像样本中某个位置处存在表格线,则表格线前景标签图中相应位置存储的标签值为1,否则为0;同样的,若表格图像样本中某个位置处存在文本行,则文本前景标签图中相应位置存储的标签值为1,否则为0。
在一个可能的实施方式中,如图2和3所示,图2表示生成的表格图像样本,图3是图2所示的表格图像样本的表格线前景-文本前景标签图,其中,标注1指示的线条表示表格线前景标签图中的表格线且表格线存储在“表格线前景-文本前景标签图”的0通道中,即“表格线前景-文本前景标签图”的0通道图像就是表格图像样本的表格线前景标签图,标注2指示的矩形框表示文本前景标签图中的文本行且文本行存储在“表格线前景-文本前景标签图”的1通道中,即“表格线前景-文本前景标签图”的1通道图像就是表格图像样本的文本前景标签图。将图3中的0通道图像和1通道图像表格线和文本行进行分解即可得到表格线前景标签图和文本前景标签图。
一个实施方式中,预设的图像识别模型是通过下列方式训练得到的:利用公式(1)所示的损失函数L并且根据表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算图像识别模型的损失值;
其中,n表示表格图像样本的数量,n=1,2,3,...,N;h和w分别表示表格图像样本的高度和宽度,h=1,2,3,...,H,w=1,2,3,...,W;表示根据第n个表格图像样本对应的表格线前景标签图与文本前景标签图确定出的在第n个表格图像样本中位置(h,w)处的标签值;表示图像识别模型输出的在第n个表格图像样本中位置(h,w)处的标签预测值;根据损失值计算图像识别模型中每个模型参数各自对应的梯度,并且根据梯度反向传播更新图像识别模型的模型参数进行模型优化,以完成训练。在本实施方式中,通过这样的设置,提高图像识别模型识别表格线前景图和文本前景图的准确度。
在本实施方式中,图像识别模型可以是Unet神经网络模型,包括4层下采样卷积层和4层上采样卷积层。进行模型训练时,可以通过完成指定次数的迭代训练对模型进行优化而得到预设的图像识别模型,也可以通过迭代训练使得L达到预设值对模型进行优化而得到预设的图像识别模型。
一个实施方式中,表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:对表格图像中的每个单元格,随机设定填充文本;根据单元格的边线的位置,生成初始的表格线前景标签图;根据填充文本的位置,生成初始的文本前景标签图;对填充文本分别进行水平方向对齐和垂直方向对齐,水平方向对齐与垂直方向对齐均包括左对齐、居中和右对齐;对单元格的边线与单元格内填充文本之间的区域进行随机空白填充;随机设置单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;将规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;对初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;根据最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对初始的文本前景标签图和初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。在本实施方式中,通过上述步骤,对表格图像进行数据增强,模拟真实表格的多种情况,减少了表格图像样本的生成以及标注工作,同时获得了大量的训练样本,提高模型训练的准确度。此外,通过将规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景四个层次进行随机的像素值填充,一方面,通过随机的像素值填充保证表格图像外观的多样性,模拟真实场景中单元格颜色填充、拍照导致的表格线粗细和颜色深浅差异、文字笔画粗细和颜色深浅差异等;另一方面,通过划分成四个层次,在对每个层次进行随机的像素值填充时,实现对各层次随机范围的控制,保证表格线和文字可见,与背景保持一定对比度,不被背景掩盖导致不可见,从而保证表格图像样本的质量,提高模型训练的准确度。
在本实施方式中,填充文本包括但不限于汉字、字母和数字,填充文本可以设置为一行,也可以设置为多行,每行文本可以设置为一个字符,也可以设置为多个字符。在将规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充之后,还将填充后的填充文本前景、表格线前景、单元格内背景和表格外背景进行合并,以形成初始的表格图像样本。
步骤S102:根据表格线前景图获取待识别表格图像的表格结构。
在本实施例中,可以按照以下步骤根据表格线前景图获取待识别表格图像的表格结构:
步骤11:提取表格线前景图中横向轮廓线和竖向轮廓线。
一个实施方式中,步骤11的步骤具体包括:利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取横向轮廓线;利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取竖向轮廓线;其中,预设的横向核为1行N列的矩阵且矩阵元素均是1,预设的竖向核是N行1列的矩阵且矩阵元素均是1。
步骤12:获取横向轮廓线与竖向轮廓线的交点并作为候选交点。
步骤13:判断在每个候选交点各自对应的横向轮廓线上是否存在与其相邻的其他候选交点;若是,则对每个候选交点以及各自对应的相邻的其他候选交点进行连线,以获取第一候选连线;若否,则按照预设的候选交点排列顺序,对每个候选交点以及排列在每个候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线。
步骤14:计算每个待分析候选连线在表格线前景图中的覆盖比例,并且选取覆盖比例大于等于预设的覆盖阈值的待分析候选连线作为有效连线;其中,待分析候选连线是第一候选连线或第二候选连线,第一候选连线对应的预设的覆盖阈值小于第二候选连线对应的预设的覆盖阈值。
一个实施方式中,步骤14中的“计算每个待分析候选连线在表格线前景图中的覆盖比例”的步骤具体包括:获取待分析候选连线在表格线前景图上经过的像素总数量;获取待分析候选连线在表格线前景图上经过的像素中,属于表格线前景图中表格线的像素的数量;计算属于表格线前景图中表格线的像素的数量与像素总数量的比值,以获取待分析候选连线的覆盖比例。
步骤15:根据有效连线进行单元格路径搜索,以获取候选单元格。
一个实施方式中,步骤15的步骤具体包括:从每个有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个有效连线各自对应的其他有效连线;根据每个有效连线以及各自对应的其他有效连线,生成候选单元格。
步骤16:对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构。
在本实施方式中,通过选取水平角度小于等于预设角度阈值的连线作为第二候选连线,可以避免非表格结构上的候选交点连接成候选连线,同时可以避免候选交点连接错误产生错误连线;通过计算每个待分析候选连线在表格线前景图中的覆盖比例,进一步筛选候选连线是否连接错误;通过先判断在每个候选交点各自对应的横向轮廓线上是否存在与其相邻的其他候选交点并且进行连线以获取第一候选连线,第一候选连线对应的预设的覆盖阈值小于第二候选连线对应的预设的覆盖阈值,可以将有一定弯曲程度的连线判定为有效连线,从而能够处理弯曲表格图像,提高了弯曲表格图像识别的鲁棒性。
在本实施方式中,预设的候选交点排列顺序可以从左到右、从上到下排列,先判断在每个候选交点各自对应的横向轮廓线上是否存在与其相邻的其他候选交点,若是,则对每个候选交点以及各自对应的相邻的其他候选交点进行连线,每个候选交点横向进行一次连线后不再与其他横向交点进行连线,例如,从左到右排列时,只对第一个候选交点以及与其相邻的第二个候选交点进行连线,对第二个候选交点以及与其相邻的第三个候选交点进行连线,不对第一个候选交点以及第三个候选交点进行连线。本领域技术人员可以根据实际灵活设置预设角度阈值,例如,预设角度阈值可以是3°,也可以是4°,或者是其他值;此外,本领域技术人员可以根据实际灵活设置预设的覆盖阈值,例如,第一候选连线对应的预设的覆盖阈值可以是0.9,第二候选连线对应的预设的可以是0.6,当然,也可以是其他值,只要第一候选连线对应的预设的覆盖阈值小于第二候选连线对应的预设的覆盖阈值即可。
在本实施方式中,获取待识别表格图像的表格结构的具体实施方式可以是:如图4所示,图4表示获取到的一个表格线前景图,首先,利用预设的横向核对表格线前景图(图4)进行腐蚀和膨胀处理,可以获取如图5所示的横向轮廓线,利用预设的竖向核对表格线前景图(图4)进行腐蚀和膨胀处理,可以获取如图6所示的竖向轮廓线,腐蚀和膨胀是图像形态学处理中的常规方法,腐蚀是求局部最小值的操作,腐蚀操作会使图像中的高亮区逐渐减小;膨胀是求局部最大值的操作,腐蚀操作会使图像中的高亮区逐渐增大。然后,获取横向轮廓线与竖向轮廓线的交点并作为候选交点,如图7所示,图7中的点表示候选交点。之后,对候选交点进行连线获取候选连线,如图8所示,图8中圆圈表示候选交点,候选交点按照从左到右、从上到下的排列顺序进行连接,例如点A,点A存在横向轮廓线上与其相邻的点B,点A与点B进行连接,同样的,点B与点C进行连接,点C与点D进行连接,而点D不存在横向轮廓线上与其相邻的点,不再进行横向连接,回到点A,排列在点A之后的首个候选交点是点E,点A与点E进行连接,以此类推,对所有候选交点进行连线获取候选连线。之后,判断候选连线是否为有效连线,如图9所示,图9中点R、点S和点T分别表示候选交点,若点R和点S进行连线,则线段RS的水平角度为0,并且线段RS在表格线前景图上经过的像素都属于表格线前景图中表格线的像素(图中白色点),即线段RS为有效连线,若点R和点T进行连线,则线段RS的水平角度为大于预设角度阈值5°,即线段RT不是有效连线,并且线段RS在表格线前景图上经过的像素数量中属于表格线前景图中表格线的像素(图中白色点)的数量与像素总数量的比值小于预设的覆盖阈值0.9。之后,根据有效连线进行单元格路径搜索获取候选单元格,具体搜索过程如图10所示,候选单元格分为闭合单元格和非闭合单元格,闭合单元格的搜索起止点是同一交点,非闭合单元格的搜索起止点是其端点,以图中交点a为起点进行搜索,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索即可得到闭合单元格A,以图中交点b为起点进行搜索,按照横向-竖向-横向形成的顺时针搜索方向,依次进行有效连线搜索即可得到非闭合单元格E,以图中交点c为起点进行搜索,由于其在横向并无有效连线,无法进行顺时针搜索,则停止搜索,以此类推,根据每个有效连线以及各自对应的其他有效连线,生成候选单元格。具体的搜索方向可以如图11所示,将横向有效连线标记为0和2,竖向有效连线标记为1和3,按照0→1→2→3的顺序顺时针进行单元格路径搜索获取候选单元格,在每个方向进行搜索时,下一个有效连线有直行和右转两种选择,连接选择的原则是遇到方向转变的右转连接优先选择右转,从而生成最小的单元格结构。最后,对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构。
通过上述步骤11-16,就可以识别出表格结构了,但是在实际应用中,往往是根据索引对表格进行搜索,以准确获取想要搜索的内容,因此,在识别出表格结构后,还可以加索引,便于单元格的定位和查找,也便于后续文本与单元格的对应和储存。
在本实施例中,可以按照以下步骤生成每个表格结构的表格索引:
步骤17:将表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线。
步骤18:将表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线。
步骤19:获取能够与其他候选横线延长交叠的待处理候选横线,并且对待处理候选横线以及其他候选横线进行延长合并,以形成合并的候选横线。
步骤20:获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对待处理候选纵线以及其他候选纵线进行延长合并,以形成合并的候选纵线。
步骤21:按照预设的横线排列顺序,分别为合并的候选横线以及其他未经延长合并的候选横线分配横向索引号。
步骤22:按照预设的纵线排列顺序,分别为合并的候选纵线以及其他未经延长合并的候选纵线分配纵向索引号。
根据横向索引号与纵向索引号生成表格结构的表格索引。
在本实施方式中,生成表格索引的具体实施方式可以是:如图12所示,待处理候选横线a、b和c之间能够延长交叠,将待处理候选横线a、b和c进行延长合并形成合并的候选横线,按照从上到下的横线排列顺序,分别为合并的候选横线以及其他未经延长合并的候选横线分配横向索引号E1、E2、E3、E4、E5;同样的,按照从左到右的纵线排列顺序,分别为候选纵线分配纵向索引号F1、F2、F3、F4、F5、F6,生成表格结构的表格索引,则图中单元格①的行起始索引为E2,行中止索引为E4,列起始索引为F2,列中止索引为F3。
步骤S103:对待识别表格图像进行文本行检测,以获取待识别表格图像中文本行的第一文本行位置;根据表格结构中单元格的位置,获取在文本前景图中相应位置处存储的待识别表格图像中文本行的第二文本行位置;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置。
在本实施例中,可以按照以下步骤获取与单元格关联的最终的文本行位置:
步骤31:根据对待识别表格图像进行文本行检测的结果,获取待识别表格图像中文本行对应的文本行检测框与第一文本行位置。
步骤32:根据单元格的位置,获取文本行检测框中与单元格存在重叠区域的重叠检测框并且计算单元格与每个重叠检测框的重叠比例;
步骤33:选取重叠比例大于等于预设的重叠阈值的重叠检测框,将重叠检测框对应的第一文本行位置作为与单元格关联的最终的文本行位置。
在本实施方式中,对待识别表格图像进行文本行检测的方法包括但不限于pixellink算法、seglink算法和pixelanchor算法。文本行检测的目标是检出文本行的位置,可以以矩形表示文本行检测框,如图13所示,图中的矩形框即为文本行检测框,若文本行检测框中与单元格存在重叠区域的重叠检测框并且重叠比例大于等于预设的重叠阈值,则说明该单元格中存在文本行,将重叠检测框对应的检测位置作为与单元格进行关联的文本行位置。
通过上述步骤31-33,就可以获取与单元格关联的最终的文本行位置了,但是在实际应用中,对待识别表格图像进行文本行检测的过程中可能会出现遗漏的情况,因此,在获取到与单元格关联的最终的文本行位置后,还可以对文本行的位置进行查漏补缺,避免文本行遗漏。
一个实施方式中,在“将重叠检测框对应的第一文本行位置作为与单元格关联的最终的文本行位置”的步骤之后,方法还包括:判断是否存在未关联文本行位置的单元格;当存在未关联文本行位置的单元格时,获取单元格对应的第二文本行位置;分别对第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;判断水平投影线段与垂直投影线段的长度之和是否大于等于长度阈值;若是,则将第二文本行位置作为与单元格关联的最终的文本行位置。
在本实施方式中,如图14所示,图14表示一个文本前景图,图中的一个方块表示对应单元格的文本行位置,由于该方块存在噪声干扰,可以对该方块进行水平投影获取水平方向上的水平投影线段,对该方块进行垂直投影获取垂直方向上的垂直投影线段,若水平投影线段与垂直投影线段的长度之和大于等于长度阈值,则说明该方块不是噪声,对应的区域存在文本行,从而避免噪声干扰。
步骤S104:根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。
在本实施例中,可以通过OCR(Optical Character Recognition,光学字符识别)方法对文本行图像进行文本识别。
在本实施例中,可以按照以下步骤从待识别表格图像中获取相关联单元格对应的文本行图像:
步骤41:获取在待识别表格图像中最终的文本行位置对应的文本行图像;若最终的文本行位置关联一个单元格,则转至步骤42;若最终的文本行位置关联多个单元格,则转至步骤43。
步骤42:直接将文本行图像作为单元格对应的文本行图像。
步骤43:根据每个单元格的位置与最终的文本行位置对文本行图像进行切分,以获取每个单元格各自对应的文本行图像片段。
在本实施方式中,通过根据每个单元格的位置与最终的文本行位置对文本行图像进行切分,使得每个单元格与其各自对应的文本行图像片段进行关联,避免文本行位置储存错误。
在本实施方式中,图13中的部分文本行检测框横跨了两个单元格,即对应的文本行位置关联了两个单元格,如图15所示,图15是图13的局部放大图,图中细线矩形框表示文本行检测框,代表文本行位置,数字58所在的文本行位置关联了两个单元格,则根据每个单元格的位置与文本行位置对文本行图像进行切分,图中粗线矩形框表示切分后的文本行位置,以使每个单元格与其各自对应的文本行图像片段进行关联。
在本发明实施例中,通过采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;根据表格线前景图获取待识别表格图像的表格结构;对待识别表格图像进行文本行检测,以获取待识别表格图像中文本行的第一文本行位置;根据表格结构中单元格的位置,获取在文本前景图中相应位置处存储的待识别表格图像中文本行的第二文本行位置;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置;根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。在获取待识别表格图像中的表格结构时,可以根据表格线前景图中表格线的位置信息,重新构建出待识别表格图像的表格结构,即使是存在表格线断裂和弯曲等问题的低质量图像,也可以根据表格线前景图中表格线的位置信息,重新进行表格线连接,构建出规整的表格结构,即实现了对存在断裂和弯曲等问题的表格线进行校正。在获取表格结构中每个单元格内存储的文本信息时,可以根据待识别表格图像中文本行的文本行位置(第一文本行位置)以及单元格的位置,获取与单元格对应的文本行位置,然后根据这个文本行位置从待识别表格图像中获取相关的图像进行文本识别,识别出的文本信息就是这个单元格要存储的信息。然而,在实际应用中,待识别表格图像中的一部分文本的字体可能比较小,在对待识别表格图像进行文本行检测时,可能会遗漏这些字体比较小的文本行。对此,可以根据文本前景图存储的待识别图像中每个文本行的文本行位置(第二文本行位置)以及单元格的位置进行位置比对,获取与单元格位置相同或相近的文本行位置,根据这个文本行位置(最终的文本行位置)从待识别表格图像中获取相关的图像进行文本识别,识别出的文本信息就是这个单元格要存储的信息。通过上述方式,可以防止发生对待识别图像中的文本漏识别,或者将识别出的文本信息存储到错误的单元格内,从而提高了对待识别表格图像的文本识别准确性。
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
进一步,本发明还提供了一种表格识别装置。
参阅附图16,图16是根据本发明的一个实施例的表格识别装置的主要结构框图。如图16所示,本发明实施例中的表格识别装置主要包括前景图获取模块11、表格结构获取模块12、文本行关联模块13和表格生成模块14。在一些实施例中,前景图获取模块11、表格结构获取模块12、文本行关联模块13和表格生成模块14中的一个或多个可以合并在一起成为一个模块。在一些实施例中,前景图获取模块11可以被配置成采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图。表格结构获取模块12可以被配置成根据表格线前景图获取待识别表格图像的表格结构。文本行关联模块13可以被配置成对待识别表格图像进行文本行检测,以获取待识别表格图像中文本行的第一文本行位置;根据表格结构中单元格的位置,获取在文本前景图中相应位置处存储的待识别表格图像中文本行的第二文本行位置;根据单元格的位置、第一文本行位置和第二文本行位置,获取与单元格关联的最终的文本行位置。表格生成模块14可以被配置成根据最终的文本行位置从待识别表格图像中获取相关联单元格对应的文本行图像,对文本行图像进行文本识别并且将识别出的文本信息存储至单元格内,以形成识别后的表格。一个实施方式中,具体实现功能的描述可以参见步骤S101-S104所述。
在一个实施方式中,前景图获取模块11还被配置成执行以下操作:采用预设的图像识别模型对待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取表格线前景图和文本前景图;其中,预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;表格线前景标签图与表格图像样本的尺寸相同,表格线前景标签图中每个像素点的位置存储的标签值取决于表格图像样本中相应位置处是否存在表格线;文本前景标签图与表格图像样本的尺寸相同,文本前景标签图中每个像素点的位置存储的标签值取决于表格图像样本中相应位置处是否存在文本行。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,前景图获取模块11还被配置成执行以下操作:预设的图像识别模型是通过下列方式训练得到的:利用公式(1)所示的损失函数L并且根据表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算图像识别模型的损失值;根据损失值计算图像识别模型中每个模型参数各自对应的梯度,并且根据梯度反向传播更新图像识别模型的模型参数进行模型优化,以完成训练。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,前景图获取模块11还被配置成执行以下操作:表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:对表格图像中的每个单元格,随机设定填充文本;根据单元格的边线的位置,生成初始的表格线前景标签图;根据填充文本的位置,生成初始的文本前景标签图;对填充文本分别进行水平方向对齐和垂直方向对齐,水平方向对齐与垂直方向对齐均包括左对齐、居中和右对齐;对单元格的边线与单元格内填充文本之间的区域进行随机空白填充;随机设置单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;将规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;对初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;根据最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对初始的文本前景标签图和初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。一个实施方式中,具体实现功能的描述可以参见步骤S101所述。
在一个实施方式中,表格结构获取模块12还被配置成执行以下操作:提取表格线前景图中横向轮廓线和竖向轮廓线;获取横向轮廓线与竖向轮廓线的交点并作为候选交点;判断在每个候选交点各自对应的横向轮廓线上是否存在与其相邻的其他候选交点;若是,则对每个候选交点以及各自对应的相邻的其他候选交点进行连线,以获取第一候选连线;若否,则按照预设的候选交点排列顺序,对每个候选交点以及排列在每个候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线;计算每个待分析候选连线在表格线前景图中的覆盖比例,并且选取覆盖比例大于等于预设的覆盖阈值的待分析候选连线作为有效连线;根据有效连线进行单元格路径搜索,以获取候选单元格;对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构;其中,待分析候选连线是第一候选连线或第二候选连线,第一候选连线对应的预设的覆盖阈值小于第二候选连线对应的预设的覆盖阈值。一个实施方式中,具体实现功能的描述可以参见步骤S102所述。
在一个实施方式中,表格结构获取模块12还被配置成执行以下操作:利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取横向轮廓线;利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取竖向轮廓线;其中,预设的横向核为1行N列的矩阵且矩阵元素均是1,预设的竖向核是N行1列的矩阵且矩阵元素均是1;并且/或者,“计算每个待分析候选连线在表格线前景图中的覆盖比例”的步骤具体包括:获取待分析候选连线在表格线前景图上经过的像素总数量;获取待分析候选连线在表格线前景图上经过的像素中,属于表格线前景图中表格线的像素的数量;计算属于表格线前景图中表格线的像素的数量与像素总数量的比值,以获取待分析候选连线的覆盖比例;并且/或者,“根据有效连线进行单元格路径搜索,以获取候选单元格”的步骤具体包括:从每个有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个有效连线各自对应的其他有效连线;根据每个有效连线以及各自对应的其他有效连线,生成候选单元格。一个实施方式中,具体实现功能的描述可以参见步骤S102所述。
在一个实施方式中,在“对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构”的步骤之后,表格结构获取模块12还被配置成执行以下操作:将表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线;将表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线;获取能够与其他候选横线延长交叠的待处理候选横线,并且对待处理候选横线以及其他候选横线进行延长合并,以形成合并的候选横线;获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对待处理候选纵线以及其他候选纵线进行延长合并,以形成合并的候选纵线;按照预设的横线排列顺序,分别为合并的候选横线以及其他未经延长合并的候选横线分配横向索引号;按照预设的纵线排列顺序,分别为合并的候选纵线以及其他未经延长合并的候选纵线分配纵向索引号;根据横向索引号与纵向索引号生成表格结构的表格索引。一个实施方式中,具体实现功能的描述可以参见步骤S102所述。
在一个实施方式中,文本行关联模块13还被配置成执行以下操作:根据对待识别表格图像进行文本行检测的结果,获取待识别表格图像中文本行对应的文本行检测框与第一文本行位置;根据单元格的位置,获取文本行检测框中与单元格存在重叠区域的重叠检测框并且计算单元格与每个重叠检测框的重叠比例;选取重叠比例大于等于预设的重叠阈值的重叠检测框,将重叠检测框对应的第一文本行位置作为与单元格关联的最终的文本行位置。一个实施方式中,具体实现功能的描述可以参见步骤S103所述。
在一个实施方式中,在“将重叠检测框对应的第一文本行位置作为与单元格关联的最终的文本行位置”的步骤之后,文本行关联模块13还被配置成执行以下操作:判断是否存在未关联文本行位置的单元格;当存在未关联文本行位置的单元格时,获取单元格对应的第二文本行位置;分别对第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;判断水平投影线段与垂直投影线段的长度之和是否大于等于长度阈值;若是,则将第二文本行位置作为与单元格关联的最终的文本行位置。一个实施方式中,具体实现功能的描述可以参见步骤S103所述。
在一个实施方式中,表格生成模块14还被配置成执行以下操作:获取在待识别表格图像中最终的文本行位置对应的文本行图像;若最终的文本行位置关联一个单元格,则直接将文本行图像作为单元格对应的文本行图像;若最终的文本行位置关联多个单元格,则根据每个单元格的位置与最终的文本行位置对文本行图像进行切分,以获取每个单元格各自对应的文本行图像片段。一个实施方式中,具体实现功能的描述可以参见步骤S104所述。
上述表格识别装置以用于执行图1所示的表格识别方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,表格识别装置的具体工作过程及有关说明,可以参考表格识别方法的实施例所描述的内容,此处不再赘述。
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
进一步,本发明还提供了一种表格识别装置。在根据本发明的一个表格识别装置实施例中,表格识别装置包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的表格识别方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的表格识别方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该表格识别装置可以是包括各种电子设备形成的控制装置设备。
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的表格识别方法的程序,该程序可以由处理器加载并运行以实现上述表格识别方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中存储是非暂时性的计算机可读存储介质。
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的***的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
本领域技术人员能够理解的是,可以对***中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (22)
1.一种表格识别方法,其特征在于,所述方法包括:
采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;
根据所述表格线前景图获取所述待识别表格图像的表格结构;
对所述待识别表格图像进行文本行检测,以获取所述待识别表格图像中文本行的第一文本行位置;
根据所述表格结构中单元格的位置,获取在所述文本前景图中相应位置处存储的所述待识别表格图像中文本行的第二文本行位置;
根据所述单元格的位置、所述第一文本行位置和所述第二文本行位置,获取与所述单元格关联的最终的文本行位置;
根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像,对所述文本行图像进行文本识别并且将识别出的文本信息存储至所述单元格内,以形成识别后的表格。
2.根据权利要求1所述的表格识别方法,其特征在于,“获取待识别表格图像的表格线前景图和文本前景图”的步骤具体包括:
采用所述预设的图像识别模型对所述待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取所述表格线前景图和所述文本前景图;
其中,所述预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;
所述表格线前景标签图与所述表格图像样本的尺寸相同,所述表格线前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在表格线;
所述文本前景标签图与所述表格图像样本的尺寸相同,所述文本前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在文本行。
3.根据权利要求2所述的表格识别方法,其特征在于,所述预设的图像识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算所述图像识别模型的损失值;
其中,所述n表示表格图像样本的数量,n=1,2,3,...,N;所述h和w分别表示所述表格图像样本的高度和宽度,h=1,2,3,...,H,w=1,2,3,...,W;所述表示根据第n个表格图像样本对应的表格线前景标签图与文本前景标签图确定出的在所述第n个表格图像样本中位置(h,w)处的标签值;所述表示所述图像识别模型输出的在所述第n个表格图像样本中位置(h,w)处的标签预测值;
根据所述损失值计算所述图像识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述图像识别模型的模型参数进行模型优化,以完成训练。
4.根据权利要求2所述的表格识别方法,其特征在于,所述表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:
对表格图像中的每个单元格,随机设定填充文本;
根据所述单元格的边线的位置,生成初始的表格线前景标签图;根据所述填充文本的位置,生成初始的文本前景标签图;
对所述填充文本分别进行水平方向对齐和垂直方向对齐,所述水平方向对齐与所述垂直方向对齐均包括左对齐、居中和右对齐;
对所述单元格的边线与所述单元格内填充文本之间的区域进行随机空白填充;
随机设置所述单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;
将所述规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对所述填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;
对所述初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;
根据所述最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对所述初始的文本前景标签图和所述初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。
5.根据权利要求1所述的表格识别方法,其特征在于,“获取与所述单元格关联的最终的文本行位置”的步骤具体包括:
根据对所述待识别表格图像进行文本行检测的结果,获取所述待识别表格图像中文本行对应的文本行检测框与第一文本行位置;
根据所述单元格的位置,获取所述文本行检测框中与所述单元格存在重叠区域的重叠检测框并且计算所述单元格与每个所述重叠检测框的重叠比例;
选取所述重叠比例大于等于预设的重叠阈值的重叠检测框,将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置。
6.根据权利要求5所述的表格识别方法,其特征在于,在“将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置”的步骤之后,所述方法还包括:
判断是否存在未关联文本行位置的单元格;
当存在未关联文本行位置的单元格时,获取所述单元格对应的第二文本行位置;
分别对所述第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;
判断所述水平投影线段与所述垂直投影线段的长度之和是否大于等于长度阈值;
若是,则将所述第二文本行位置作为与所述单元格关联的最终的文本行位置。
7.根据权利要求1所述的表格识别方法,其特征在于,“根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像”的步骤具体包括:
获取在所述待识别表格图像中所述最终的文本行位置对应的文本行图像;
若所述最终的文本行位置关联一个单元格,则直接将所述文本行图像作为所述单元格对应的文本行图像;
若所述最终的文本行位置关联多个单元格,则根据每个所述单元格的位置与所述最终的文本行位置对所述文本行图像进行切分,以获取每个所述单元格各自对应的文本行图像片段。
8.根据权利要求1所述的表格识别方法,其特征在于,“根据所述表格线前景图获取所述待识别表格图像的表格结构”的步骤具体包括:
提取所述表格线前景图中横向轮廓线和竖向轮廓线;
获取所述横向轮廓线与所述竖向轮廓线的交点并作为候选交点;
判断在每个所述候选交点各自对应的所述横向轮廓线上是否存在与其相邻的其他候选交点;
若是,则对每个所述候选交点以及各自对应的所述相邻的其他候选交点进行连线,以获取第一候选连线;
若否,则按照预设的候选交点排列顺序,对每个所述候选交点以及排列在每个所述候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线;
计算每个待分析候选连线在所述表格线前景图中的覆盖比例,并且选取所述覆盖比例大于等于预设的覆盖阈值的所述待分析候选连线作为有效连线;
根据所述有效连线进行单元格路径搜索,以获取候选单元格;
对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构;
其中,所述待分析候选连线是第一候选连线或第二候选连线,所述第一候选连线对应的所述预设的覆盖阈值小于所述第二候选连线对应的所述预设的覆盖阈值。
9.根据权利要求8所述的表格识别方法,其特征在于,“提取所述表格线前景图中横向轮廓线和竖向轮廓线”的步骤具体包括:
利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取所述横向轮廓线;
利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取所述竖向轮廓线;
其中,所述预设的横向核为1行N列的矩阵且矩阵元素均是1,所述预设的竖向核是N行1列的矩阵且矩阵元素均是1;
并且/或者,
“计算每个所述待分析候选连线在所述表格线前景图中的覆盖比例”的步骤具体包括:
获取所述待分析候选连线在所述表格线前景图上经过的像素总数量;
获取所述待分析候选连线在所述表格线前景图上经过的像素中,属于所述表格线前景图中表格线的像素的数量;
计算所述属于所述表格线前景图中表格线的像素的数量与所述像素总数量的比值,以获取所述待分析候选连线的覆盖比例;
并且/或者,
“根据所述有效连线进行单元格路径搜索,以获取候选单元格”的步骤具体包括:
从每个所述有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个所述有效连线各自对应的其他有效连线;
根据每个所述有效连线以及各自对应的所述的其他有效连线,生成候选单元格。
10.根据权利要求8所述的表格识别方法,其特征在于,在“对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构”的步骤之后,所述方法还包括按照下列方式生成每个所述表格结构的表格索引:
将所述表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线;
将所述表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线;
获取能够与其他候选横线延长交叠的待处理候选横线,并且对所述待处理候选横线以及所述的其他候选横线进行延长合并,以形成合并的候选横线;
获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对所述待处理候选纵线以及所述的其他候选纵线进行延长合并,以形成合并的候选纵线;
按照预设的横线排列顺序,分别为所述合并的候选横线以及其他未经所述延长合并的候选横线分配横向索引号;
按照预设的纵线排列顺序,分别为所述合并的候选纵线以及其他未经所述延长合并的候选纵线分配纵向索引号;
根据所述横向索引号与所述纵向索引号生成表格结构的表格索引。
11.一种表格识别装置,其特征在于,所述装置包括:
前景图获取模块,其被配置成采用预设的图像识别模型获取待识别表格图像的表格线前景图和文本前景图;
表格结构获取模块,其被配置成根据所述表格线前景图获取所述待识别表格图像的表格结构;
文本行关联模块,其被配置成对所述待识别表格图像进行文本行检测,以获取所述待识别表格图像中文本行的第一文本行位置;根据所述表格结构中单元格的位置,获取在所述文本前景图中相应位置处存储的所述待识别表格图像中文本行的第二文本行位置;根据所述单元格的位置、所述第一文本行位置和所述第二文本行位置,获取与所述单元格关联的最终的文本行位置;
表格生成模块,其被配置成根据所述最终的文本行位置从所述待识别表格图像中获取相关联单元格对应的文本行图像,对所述文本行图像进行文本识别并且将识别出的文本信息存储至所述单元格内,以形成识别后的表格。
12.根据权利要求11所述的表格识别装置,其特征在于,所述前景图获取模块还被配置成执行以下操作:
采用所述预设的图像识别模型对所述待识别表格图像进行表格线与文本行的位置识别,并且根据位置识别的结果获取所述表格线前景图和所述文本前景图;
其中,所述预设的图像识别模型是基于表格图像样本以及相应的表格线前景标签图和文本前景标签图进行训练得到的;
所述表格线前景标签图与所述表格图像样本的尺寸相同,所述表格线前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在表格线;
所述文本前景标签图与所述表格图像样本的尺寸相同,所述文本前景标签图中每个像素点的位置存储的标签值取决于所述表格图像样本中相应位置处是否存在文本行。
13.根据权利要求12所述的表格识别装置,其特征在于,所述前景图获取模块还被配置成执行以下操作:
所述预设的图像识别模型是通过下列方式训练得到的:
利用下式所示的损失函数L并且根据所述表格图像样本以及相应的表格线前景标签图和文本前景标签图,计算所述图像识别模型的损失值;
其中,所述n表示表格图像样本的数量,n=1,2,3,...,N;所述h和w分别表示所述表格图像样本的高度和宽度,h=1,2,3,...,H,w=1,2,3,...,W;所述表示根据第n个表格图像样本对应的表格线前景标签图与文本前景标签图确定出的在所述第n个表格图像样本中位置(h,w)处的标签值;所述表示所述图像识别模型输出的在所述第n个表格图像样本中位置(h,w)处的标签预测值;
根据所述损失值计算所述图像识别模型中每个模型参数各自对应的梯度,并且根据所述梯度反向传播更新所述图像识别模型的模型参数进行模型优化,以完成训练。
14.根据权利要求12所述的表格识别装置,其特征在于,所述前景图获取模块还被配置成执行以下操作:
所述表格图像样本以及相应的表格线前景标签图和文本前景标签图是通过下列方式获取到的:
对表格图像中的每个单元格,随机设定填充文本;
根据所述单元格的边线的位置,生成初始的表格线前景标签图;根据所述填充文本的位置,生成初始的文本前景标签图;
对所述填充文本分别进行水平方向对齐和垂直方向对齐,所述水平方向对齐与所述垂直方向对齐均包括左对齐、居中和右对齐;
对所述单元格的边线与所述单元格内填充文本之间的区域进行随机空白填充;
随机设置所述单元格的边线宽度以及边线中虚线的比例,得到规整表格图像;
将所述规整表格图像分解成填充文本前景、表格线前景、单元格内背景和表格外背景,分别对所述填充文本前景、表格线前景、单元格内背景和表格外背景进行随机的像素值填充,以形成初始的表格图像样本;
对所述初始的表格图像样本进行随机的透视处理和旋转处理,得到最终的表格图像样本;
根据所述最终的表格图像样本采用的透视处理方式和旋转处理方式,同时对所述初始的文本前景标签图和所述初始的表格线前景标签图像分别进行相同的透视处理和旋转处理,得到最终的文本前景标签图和最终的表格线前景标签图像。
15.根据权利要求11所述的表格识别装置,其特征在于,所述文本行关联模块还被配置成执行以下操作:
根据对所述待识别表格图像进行文本行检测的结果,获取所述待识别表格图像中文本行对应的文本行检测框与第一文本行位置;
根据所述单元格的位置,获取所述文本行检测框中与所述单元格存在重叠区域的重叠检测框并且计算所述单元格与每个所述重叠检测框的重叠比例;
选取所述重叠比例大于等于预设的重叠阈值的重叠检测框,将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置。
16.根据权利要求15所述的表格识别装置,其特征在于,在“将所述重叠检测框对应的第一文本行位置作为与所述单元格关联的最终的文本行位置”的步骤之后,所述文本行关联模块还被配置成执行以下操作:
判断是否存在未关联文本行位置的单元格;
当存在未关联文本行位置的单元格时,获取所述单元格对应的第二文本行位置;
分别对所述第二文本行位置进行水平投影和垂直投影,以获取水平方向上的水平投影线段和垂直平方向上的垂直投影线段;
判断所述水平投影线段与所述垂直投影线段的长度之和是否大于等于长度阈值;
若是,则将所述第二文本行位置作为与所述单元格关联的最终的文本行位置。
17.根据权利要求11所述的表格识别装置,其特征在于,所述表格生成模块还被配置成执行以下操作:
获取在所述待识别表格图像中所述最终的文本行位置对应的文本行图像;
若所述最终的文本行位置关联一个单元格,则直接将所述文本行图像作为所述单元格对应的文本行图像;
若所述最终的文本行位置关联多个单元格,则根据每个所述单元格的位置与所述最终的文本行位置对所述文本行图像进行切分,以获取每个所述单元格各自对应的文本行图像片段。
18.根据权利要求11所述的表格识别装置,其特征在于,所述表格结构获取模块还被配置成执行以下操作:
提取所述表格线前景图中横向轮廓线和竖向轮廓线;
获取所述横向轮廓线与所述竖向轮廓线的交点并作为候选交点;
判断在每个所述候选交点各自对应的所述横向轮廓线上是否存在与其相邻的其他候选交点;
若是,则对每个所述候选交点以及各自对应的所述相邻的其他候选交点进行连线,以获取第一候选连线;
若否,则按照预设的候选交点排列顺序,对每个所述候选交点以及排列在每个所述候选交点之后的首个候选交点进行连线,并且选取水平角度小于等于预设角度阈值的连线作为第二候选连线;
计算每个待分析候选连线在所述表格线前景图中的覆盖比例,并且选取所述覆盖比例大于等于预设的覆盖阈值的所述待分析候选连线作为有效连线;
根据所述有效连线进行单元格路径搜索,以获取候选单元格;
对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构;
其中,所述待分析候选连线是第一候选连线或第二候选连线,所述第一候选连线对应的所述预设的覆盖阈值小于所述第二候选连线对应的所述预设的覆盖阈值。
19.根据权利要求18所述的表格识别装置,其特征在于,所述表格结构获取模块还被配置成执行以下操作:
利用预设的横向核对表格线前景图进行腐蚀和膨胀处理,以获取所述横向轮廓线;
利用预设的竖向核对表格线前景图进行腐蚀和膨胀处理,以获取所述竖向轮廓线;
其中,所述预设的横向核为1行N列的矩阵且矩阵元素均是1,所述预设的竖向核是N行1列的矩阵且矩阵元素均是1;
并且/或者,
“计算每个所述待分析候选连线在所述表格线前景图中的覆盖比例”的步骤具体包括:
获取所述待分析候选连线在所述表格线前景图上经过的像素总数量;
获取所述待分析候选连线在所述表格线前景图上经过的像素中,属于所述表格线前景图中表格线的像素的数量;
计算所述属于所述表格线前景图中表格线的像素的数量与所述像素总数量的比值,以获取所述待分析候选连线的覆盖比例;
并且/或者,
“根据所述有效连线进行单元格路径搜索,以获取候选单元格”的步骤具体包括:
从每个所述有效连线开始,按照横向-竖向-横向-竖向形成的顺时针搜索方向,依次进行有效连线搜索,以获取每个所述有效连线各自对应的其他有效连线;
根据每个所述有效连线以及各自对应的所述的其他有效连线,生成候选单元格。
20.根据权利要求18所述的表格识别装置,其特征在于,在“对具有公共顶点的候选单元格进行连接,以生成一个或多个表格结构”的步骤之后,所述表格结构获取模块还被配置成执行以下操作:
将所述表格结构中具有公共顶点的候选单元格的横向边线连接,以形成候选横线;
将所述表格结构中具有公共顶点的候选单元格的纵向边线连接,以形成候选纵线;
获取能够与其他候选横线延长交叠的待处理候选横线,并且对所述待处理候选横线以及所述的其他候选横线进行延长合并,以形成合并的候选横线;
获取能够与其他候选纵线延长交叠的待处理候选纵线,并且对所述待处理候选纵线以及所述的其他候选纵线进行延长合并,以形成合并的候选纵线;
按照预设的横线排列顺序,分别为所述合并的候选横线以及其他未经所述延长合并的候选横线分配横向索引号;
按照预设的纵线排列顺序,分别为所述合并的候选纵线以及其他未经所述延长合并的候选纵线分配纵向索引号;
根据所述横向索引号与所述纵向索引号生成表格结构的表格索引。
21.一种表格识别装置,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至10中任一项所述的表格识别方法。
22.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至10中任一项所述的表格识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407580.8A CN112528813B (zh) | 2020-12-03 | 2020-12-03 | 表格识别方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407580.8A CN112528813B (zh) | 2020-12-03 | 2020-12-03 | 表格识别方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112528813A true CN112528813A (zh) | 2021-03-19 |
CN112528813B CN112528813B (zh) | 2021-07-23 |
Family
ID=74997545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011407580.8A Active CN112528813B (zh) | 2020-12-03 | 2020-12-03 | 表格识别方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528813B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269153A (zh) * | 2021-06-26 | 2021-08-17 | 中国电子***技术有限公司 | 一种表格识别方法以及装置 |
CN113283355A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 一种表格图像的识别方法、装置、计算机设备及存储介质 |
CN113343866A (zh) * | 2021-06-15 | 2021-09-03 | 杭州数梦工场科技有限公司 | 表格信息的识别方法及装置、电子设备 |
CN113536951A (zh) * | 2021-06-22 | 2021-10-22 | 科大讯飞股份有限公司 | 表格识别方法及相关装置和电子设备、存储介质 |
CN113657274A (zh) * | 2021-08-17 | 2021-11-16 | 北京百度网讯科技有限公司 | 表格生成方法、装置、电子设备、存储介质及产品 |
US20220358279A1 (en) * | 2019-07-25 | 2022-11-10 | Beijing Kingsoft Office Software, Inc. | Document element alignment method and apparatus, electronic device, and storage medium |
CN116311301A (zh) * | 2023-02-17 | 2023-06-23 | 北京感易智能科技有限公司 | 无线表格识别方法及*** |
CN116503888A (zh) * | 2023-06-29 | 2023-07-28 | 杭州同花顺数据开发有限公司 | 一种从图像中提取表格的方法、***和存储介质 |
CN116612487A (zh) * | 2023-07-21 | 2023-08-18 | 亚信科技(南京)有限公司 | 表格识别方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317933A (zh) * | 2009-01-02 | 2012-01-11 | 苹果公司 | 用于文档重构的方法和*** |
US20180336404A1 (en) * | 2017-05-18 | 2018-11-22 | Wipro Limited | Methods and devices for extracting text from documents |
CN109241894A (zh) * | 2018-08-28 | 2019-01-18 | 南京安链数据科技有限公司 | 一种基于表格定位和深度学习的针对性票据内容识别***和方法 |
CN109522816A (zh) * | 2018-10-26 | 2019-03-26 | 北京慧流科技有限公司 | 表格识别方法及装置、计算机存储介质 |
US20190122043A1 (en) * | 2017-10-23 | 2019-04-25 | Education & Career Compass | Electronic document processing |
CN110188649A (zh) * | 2019-05-23 | 2019-08-30 | 成都火石创造科技有限公司 | 基于tesseract-ocr的pdf文件解析方法 |
CN110796031A (zh) * | 2019-10-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的表格识别方法、装置及电子设备 |
US20200089946A1 (en) * | 2018-06-11 | 2020-03-19 | Innoplexus Ag | System and method for extracting tabular data from electronic document |
CN111062259A (zh) * | 2019-11-25 | 2020-04-24 | 泰康保险集团股份有限公司 | 表格识别方法和装置 |
CN111178154A (zh) * | 2019-12-10 | 2020-05-19 | 北京明略软件***有限公司 | 表格边框预测模型生成方法、装置及表格定位方法、装置 |
CN111460927A (zh) * | 2020-03-17 | 2020-07-28 | 北京交通大学 | 对房产证图像进行结构化信息提取的方法 |
CN111814722A (zh) * | 2020-07-20 | 2020-10-23 | 电子科技大学 | 一种图像中的表格识别方法、装置、电子设备及存储介质 |
CN111860502A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 图片表格的识别方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-03 CN CN202011407580.8A patent/CN112528813B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317933A (zh) * | 2009-01-02 | 2012-01-11 | 苹果公司 | 用于文档重构的方法和*** |
US20180336404A1 (en) * | 2017-05-18 | 2018-11-22 | Wipro Limited | Methods and devices for extracting text from documents |
US20190122043A1 (en) * | 2017-10-23 | 2019-04-25 | Education & Career Compass | Electronic document processing |
US20200089946A1 (en) * | 2018-06-11 | 2020-03-19 | Innoplexus Ag | System and method for extracting tabular data from electronic document |
CN109241894A (zh) * | 2018-08-28 | 2019-01-18 | 南京安链数据科技有限公司 | 一种基于表格定位和深度学习的针对性票据内容识别***和方法 |
CN109522816A (zh) * | 2018-10-26 | 2019-03-26 | 北京慧流科技有限公司 | 表格识别方法及装置、计算机存储介质 |
CN110188649A (zh) * | 2019-05-23 | 2019-08-30 | 成都火石创造科技有限公司 | 基于tesseract-ocr的pdf文件解析方法 |
CN110796031A (zh) * | 2019-10-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的表格识别方法、装置及电子设备 |
CN111062259A (zh) * | 2019-11-25 | 2020-04-24 | 泰康保险集团股份有限公司 | 表格识别方法和装置 |
CN111178154A (zh) * | 2019-12-10 | 2020-05-19 | 北京明略软件***有限公司 | 表格边框预测模型生成方法、装置及表格定位方法、装置 |
CN111460927A (zh) * | 2020-03-17 | 2020-07-28 | 北京交通大学 | 对房产证图像进行结构化信息提取的方法 |
CN111860502A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 图片表格的识别方法、装置、电子设备及存储介质 |
CN111814722A (zh) * | 2020-07-20 | 2020-10-23 | 电子科技大学 | 一种图像中的表格识别方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杨靖明: ""复杂表格文档图像的模板识别与提取"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934765B2 (en) * | 2019-07-25 | 2024-03-19 | Beijing Kingsoft Office Software, Inc. | Document element alignment method and apparatus, electronic device, and storage medium |
US20220358279A1 (en) * | 2019-07-25 | 2022-11-10 | Beijing Kingsoft Office Software, Inc. | Document element alignment method and apparatus, electronic device, and storage medium |
CN113283355A (zh) * | 2021-05-31 | 2021-08-20 | 平安国际智慧城市科技股份有限公司 | 一种表格图像的识别方法、装置、计算机设备及存储介质 |
CN113343866A (zh) * | 2021-06-15 | 2021-09-03 | 杭州数梦工场科技有限公司 | 表格信息的识别方法及装置、电子设备 |
CN113536951A (zh) * | 2021-06-22 | 2021-10-22 | 科大讯飞股份有限公司 | 表格识别方法及相关装置和电子设备、存储介质 |
CN113536951B (zh) * | 2021-06-22 | 2023-11-24 | 科大讯飞股份有限公司 | 表格识别方法及相关装置和电子设备、存储介质 |
CN113269153A (zh) * | 2021-06-26 | 2021-08-17 | 中国电子***技术有限公司 | 一种表格识别方法以及装置 |
CN113269153B (zh) * | 2021-06-26 | 2024-03-19 | 中国电子***技术有限公司 | 一种表格识别方法以及装置 |
JP7300034B2 (ja) | 2021-08-17 | 2023-06-28 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | テーブル生成方法、装置、電子機器、記憶媒体及びプログラム |
JP2022088602A (ja) * | 2021-08-17 | 2022-06-14 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | テーブル生成方法、装置、電子機器、記憶媒体及びプログラム |
CN113657274A (zh) * | 2021-08-17 | 2021-11-16 | 北京百度网讯科技有限公司 | 表格生成方法、装置、电子设备、存储介质及产品 |
CN116311301A (zh) * | 2023-02-17 | 2023-06-23 | 北京感易智能科技有限公司 | 无线表格识别方法及*** |
CN116311301B (zh) * | 2023-02-17 | 2024-06-07 | 北京感易智能科技有限公司 | 无线表格识别方法及*** |
CN116503888A (zh) * | 2023-06-29 | 2023-07-28 | 杭州同花顺数据开发有限公司 | 一种从图像中提取表格的方法、***和存储介质 |
CN116503888B (zh) * | 2023-06-29 | 2023-09-05 | 杭州同花顺数据开发有限公司 | 一种从图像中提取表格的方法、***和存储介质 |
CN116612487A (zh) * | 2023-07-21 | 2023-08-18 | 亚信科技(南京)有限公司 | 表格识别方法、装置、电子设备及存储介质 |
CN116612487B (zh) * | 2023-07-21 | 2023-10-13 | 亚信科技(南京)有限公司 | 表格识别方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112528813B (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112528813B (zh) | 表格识别方法、装置以及计算机可读存储介质 | |
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
US10817741B2 (en) | Word segmentation system, method and device | |
CN110032998B (zh) | 自然场景图片的文字检测方法、***、装置和存储介质 | |
US11042742B1 (en) | Apparatus and method for detecting road based on convolutional neural network | |
JP7246104B2 (ja) | テキスト行識別に基づくナンバープレート識別方法 | |
CN108764039B (zh) | 神经网络、遥感影像的建筑物提取方法、介质及计算设备 | |
CN103455814B (zh) | 用于文档图像的文本行分割方法和*** | |
CN110334709B (zh) | 基于端到端多任务深度学习的车牌检测方法 | |
CN111275034B (zh) | 从图像中提取文本区域的方法、装置、设备和存储介质 | |
CN110175609B (zh) | 界面元素检测方法、装置及设备 | |
US9082019B2 (en) | Method of establishing adjustable-block background model for detecting real-time image object | |
CN112446262A (zh) | 文本分析方法、装置、终端和计算机可读存储介质 | |
CN111626145B (zh) | 一种简捷有效的残缺表格识别及跨页拼接方法 | |
CN112241730A (zh) | 一种基于机器学习的表格提取方法和*** | |
US20230169784A1 (en) | Text processing method and apparatus, and electronic device and storage medium | |
CN111275051A (zh) | 字符识别方法、装置、计算机设备和计算机可读存储介质 | |
CN110874170A (zh) | 一种图像区域修正方法、图像分割方法及装置 | |
CN114357958A (zh) | 一种表格提取方法、装置、设备及存储介质 | |
CN112541505B (zh) | 文本识别方法、装置以及计算机可读存储介质 | |
CN114511862B (zh) | 表格识别方法、装置及电子设备 | |
CN112837329B (zh) | 一种藏文古籍文档图像二值化方法及*** | |
CN115527023A (zh) | 图像检测方法、装置、电子设备及存储介质 | |
CN111582275B (zh) | 一种序列号识别方法及装置 | |
CN109409370B (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 |