表格识别方法、装置及表格识别设备与流程

文档序号:19252036发布日期:2019-11-27 20:22阅读:446来源:国知局
表格识别方法、装置及表格识别设备与流程

本公开涉及图像识别技术领域,具体涉及一种表格识别方法、装置及表格识别设备。



背景技术:

随着时代的发展,对环保和资源节约等方面的重视,无纸化办公成为当前数字化办公方面的发展热点。采用图文识别可以将图片文字映射入一个可编辑的文档中,以代替繁杂的人工导入,节约人力成本。在图文识别的过程中,需要力求识别的准确性,图文识别又叫光学字符识别(opticalcharacterrecognition,ocr)是指:电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字信息的过程。



技术实现要素:

有鉴于此,本公开实施例提供了一种表格识别方法、装置及电子设备以以进行较为准确的图文识别。

根据第一方面,本公开实施例提供了一种表格识别方法,提取待识别表格中的第一方向线段和第二方向线段,第一方向与第二方向相交;将第一方向线段和第二方向线段进行位置回归,并提取由第一方向线段和第二方向线段的交点和交点的类型,交点的类型包括线段交叉点、线段终点和线段起点;根据第一方向线段和第二方向线段生成虚拟表格,虚拟表格包括n-1行、m-1列,其中n为第一方向线段的数量,m为第二方向线段的数量;根据交点的类型对虚拟表格的单元格进行合并得到识别后的表格。

可选地,根据交点的类型对虚拟表格的单元格进行合并得到识别后的表格包括:选择任意交点作为目标点,分别在目标点所在的x轴方向线段上和y轴方向线段上检测虚拟表格的单元格的顶点是否为交点;当当前顶点不为交点时,沿检测方向分别合并当前顶点所在的单元格。

可选地,当当前顶点为交点时;判断当前顶点是否为线段交叉点;当当前顶点为线段交叉点时,确认当前顶点所在的单元格为分立单元格。

可选地,当当前顶点为交点时;判断当前顶点是否为其他线段的线段起点或线段终点;当当前顶点为其他线段的线段起点或线段终点时,在检测方向上合并当前顶点与目标点之间连线背离其他线段的一侧的当前顶点所在的单元格。

可选地,第一方向包括x周方向,第二方向包括y轴方向;提取由第一方向线段和第二方向线段的交点和交点的类型包括:基于图像形态学提取待识别表格中的x轴方向线段和y轴方向线段以及x轴方向线段和y轴方向线段的交点;在预设坐标系下对交点坐标赋值,得到各个交点的坐标值;基于坐标值确认交点的类型。

可选地,识别方法,还包括:基于交点的坐标值依次对待识别表格的单元格切割;按照切割顺序识别切割后的单元格中内的文字;按照切割顺序依次将识别后的文字填入识别后的表格的单元格内。

可选地,按照切割顺序识别切割后的单元格中内的文字包括:判断切割后的单元格内是否包含文字,当切割后的单元格内不包含文字时,输出预设字符。

可选地,预设坐标系的原点为待识别表格的任意之一的顶角所在的交点,方法还包括:选取切割待识别表格的单元格的切割起点,切割起点的坐标值中的x轴坐标值的绝对值为非最大值且y轴坐标值的绝对值为非最大值;保持切割起点的y轴坐标不变沿x轴的坐标值的绝对值增加的方向遍历交点的坐标值,选取第一切割终点,第一切割终点为其所在y轴方向线段的线段交叉点或线段起点;保持第一切割终点的x轴坐标不变,沿y轴坐标值的绝对值变大的方向遍历交点的坐标值,选取第二切割终点,第二切割终点为其所在x轴方向线段的线段交叉点或线段终点;根据切割起点和第二切割终点的坐标值对待识别表格的单元格切割。

根据第二方面,本公开实施例提供了一种表格识别装置,包括:第一提取模块,用于提取待识别表格中的第一方向线段和第二方向线段,第一方向与第二方向相交;第二提取模块,用于将第一方向线段和第二方向线段进行位置回归,并提取由第一方向线段和第二方向线段的交点和交点的类型,交点的类型包括线段交叉点、线段终点和线段起点;虚拟表格生成模块,用于根据第一方向线段和第二方向线段生成虚拟表格,虚拟表格包括n-1行、m-1列,其中n为第一方向线段的数量,m为第二方向线段的数量;识别模块,用于根据交点的类型对虚拟表格的单元格进行合并得到识别后的表格。

根据第三方面,本公开实施例提供了一种表格识别设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面任意一项描述的表格识别方法。

根据第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第一方面中任一实现方式描述的表格识别方法。

本公开具有如下有益效果:

1.在表格识别过程中,提取表格中的表格中的线条以及线条的交点和交点的类型,并根据提取的线条生成一个虚拟表格,可以得到待识别表格的框架,再利用交点的类型对虚拟表格中的单元格进行合并,由于交点与待识别表格中的线条与线条的交点一一映射,并且,待识别表格中的交点可以包括线段交叉点、线段终点和线段起点,相邻的两个线段交叉点之间必然存在表格线条,而线段起点与相邻的其他线段终点之间必然不存在表格线条,因此,可以在待识别表格的框架上较为准确绘制出待识别表格。

2.基于图像形态学提取待识别表格中的x轴方向线段和y轴方向线段以及所述x轴方向线段和所述y轴方向线段的交点,由于图像形态学对线条提取精准,计算过程简单,可以利用较少的计算资源完成对图片中表格的提取与识别,节省了大量的用于将纸质表格录入电脑文档中的人力成本和时间成本。

3.在文字识别之前,先对待识别表格按照待识别表格的单元格进行切割,分别对切割后的单元格内的文字进行识别,可以避免在识别表格文字时由于表格线条的影响,将表格线条误识别为文字,提高文字识别精度。

4.由于待识别表格中可能存在某些单元格内不包含文字的情况,在文字识别过程中,将不包含文字的单元输出预设字符以标注该单元格中不存在文字,避免了在文字填入单元格的过程中的单元格与字符不匹配的问题。

5.在对待识别表格的单元格进行切割时,只需确定切割起点之后沿某一方向检测临近交点的类型,确定第一个切割终点,再以第一个切割终点沿另一方向检测临近交点类型,确定第二切割终点,根据切割起点周围的交点的类型检测独立的单元格,无需读取单元格的所有顶点(交点)组成闭合路径后再得到单元格,可以以较小的计算量和较快的计算速度识别单元格进而对单元格实现快速准确的切割。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本公开实施例的表格识别方法的流程示意图;

图2示出了本公开实施例的虚拟表格单元格合并方法示意图;

图3示出了本公开实施例的另一表格识别方法的流程图;

图4示出了本公开实施例的表格识别装置示意图

图5示出了本公开实施例提供的电子设备的硬件结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

目前,ocr在对表格中的文字识别时通常只能识别文字,难以识别表格,为实现表格识别,现有技术中通常在霍夫变换对文档图像校正后,应用基于连通域的自底而上的版面分析方法,将文档的版面分为文字和表格。利用单连通链的合并提取表格线,利用最小二乘法将有向连通链抽象为表格线段,在提取的表格线段基础上,根据水平和竖直方向线段之间的关系得到的特征点集合,将表格结构信息表设为latex字符串。对文本膨胀后使用连通域分析的方法进行文本分割,进而完成文字识别。然而,发明人发现现有技术中的上述方法经常会出现识别不准的情况,经发明人研究发现,采用自底而上的策略,在底层的误差会层层传递,最终很大可能会以错误的形式在结果中体现;利用基于连通域的版面分析方法,将版面分为图片、文字、表格,在分类的过程中可能产生误差,影响表格的识别。面对文字与表格框线个别重叠的部分,也会影响其识别的准确性。因此,本公开实施例提供了一种表格识别方法,适用于表格识别设备,该表格识别设备可以为计算机、可以为服务器,还可以为其他具有表格识别功能的电子设备,如图1所示,该方法可以包括如下步骤:

s1.提取待识别表格中的第一方向线段和第二方向线段。其中,第一方向与第二方向相交,具体的,第一方向与第二方向具有一定夹角,该夹角可以大于0°小于或等于90°。在本实施例中,待识别表格中的线段的提取可以采用神经网络进行识别,还可以采用图像形态学的处理方式提取线段和交点,在本实施例中可以以图像形态学的处理方式提取线段和交点,具体的,待识别表格可以为图片形式的待识别表格,首先对图片进行二值化处理,得到二值化图像,以预设的形态学因子对二值化图像进行腐蚀和膨胀处理,过滤掉表格内的文字,提取出表格框架。具体的,以第一方向和第二方向夹角为90°为例进行说明,为方便说明,在本实施例中,可以以第一方向为x轴方向,第二方向为y轴方向进行说明。本领域技术人员应当理解,在表格中出来沿x轴方向和y轴方向的线段外,还可以存在其他方向的线段,本实施例列举x轴方向和y轴方向的线段只是为了方便说明,其他方向的线段同样在本实施例的保护范围内。形态学因子可以采用高度为1像素,宽度为图片宽度1/12像素和宽度为1像素,高度为图片高度1/12像素的膨胀核与腐蚀核提取待识别表格中的x轴方向线段和y轴方向线段。

s2.将第一方向线段和第二方向线段进行位置回归,并提取由第一方向线段和第二方向线段的交点和交点的类型。以第一方向为x轴方向,第二方向为y轴方向进行说明:将x轴方向线段和y轴方向线段按照原位置合并,得到x轴方向线段和y轴方向线段的交点,在本实施例中,提取的交点在二值化图像中亮点(灰度值为255),在预设坐标系下分别对各个交点进行赋值得到各个交点在预设坐标系下的坐标值。在本实施例中,预设坐标系的原点可以为待识别表格的任意之一的顶角所在的交点,在本实施例中可以以预设坐标系的原点为待识别表格的左上角的交点为例进行说明:根据各个交点的坐标值确定各个交点的类型,交点的类型可以包括线段交叉点、线段终点和线段起点,其中,例如,x轴方向线段的线段起点为当前线段上的所有交点中x轴坐标值最小的点,x轴方向线段的线段终点为当前线段上的所有交点中x轴坐标值最大的点。y轴方向线段的线段起点为当前线段上的所有交点中y轴坐标值最小的点,x轴方向线段的线段终点为当前线段上的所有交点中y轴坐标值最大的点。除线段起点和线段终点之外的所有交点均为线段交叉点,在本实施例中,先对线段进行提取,在进行位置回归,在已知线段的情况下,依据上述规则对线段交点类型进行分类。

s3.根据第一方向线段和第二方向线段生成虚拟表格。以第一方向为x轴方向,第二方向为y轴方向进行说明:虚拟表格包括n-1行、m-1列,其中n为x轴方向线段的数量,m为y轴方向线段的数量,在本实施例中,可以根据x轴方向线段和y轴方向线段数量可以得到虚拟表格,例如,提取十条x轴方向线段和六条y轴方向线段,则生成九行五列的表格。在本实施例中,该虚拟表格中的线段的交点可以包括线段交叉点、线段终点和线段起点以及虚拟交点即实际不存在的交点。

s4.根据交点的类型对虚拟表格的单元格进行合并得到识别后的表格。在本实施例中,待识别表格中的交点可以包括线段交叉点、线段终点和线段起点,相邻的两个线段交叉点之间必然存在表格线条,而线段起点与相邻的其他线段终点之间必然不存在表格线条,因此,在得到交点的类型之后,可以根据交点的类型确定该交点周围是否存在实际的线段,如果不能存在实际线段,例如,线段起点的一侧不存在线段,可以将对应的单元格合并,从而可以在待识别表格的框架上较为准确绘制出待识别表格。

下面将对根据交点的类型对虚拟表格的单元格进行合并得到识别后的表格的原理进行详细介绍,并且以第一方向为x轴方向,第二方向为y轴方向进行说明:

选择任意交点作为目标点。分别在目标点所在的x轴方向线段上和y轴方向线段上检测虚拟表格的单元格的顶点是否为交点;当当前顶点不为交点时,可以确认该顶点为虚拟交点,即在该位置不存在交点,图2中以空心点示意虚拟交点,沿检测方向分别合并当前顶点所在的单元格,即沿检测方向合并目标点与当前顶点所在线段的两侧的单元格,其中,参见图2中区域a示出了x轴方向检测时单元格合并方法,在本实施例中,y轴方向检测时可以参照x轴方向检测时单元格合并方法,在本实施例中不再赘述。

当当前顶点为交点时;判断当前顶点是否为线段交叉点;当当前顶点为线段交叉点时,可以确认该顶点为两条线段的交叉点,可以确认当前顶点所在的单元格为分立单元格,无需合并单元格,图2中以实心点示意线段交叉点,其中,参见图2中区域b示出了x轴方向检测时单元格合并方法,在本实施例中,y轴方向检测时可以参照x轴方向检测时单元格合并方法,在本实施例中不再赘述。

为了更为全面的合并单元格,在本实施例中,当当前顶点为交点时;可以进一步判断当前顶点是否为其他线段的线段起点或线段终点;当当前顶点为其他线段的线段起点或线段终点时,在检测方向上合并当前顶点与目标点之间连线背离其他线段的一侧的当前顶点所在的单元格,图2中以半实心点示意线段起点或终点,其中,参见图2中区域c示出了x轴方向检测时单元格合并方法,在本实施例中,y轴方向检测时可以参照x轴方向检测时单元格合并方法,在本实施例中不再赘述。

在对表格进行识别时,还需要对表格中的文字进行识别,作为可选的实施例,如图3所示,表格识别方法还可以包括如下步骤:

s5.基于交点的坐标值依次对待识别表格的单元格切割。在文字识别之前,先对待识别表格按照待识别表格的单元格进行切割,分别对切割后的单元格内的文字进行识别,可以避免在识别表格文字时由于表格线条的影响,将表格线条误识别为文字,提高文字识别精度。

在本实施例中,预设坐标系的原点为待识别表格的任意之一的顶角所在的交点,在本实施例中可以以预设坐标系的原点为待识别表格的左上角的交点为例进行说明,可以先确定切割起点。选取切割待识别表格的单元格的切割起点,切割起点的坐标值中的x轴坐标值的绝对值为非最大值且y轴坐标值的绝对值为非最大值。保持切割起点的y轴坐标不变沿x轴的坐标值的绝对值增加的方向遍历交点的坐标值,选取第一切割终点,第一切割终点为其所在y轴方向线段的线段交叉点或线段起点;保持第一切割终点的x轴坐标不变,沿y轴坐标值的绝对值变大的方向遍历交点的坐标值,选取第二切割终点,第二切割终点为其所在x轴方向线段的线段交叉点或线段终点;根据切割起点和第二切割终点的坐标值对待识别表格的单元格切割。

在对待识别表格的单元格进行切割时,只需确定切割起点之后沿某一方向检测临近交点的类型,确定第一个切割终点,再以第一个切割终点沿另一方向检测临近交点类型,确定第二切割终点,根据切割起点周围的交点的类型检测独立的单元格,无需读取单元格的所有顶点(交点)组成闭合路径后再得到单元格,可以以较小的计算量和较快的计算速度识别单元格进而对单元格实现快速准确的切割。

s6.按照切割顺序识别切割后的单元格中内的文字。在本实施例中,可以采用文字识别模型对文字进行识别,具体的,可以按照切割顺序分别将切割后的单元格依次输入文字识别模型,识别各个单元格中的文字。在本实施例中,由于待识别表格中可能存在某些单元格内不包含文字的情况,在文字识别过程中,将不包含文字的单元输出预设字符以标注该单元格中不存在文字,例如,可以输出空格或者其他标识字符,避免了在文字填入单元格的过程中的单元格与字符不匹配的问题。

s7.按照切割顺序依次将识别后的文字填入识别后的表格的单元格内。在本实施例中,可以基于预设坐标系依次分别对识别后的表格的单元格进行赋值,在本实施例中,可以按照切割顺序对单元格赋值,当单元格为合并单元格时,对合并的单元格进行一次赋值,使参数合并的单元格的值相等,在填入文字时,可以按照顺序单元格的赋值,将文字顺次填入表格中。

本公开实施例提供了一种表格识别装置,如图4所示,该装置可以包括:第一提取模块10,用于提取待识别表格中的第一方向线段和第二方向线段,所述第一方向与所述第二方向相交;第二提取模块20,用于将所述第一方向线段和所述第二方向线段进行位置回归,并提取由所述第一方向线段和所述第二方向线段的交点和所述交点的类型,所述交点的类型包括线段交叉点、线段终点和线段起点;虚拟表格生成模块30,用于根据所述第一方向线段和所述第二方向线段生成虚拟表格,所述虚拟表格包括n-1行、m-1列,其中n为第一方向线段的数量,m为第二方向线段的数量;识别模块40,用于根据所述交点的类型对所述虚拟表格的单元格进行合并得到识别后的表格。

本公开实施例提供了一种表格识别设备,具体的可以参见图5,该电子设备可以包括处理器11和存储器12,其中处理器11和存储器12可以通过总线或者其他方式连接,图5中以通过总线连接为例。

处理器11可以为中央处理器(centralprocessingunit,cpu)。处理器11还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器12作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的容器镜像的管理、使用或构建方法所对应的程序指令/模块。处理器11通过运行存储在存储器12中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的表格识别方法。

存储器12可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器11所创建的数据等。此外,存储器12可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器12可选包括相对于处理器11远程设置的存储器,这些远程存储器可以通过网络连接至处理器11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器12中,当被处理器11执行时,执行上述方法实施例中的表格识别方法。

本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1