CN116311311B - 电子表格生成方法、装置、电子设备及可读存储介质 - Google Patents
电子表格生成方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN116311311B CN116311311B CN202310593269.4A CN202310593269A CN116311311B CN 116311311 B CN116311311 B CN 116311311B CN 202310593269 A CN202310593269 A CN 202310593269A CN 116311311 B CN116311311 B CN 116311311B
- Authority
- CN
- China
- Prior art keywords
- character
- cells
- position information
- information corresponding
- characters
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000004422 calculation algorithm Methods 0.000 claims description 108
- 238000012545 processing Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 abstract description 2
- 210000004027 cell Anatomy 0.000 description 246
- 239000010410 layer Substances 0.000 description 30
- 238000004891 communication Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 21
- 238000002156 mixing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000013135 deep learning Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 8
- 238000011176 pooling Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
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/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- 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/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Character Input (AREA)
Abstract
本申请提供了一种电子表格生成方法、装置、电子设备及可读存储介质,涉及机器学习领域,尤其涉及电子表格识别领域,该方法包括:对包括第一表格的图像进行识别,提取第一表格中的字符、每个字符对应的位置信息以及第一表格中的单元格对应的位置信息。对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系。根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格。本申请通过根据每个字符的位置信息以及每个单元格的位置信息,进行字符粒度的匹配,可以避免字符串与单元格匹配不准确的情况,有效提高识别准确率,减少出错概率。
Description
技术领域
本申请涉及机器学习领域,尤其涉及一种电子表格生成方法、装置、电子设备及可读存储介质。
背景技术
表格是一种有效、直观、通用的信息呈现形式。随着电子化办公的广泛普及,电子表格在办公场景中应用十分广泛。在一些场景下,表格往往通过纸质载体、图片、电子幻灯片等形式展示,用户想要对表格编辑时,需要手动将表格信息输入至电子表格软件中,以使得表格中的信息可以被编辑。
为了更加方便的对展示出来的表格进行编辑,出现了一些通过终端对表格拍照,并从表格对应的图像中提取电子表格的方案。
但是上述方案在从表格对应的图像中提取电子表格时,存在准确率不高,实用性差的问题。
发明内容
本申请提供一种电子表格生成方法、装置、电子设备及可读存储介质,能够根据每个字符的位置信息以及每个单元格的位置信息,确定每个字符与单元格的归属关系,进而生成电子表格,改善了识别准确率不高,容易出错,实用性差的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供了一种电子表格生成方法,包括:对包括第一表格的图像进行识别,提取第一表格中的字符、每个字符对应的位置信息以及第一表格中的单元格对应的位置信息。对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系。根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格。
在本申请的实施例中,电子表格生成方法可以应用于电子设备,如服务器、云端服务器、手机、平板电脑、笔记本电脑、个人计算机等。
在第一方面中,先对包括第一表格的图像进行识别,以获取每个字符的位置信息以及每个单元格的位置信息,进而根据每个字符的位置信息以及每个单元格的位置信息,进行字符粒度的匹配,得到每个字符与单元格的归属关系。最后,根据每个字符与单元格的归属关系以及字符生成电子表格。其中,根据每个字符的位置信息以及每个单元格的位置信息,进行字符粒度的匹配,得到每个字符与单元格的归属关系,可以避免字符串与单元格匹配不准确的情况,有效提高识别准确率,减少出错概率,具有较高的实用性。
一些可能的实施方式中,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系,包括:
对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定字符归属于多个单元格中的目标单元格,字符与目标单元格对应的交并比符合第一预设条件。
其中,通过计算字符与每个单元格的交并比,可以更加准确地确定字符与单元格之间的归属关系,进而提高识别准确率。
一些可能的实施方式中,根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格,包括:
对于每个目标单元格,将归属于同一个目标单元格的字符根据字符对应的位置信息排序,得到排序后的归属于同一个目标单元格的字符。根据排序后的归属于同一个目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
其中,对于每个目标单元格对应的字符,根据字符的位置信息排序,在提高准确率的基础上,还可以兼容横排字符和竖排字符,增加电子表格生成方法的应用场景,提高实用性。
一些可能的实施方式中,根据每个字符对应的位置信息以及单元格对应的位置信息,确定第一表格中的字符与第一表格中的单元格之间的归属关系,包括:
对于每个第一表格中的单元格,根据单元格对应的位置信息以及每个字符对应的位置信息,计算每个字符与单元格对应的多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定单元格中包括目标字符,目标字符与目标单元格对应的交并比符合第一预设条件。
其中,通过计算字符与每个单元格的交并比,可以更加准确地确定单元格与字符之间的归属关系,进而提高识别准确率。
一些可能的实施方式中,根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格,包括:
对于每个单元格,将单元格包括的目标字符,根据字符对应的位置信息排序,得到排序后的目标字符。根据排序后的目标字符以及单元格对应的位置信息,生成电子表格。
其中,对于属于同一个单元格的目标字符,根据目标字符的位置信息排序,在提高准确率的基础上,还可以兼容横排字符和竖排字符,增加电子表格生成方法的应用场景,提高实用性。
一些可能的实施方式中,字符对应的位置信息包括字符的最小外接矩形顶点的坐标,单元格对应的位置信息包括单元格顶点的坐标。
一些可能的实施方式中,第一预设条件包括:符合第一预设条件的交并比大于第一阈值。或,符合第一预设条件的交并比是同一字符对应的多个交并比中最大的。
一些可能的实施方式中,当符合第一预设条件的交并比是同一字符对应的多个交并比中最大,且交并比数值小于第二阈值时,在生成电子表格之后,方法还包括:在电子表格中,对交并比对应的字符进行标记。
其中,当交并比最大且交并比小于第二阈值时,说明该字符的归属可能存在错误,在生成的电子表格中标记字符,可以方便用户检查、订正,提高用户的使用体验。
一些可能的实施方式中,在对包括第一表格的图像进行识别之前,该方法还包括:
将接收到的目标图像分别输入第一模块、第二模块,第一模块、第二模块分别配置有第一算法,第一模块、第二模块并行运行。通过第一模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。通过第二模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。
一些可能的实施方式中,第一模块配置有第二算法,提取第一表格中的字符、每个字符对应的位置信息,包括:
将包括第一表格的图像输入第二算法。通过第二算法对包括第一表格的图像进行处理,得到第一表格中的字符、每个字符对应的位置信息。
一些可能的实施方式中,第二模块配置有第三算法,提取第一表格中单元格对应的位置信息,包括:
将包括第一表格的图像输入第三算法。通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的位置信息。
其中,第一模块和第二模块并行运行,可以减少电子表格生成的总时长,大幅提高生成效率。
一些可能的实施方式中,该方法还包括:通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的相关信息,相关信息至少包括单元格的线条类型和填充类型中的一种。
一些可能的实施方式中,通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的位置信息,包括:
通过第三算法识别包括第一表格的图像中的第一表格,并对第一表格进行单元格过分割,得到多个分割单元格的位置信息。通过第三算法识别多个分割单元格之间的合并关系。根据多个分割单元格的位置信息以及分割单元格之间的合并关系,得到多个第一表格中单元格对应的位置信息。
其中,通过对包括第一表格的图像中的表格进行过分割,并获取分割单元格的位置关系和分割单元格之间的合并关系,然后根据分割单元格之间的合并关系确定每个单元格的位置信息,可以更加准确地获取表格结构,进而提高生成电子表格的准确率。
第二方面,提供了一种电子表格生成装置,包括:
识别模块,用于对包括第一表格的图像进行识别,提取第一表格中的字符、每个字符对应的位置信息以及第一表格中的单元格对应的位置信息;
对于每个字符,确定模块,用于根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系;
生成模块,用于根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格。
一些可能的实施方式中,确定模块,具体用于对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定字符归属于多个单元格中的目标单元格,字符与目标单元格对应的交并比符合第一预设条件。
一些可能的实施方式中,生成模块,具体用于对于每个目标单元格,将归属于同一个目标单元格的字符根据字符对应的位置信息排序,得到排序后的归属于同一个目标单元格的字符。根据排序后的归属于同一个目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
一些可能的实施方式中,确定模块,具体用于对于每个第一表格中的单元格,根据单元格对应的位置信息以及每个字符对应的位置信息,计算每个字符与单元格对应的多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定单元格中包括目标字符,目标字符与目标单元格对应的交并比符合第一预设条件。
一些可能的实施方式中,生成模块,具体用于对于每个单元格,将单元格包括的目标字符,根据字符对应的位置信息排序,得到排序后的目标字符。根据排序后的目标字符以及单元格对应的位置信息,生成电子表格。
一些可能的实施方式中,字符对应的位置信息包括字符的最小外接矩形顶点的坐标,单元格对应的位置信息包括单元格顶点的坐标。
一些可能的实施方式中,第一预设条件包括:符合第一预设条件的交并比大于第一阈值。或,符合第一预设条件的交并比是同一字符对应的多个交并比中最大的。
一些可能的实施方式中,当符合第一预设条件的交并比是同一字符对应的多个交并比中最大,且交并比数值小于第二阈值时,生成模块,还用于在电子表格中,对交并比对应的字符进行标记。
一些可能的实施方式中,在对包括第一表格的图像进行识别之前,识别模块,还用于将接收到的目标图像分别输入第一模块、第二模块,第一模块、第二模块分别配置有第一算法,第一模块、第二模块并行运行。通过第一模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。通过第二模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。
一些可能的实施方式中,第一模块配置有第二算法,识别模块,还用于将包括第一表格的图像输入第二算法。通过第二算法对包括第一表格的图像进行处理,得到第一表格中的字符、每个字符对应的位置信息。
一些可能的实施方式中,第二模块配置有第三算法,识别模块,还用于将包括第一表格的图像输入第三算法。通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的位置信息。
一些可能的实施方式中,识别模块,还用于通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的相关信息,相关信息至少包括单元格的线条类型和填充类型中的一种。
一些可能的实施方式中,识别模块,具体用于通过第三算法识别包括第一表格的图像中的第一表格,并对第一表格进行单元格过分割,得到多个分割单元格的位置信息。通过第三算法识别多个分割单元格之间的合并关系。根据多个分割单元格的位置信息以及分割单元格之间的合并关系,得到多个第一表格中单元格对应的位置信息。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时, 处理器执行第一方面或第一方面中任一种方法中进行处理的步骤。
第五方面,提供了一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第一方面中任一种方法中进行处理的步骤。
其中,第二方面至第六方面的有益效果可以参照第一方面,在此不做赘述。
附图说明
图1是本申请实施例提供的一种电子表格生成方法的应用场景示意图;
图2是本申请实施例提供的另一种电子表格生成方法的应用场景示意图;
图3是本申请实施例提供的电子设备的软件结构框图;
图4是本申请实施例提供的服务器的软件架构示意图;
图5是本申请实施例提供的电子表格识别方法的流程示意图;
图6是本申请实施例提供的电子表格识别方法中S505的流程示意图;
图7是本申请实施例提供的电子表格识别方法中S510的流程示意图;
图8示出了本申请实施例提供的一种电子设备800的结构示意图;
图9示出了本申请实施例提供的电子表格生成装置的结构框图;
图10为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
表格是一种有效、直观、通用的信息呈现形式,随着电子化办公的广泛普及,电子表格在办公场景中应用十分广泛。很多场景下,展现表格时都是通过纸质、图片或者电子幻灯片(PPT)进行展示。对于这些展示出来的表格,用户如果想要对其进行修改或者引用至自己的文件中,需要手动将表格内的数据输入至电子表格软件中。
目前,随着深度学习技术的发展,出现了一些通过终端对表格拍照,并从包括表格的图像中提取电子表格的方案,但是,这些方案在将字符和表格进行匹配时,使用的是字符串粒度的匹配,存在将左右两个单元格中各自的字符合并为一个字符串的情况,进而导致识别出来的电子表格出现错误。
例如,对于两个相邻的单元格,左侧的单元格为右对齐,右侧的单元格为左对齐,左侧单元格的最右侧字符与右侧单元格最左侧字符的位置过于接近,在进行字符识别时有可能将两个单元格中各自的字符合并为一个字符串。
有鉴于此,本申请实施例提供了一种电子表格生成方法,包括:对包括第一表格的图像进行识别,提取第一表格中的字符、每个字符对应的位置信息以及第一表格中的单元格对应的位置信息。对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系。根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格。
通过根据每个字符的位置信息以及每个单元格的位置信息,进行字符粒度的匹配,得到每个字符与单元格的归属关系,可以避免字符串与单元格匹配不准确的情况,有效提高识别准确率,减少出错概率,具有较高的实用性。
首先对本申请实施例的应用场景进行简要说明。
图1是本申请实施例提供的一种电子表格生成方法的应用场景示意图。
在一种可能的实现场景中,参考图1,可以包括电子设备11、表格展示载体12、无线通信设备13、服务器14。其中,电子设备11在图1中以智能手机的形式呈现,另一些实现场景中,电子设备11还可以是平板电脑、智能可穿戴设备、笔记本电脑、定制终端、虚拟现实设备、增强现实设备等。电子设备11与无线通信设备13通过无线网络连接。作为示例,无线网络可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),新空口(New Radio,NR),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。无线通信设备13可以是无线网络热点、蜂窝通信网络基站等,服务器14可以是云端服务器、机柜式服务器、刀片服务器或者具有服务器功能的电子设备等。无线通信设备13和服务器14之间可以通过网络连接。网络可以是无线网络或者有线网络,有线网络可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)等。电子设备11通过无线通信设备13与服务器14建立连接。
电子设备11在响应用户操作后,拍摄包括表格展示载体12的照片或视频,并将照片或视频通过无线通信设备13发送至服务器14。服务器14执行本申请提供的电子表格生成方法识别照片或视频中的表格,生成电子表格。其中,表格展示载体12可以是接收投影的幕布、电视机、电脑屏幕或者纸质文件等。
图2是本申请实施例提供的另一种电子表格生成方法的应用场景示意图。
在一种可能的实现场景中,参考图2,可以包括电子设备11、表格展示载体12。其中,图2示出的电子设备11具有较强的算力,能够满足电子表格生成方法所需的图形推理能力。一些可能的实现方式中,电子设备11可以是智能手机、平板电脑、笔记本电脑、具有摄像头的台式电脑或者具有摄像头的服务器等。
电子设备11在响应用户操作后,拍摄包括表格展示载体12的照片或视频,并将照片或视频通过无线通信设备13发送至服务器14。服务器14执行本申请提供的电子表格生成方法识别照片或视频中的表格,生成电子表格。其中,表格展示载体12可以是接收投影的幕布、电视机、电脑屏幕或者纸质文件等。
对于图1和图2中的场景,电子设备11的操作系统可以包括但不限于塞班(Symbian)、安卓(Andriod)、窗口(Windows)、苹果(MacOS、iOS)、黑莓(Blackberry)、鸿蒙(HarmonyOS)等操作系统。服务器14的操作系统则可以是林纳斯(Linux)、窗口服务(Windows Server)、网络操作系统(NetWare)或尤内克斯(Unix)系统等,本申请不作任何限定。
图3是本申请实施例提供的电子设备的软件结构框图。
作为示例,当电子表格生成方法在电子设备11上运行时,电子设备11的操作系统可以是Andriod,其软件结构可以参照图3。
其中,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API )和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示字符的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示字符的视图以及显示图片的视图。
电话管理器用于提供电子设备11的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
系统库中还包括硬件抽象层接口定义语言 (HAL,interface definitionlanguage),HAL中可以部署移动端推理框架,以调用移动端的图像处理器(GraphicsProcessing Unit,GPU)进行神经网络推理。常见的移动端推理框架包括:ncnn,mace,TensorFlow-lite,caffe2, paddle-lite, mnn, tengine, computelibrary, CoreML等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
图4是本申请实施例提供的服务器的软件架构示意图。
在本实施例中,参考图4,服务器中包括微服务以及部署在库伯内特(Kubernetes,K8s)中的第一容器和第二容器。
微服务是一种云原生架构方法,是面向服务的体系结构(SOAframework ,SOA)架构样式的一种变体。微服务可以视为包括多个松散耦合且可独立部署的较小组件或服务的单一应用程序。例如,本申请提供的微服务至少包括接收模块、发送模块、数据分发服务以及字符匹配服务等。
第一容器和第二容器可以是Docker容器(Docker Container),第一容器和第二容器分别对外提供调用接口。
第一模块可以部署在第一容器内,第二模块可以部署在第二容器内,参考图5,第一模块可以是字符识别模块,第二模块可以是单元格结构识别模块。
第一模块中运行有第一算法和第二算法,参考图5,第一算法可以是表格区域检测算法,第二算法可以是字符识别算法。
第二模块中运行有第一算法和第三算法,参考图5,第三算法可以是单元格结构识别算法。
需要说明的是,第一模块和第二模块还可以部署在虚拟机中。还有一些实施方式中,当本申请提供的方法完全由电子设备执行时,微服务、第一模块和第二模块可以通过应用程序或线程实现。
下面以电子表格识别方法应用于图1中示出的电子设备11和服务器14为例,对本申请实施例提供的电子表格识别方法进行说明,其中,电子设备11的软件架构可以参考图3、服务器14的软件架构可以参考图4。图5是本申请实施例提供的电子表格识别方法的流程示意图。
S501、电子设备获取目标图像。
一些可能的实施方式中,参考图1,目标图像可以是电子设备通过摄像头拍摄的包括表格展示载体12的照片或视频中的帧图像。或者,目标图像也可以是电子设备从网络下载、从电子文档中截取或从即时通信应用中保存等途径获取的包括表格的图像。
S502、将目标图像发送至微服务。
一些可能的实施方式中,服务器在接收电子设备发送的目标图像之前,还可以设置网关,网关可用于鉴别电子设备的权限,确定电子设备是否具有向服务器发送数据的权限。通过网关鉴别并的目标图像会被服务器接收并转发送至微服务。
作为示例,网关在接收到来自电子设备的目标图像时,还可以获取发送目标图像的电子设备的设备标识或者获取电子设备上登录的账号标识等。例如,账号标识可以是在电子设备上登录的用户的用户名、用户的实名信息或者用户的手机号码等。
网关根据接收到的设备标识或账号标识确定电子设备具有向服务器发送数据的权限后,放行目标图像,服务器接收到目标图像后,将目标图像转发至微服务。
例如,网关上可以实时更新权限列表,权限列表中记录了具有权限的设备标识或账号标识。当接收到设备标识或账号标识后,网关将接收到的设备标识或账号标识与权限列表中记录的设备标识或账号标识进行匹配,若匹配到相同的标识,则确定接收到的设备标识或账号标识具有向服务器发送数据的权限。
S503、微服务将目标图像发送给第一容器
S504、微服务将目标图像发送给第二容器。
一些可能的实施方式中,第一容器中包括第一模块,第一模块中运行表格区域检测算法和字符识别算法,第二容器中包括第二模块,第二模块中运行表格区域检测算法和单元格结构识别算法,表格区域检测算法用于根据目标图像识别得到包括第一表格的图像。
在本申请实施例中,微服务可以将接收到的目标图像分别发送给并行运行第一容器和第二容器。第一容器和第二容器同步对目标图像进行处理,即以下步骤中S505-S507和S508-S510并行执行。通过并行运行两个容器,可以同时进行字符识别和结构识别,减少识别时长,提高识别效率。
例如,参考图4,第一容器可以提供字符识别模块接口,字符识别模块中运行有表格区域检测算法和字符识别算法。字符识别模块接口可以被微服务调用,用于发送目标图像至第一容器以及接收第一容器返回的字符识别结果。
第二容器可以提供单元格结构识别模块接口,单元格结构识别模块中运行有表格区域检测算法和单元格结构识别算法。单元格结构识别模块接口也可以被微服务调用,用于发送目标图像至第二容器以及接收第二容器返回的结构识别结果。
一些可能的实施方式中,可以通过第一容器进行字符识别,得到包括第一表格中的字符以及每个字符的位置信息。通过第二容器进行结构识别,得到包括第一表格中每个单元格的位置信息以及单元格的相关信息,相关信息至少包括单元格的线条类型和填充类型中的一种。
作为示例,参考图4,微服务调用第一容器和第二容器提供的接口,将目标图像分别发送给第一容器和第二容器。由于电子设备在发送目标图像时,可能会将其编码为更易传输的格式(如WebP格式)。在这种情况下,第一容器和第二容器接收到目标图像后,可以先对其进行解码,将目标图像的格式转换为字符识别算法和单元格结构识别算法能够识别的格式,以便于后续的使用。例如,电子设备发送的目标图像是WebP格式的,后续算法使用jpeg格式的图像,第一容器和第二容器在接收到WebP格式的目标图像后,将其解码为jpeg格式的图像,以供字符识别算法和单元格结构识别算法使用。
还有一些可能的实施方式中,表格区域检测算法可以单独部署至第三容器(未示出)中,并提供接口用于调用表格区域检测算法。这个情况下,第一容器中单独部署字符识别算法,第二容器中单独部署结构识别算法。微服务先调用第三容器的接口,通过表格区域检测算法获取包括第一表格的图像。再将包括第一表格的图像分别传输给并行运行的第一容器和第二容器,第一容器根据包括第一表格的图像得到字符识别结果,第二容器根据包括第一表格的图像识别得到结构识别结果。
S505、通过第一容器中的表格区域检测算法识别目标图像中包括第一表格的图像。
图6是本申请实施例提供的电子表格识别方法中S505的流程示意图。
一些可能的实施方式中,通过表格区域检测算法识别目标图像,得到包括第一表格的图像,可以包括以下步骤:
S5051、将解码后的目标图像进行预处理。
一些可能的实施方式中,预处理可以包括调整目标图像的尺寸、调整目标图像的长宽比例等。例如,接收到的目标图像的尺寸可能是原图的尺寸,如4096*3072,图片过大不易处理,可以对其进行压缩将尺寸调整为1024*768,再进行处理。再例如,表格区域检测算法对正方形的图像进行识别时更容易处理,可以将1024*768的图像通过填充黑色像素,生成1042*1024尺寸的预处理后的图像。
S5052、通过预先训练的深度学习算法,对预处理后的目标图像进行表格区域识别,生成表格区域掩码。
一些可能的实施方式中,深度学习算法可以包括图卷积神经网络(Graphconvolutional network ,GCN)、快速R-CNN (Fast Region-Convolutional NeuralNetwork,Fast R-CNN),全卷积神经网络(Fully Convolutional Networks,FCN)、条件生成式对抗网络(Conditional Generative Adversarial Networks,CGAN)等。
作为示例,训练深度学习算法时,可以先设置样本集,样本集中包括各种形式的表格,如全线表、无线表、三线表等,标注每个样本的真实表格区域。然后,将样本集输入选定的深度学习算法(如Fast R-CNN模型)中,模型对样本进行预测得到预测结果。接着,将预测结果与标注的真实结果进行比对,计算损失函数。最后,根据损失函数反向传播,迭代预设次数(如1万次)对模型进行训练,得到训练好的深度学习算法。
其中,深度学习算法输出的结果是表格区域掩码,表格区域掩码用于指示预处理后的目标图像中包括表格的区域。目标图像中可能包括一张或多张表格,每张表格对应一个表格区域掩码。
S5053、获取每个表格区域掩码的外接轮廓面积,过滤外接轮廓面积小于预设面积的区域。
一些可能的实施方式中,目标图像中包括多张表格,表格区域大小不一,对于过小的表格,提取出的图像无法用于字符和单元格结构识别,需要将其过滤掉。
作为示例,可以通过表格区域掩码的外接轮廓面积确定表格区域中的表格是否能够用于识别。例如,当表格区域掩码的外接轮廓面积小于预设面积时,则确定表格区域掩码对应的表格无法用于识别,可以将其过滤掉。仅保留外接轮廓面积大于预设面积的表格区域掩码。
S5054、对表格区域掩码进行矫正,根据矫正后的表格区域掩码裁剪目标图像得到包括第一表格的图像。
一些可能的实施方式中,由于拍摄角度、表格展示载体材质等原因,目标图像中的包括第一表格的图像可能是四边形、梯形等情况,不利于后续识别。这种情况下,可以通过图像透视变换算法、图像修正算法等,矫正包括第一表格的图像,得到矩形的包括第一表格的图像。
在本实施例中,可以先使用图像透视变换算法对表格区域掩码进行矫正,得到矩形的表格区域掩码,矩形表格区域掩码中只存在包括第一表格的图像。然后,根据矩形表格区域掩码在预处理后的目标图像中的坐标以及表格区域掩码与矩形表格区域掩码的变换关系,从目标图像中裁剪得到包括第一表格的图像。其中,包括第一表格的图像中仅包括一个第一表格。
一些实施方式中,一张目标图像中可能存在多个第一表格,即,可以裁剪得到多张包括第一表格的图像。
S506、通过第一容器中的字符识别算法识别包括第一表格的图像,得到字符识别结果。
S507、通过第一容器将字符识别结果发送至微服务。
一些可能的实施方式中,对包括第一表格的图像进行字符识别,得到字符识别结果。其中,字符识别结果包括第一表格中的字符和每个字符的位置信息,字符的位置信息包括字符的最小外接矩形顶点的坐标。其中,最小外接矩形是指能够将字符完全框住的最小的矩形。
需要说明的是,本申请中所指的字符,包括单不限于是汉字、英文字母、拉丁字母、希腊字母、数字、标点、特殊符号等。
作为示例,字符识别算法可以是光字符识别(Optical Character Recognition,OCR)算法。通过第一容器中的字符识别算法识别包括第一表格的图像,可以将包括第一表格的图像输入OCR算法,OCR算法先对包括第一表格的图像进行预处理。预处理可以包括灰度化、降噪、二值化、字符切分以及归一化等。
然后,对预处理后的图像进行字符检测,得到文本行图像。其中,文本行图像中包括至少一行文本的图像。
接着,对文本行图像进行矫正和裁剪,得到多个矫正为矩形、包含单个字符的字符图像,并对每个字符图像进行文本识别,得到字符图像对应的字符。
最后,根据字符图像在文本行图像中的位置,计算每个字符的位置信息。
在识别出所有字符和字符的位置信息后,将所有的字符和字符的位置信息作为字符识别结果,发送至微服务。
S508、通过第二容器中的表格区域检测算法识别目标图像中的包括第一表格的图像。
一些可能的实施方式中,第二容器中通过表格区域检测算法对目标图像识别得到包括第一表格的图像,并将包括第一表格的图像输入单元格结构识别算法的实现步骤,与第一容器中相同,具体可参照S505中的说明,在此不做赘述。
S509、通过第二容器中的单元格结构识别算法识别包括第一表格的图像,得到结构识别结果。
S510、通过第二容器将结构识别结果发送至微服务。
图7是本申请实施例提供的电子表格识别方法中S510的流程示意图。
一些可能的实施方式中,通过第二容器中的单元格结构识别算法识别包括第一表格的图像,得到结构识别结果,可以通过以下步骤:
S5101、通过单元格结构识别算法识别包括第一表格的图像中的第一表格,并对第一表格进行单元格过分割,得到多个分割单元格的位置信息。
一些可能的实施方式中,在通过单元格结构识别算法识别包括第一表格的图像之前,可以先对包括第一表格的图像进行预处理,预处理的方式可以参照S5031中的实例。例如,可以调整包括第一表格的图像大小,以及填充黑色像素以使得包括第一表格的图像为正方形。
一些可能的实施方式中,单元格结构识别算法可以是分割合并(split merge,SPLERGE)方法,SPLERGE方法包括一个预先训练的分割(split)模型和一个预先训练的合并(merge)模型。其中,分割模型和合并模型都可以是深度学习模型。
其中,输入分割网络的是包括第一表格的图像,输出的是两个一维信号:和。其中, r是行分割符的预测结果,代表了每个行像素是第一表格行分隔符的一部分的概率。和 c是列分割符的预测结果,代表了每个列像素是第一表格列分隔符的一部分的概率,H是包括第一表格的图像的高,W是包括第一表格的图像的宽,作为示例,行分割符可以是第一表格的行分割线,列分割符可以是第一表格的列分割线,分割线可以显示,也可以隐藏。
一些可能的实施方式中,分割模型可以包括三个子网络:共享全卷积网络(sharefully convolutional networks,SFCN)、行投影网络(row projection network,RPN)以及列投影网络(column projection network,CPN)。
其中,SFCN、RPN以及CPN都可以通过训练卷积神经网络(Convolutional NeuralNetworks,CNN)得到。例如,SFCN、RPN 和 CPN 子网络可以通过监督方式在预先标注真实r和c的样本集上进行联合训练。其中,联合训练的总损失函数可以是各个子网络对应的损失函数的加权和。
作为示例,SFCN可以用于根据第一表格的图像计算并得到多个局部图像特征。这些局部图像特征被用于 RPN 和 CPN 中。RPN 和 CPN 通过进一步处理这些局部图像特征来预测行分隔符和列分隔符。例如,SFCN 的结构可以包括 3 个具有 7 x 7 卷积核的卷积层。可以在最后一个卷积层进行空洞系数为 2的空洞卷积。每个卷积层生成 18 个特征图,并使用线性修正单元(Rectified Linear Unit,ReLU)激活函数。
RPN和CPN除了在是行像素还是列像素上进行投影和池化操作以外,具有相同的结构。在此,以RPN为例进行说明,在实现CPN时,可以将RPN中进行投影和池化的像素替换为列像素即可。
一些可能的实施方式中,RPN可以包括多个链式块(Block),例如,链式块可以是3个或5个等,本申请对此不做限制。链式块的输入可以是SFCN输出的局部图像特征。
一些可能的实施方式中,对于一个链式块,可以先将输入的局部图像特征并行输入到3个空洞卷积层中,这三个空洞卷积层的空洞系数可以分别为2、3和4。每个空洞卷积层可以根据局部图像特征生成6个特征图。然后将每个空洞卷积输出的特征图串联起来,得到18 个特征图。
然后,执行1*2的最大池化(对于CPN即为2*1的最大池化)。当链式块的数量大于3,可以只在前3个块中进行最大池化,以确保宽度没有被过度降采样。
接着,进行1*1的卷积运算和投影池化,计算得到行分隔符的预测结果r。类似的,CPN可以根据局部图像特征计算得到列分隔符的预测结果c。
最后,根据行分隔符和列分隔符的预测结果和对包括第一表格的图像中的表格区域进行过分割,得到多个分割单元格。其中,过分割是指暂不考虑单元格跨行、跨列等情况,将所有单元格分割为最小单元。每个分割单元格包括分割单元格信息以及分割单元格位置信息。分割单元格的相关信息至少包括单元格的线条类型和填充类型中的一种。
分割单元格位置信息则可以是分割单元格的长宽以及其中至少一个顶点在包括第一表格的图像中的坐标,或者,也可以是分割单元格对角的两个顶点的坐标。
S5102、通过单元格结构识别算法识别分割单元格之间的合并关系,根据多个分割单元格的位置信息以及分割单元格之间的合并关系,得到多个第一表格中单元格对应的位置信息。
参考S5101,可以通过单元格结构识别算法中的合并模型,根据包括第一表格的图像和分割模型的输出,识别分割单元格之间的合并关系。合并关系是指将同一行的多个连续分割单元格合并为一个单元格,或,将同一列的多个连续分割单元格合并为一个单元格。即,合并关系中记录了分割单元格跨行、跨列的情况。
一些可能的实施方式中,输入合并模型的除了第一表格的图像和分割模型的输出,还可以包括预测的行/列区域和预测的行/列分隔线区域。其中,分割模型的输出 r 和c 通过叠加转换为二维图像。预测的行/列区域被渲染为二进制掩码。预测的行/列分隔线区域被渲染为二进制掩码,其中每个行和列分隔符所在区域的中点被渲染为一个预设像素宽(如7像素宽)的线条。此外,行/列分隔线区域还可以用于确定模型的池化区域。
一些可能的实施方式中,合并关系可以是合并模型输出两个矩阵:竖直方向合并矩阵(D-probs)和水平方向合并矩阵(R-probs)。
假设根据行/列分隔线区域确定第一表格的分割单元格包括 M 行和 N 列,D-probs矩阵的尺寸为(M-1)*N,表示自上向下分割单元格(i,j)与分割单元格(i+1,j)合并的概率。i表示第几行分割单元格,j表示第几列分割单元格,i小于或等于M-1,j小于或等于N。
R-probs矩阵的尺寸为M*(N-1),表示自左向右分割单元格(i,j)与分割单元格(i,j+1)合并的概率。i小于或等于M,j小于或等于N-1。
D-probs和R-probs中的概率是互相独立的,即单个分割网格单元可以在多个方向上合并。
一些可能的实施方式中,合并模型的框架结构与分割模型类似。
例如,合并模型可以包括4个并行的共享卷积层(合并模型可以不含空洞卷积),其中,第 2 个共享卷积层和第 4 共享卷积层后可以进行 2* 2的平均池化。即合并模型分为4 个分支,每个分支预测一个 M × N 概率矩阵,该四个概率矩阵分别表示分割单元格在上(up,u)、下(down,d)、左(left,l)、右(right,r)的方向上合并的概率。
则竖直方向合并矩阵(D-probs,D)和水平方向合并矩阵(R-probs,R)可以通过以下公式计算:
(公式一)
(公式二)
一些实施方式中,合并模型的四个分支结构类似,可以包括多个块(例如3个),每个块中可以包括3个并行的空洞卷积层,这三个空洞卷积层的空洞系数可以分别为1、2和3。每个空洞卷积层可以根据局部图像特征生成6个特征图。然后将每个空洞卷积输出的特征图串联起来,得到 18 个特征图。然后,进行1*1的卷积运算和网格池化,计算得到对应方向上的合并概率。
最后,单元格结构识别算法可以根据多个分割单元格的位置信息以及分割单元格之间的合并关系,得到多个第一表格中单元格对应的位置信息
S511、微服务根据字符识别结果和结构识别结果进行字符级匹配,生成电子表格文件。
微服务中的字符匹配服务接收来自第一容器和第二容器的字符识别结果和结构识别结果,根据字符识别结果和结构识别结果,进行字符粒度的匹配,确定每个字符与单元格的归属关系。
一些可能的实施方式中,参考上述示例,字符识别结果包括字符和字符的最小外接矩形顶点的坐标,结构识别结果包括单元格顶点的坐标。
作为示例,可以先根据字符的最小外接矩形顶点的坐标,确定字符在包括第一表格的图像中覆盖的面积以及位置。然后,可以根据单元格顶点的坐标,确定单元格在包括第一表格的图像中覆盖的面积以及位置。
接着根据以下公式,计算字符和每个单元格的交并比:
(公式三)
其中,交并比(intersection over union ,IoU) 是用来评价两个几何图形的面积重合度的一种参数。
例如,字符最小外接矩形的对角坐标为,单元格的对角坐标为,则交集矩形的对角坐标为。
当字符和单元格存在交集时,其中:
(公式四)
(公式五)
(公式六)
(公式七)
字符最小外接矩形的长(WA)和高(HA)分别为:
(公式八)
(公式九)
单元格的长(WB)和高(HB)分别为:
(公式十)
(公式十一)
交并比可通过以下公式计算:
(公式十二)
当字符和单元格不存在交集时,,这个情况下,将交并比确定为0。
一些可能的实施方式中,确定字符归属于多个单元格中的目标单元格,字符与目标单元格对应的交并比符合第一预设条件。或者,也可以确定单元格中包括目标字符,目标字符与目标单元格对应的交并比符合第一预设条件。
其中,符合第一预设条件的交并比可以是大于第一阈值的交并比
例如,第一阈值为0.6,当根据公式十二计算得到的字符与单元格的交并比为0.7时,可以确定该单元格为目标单元格,该字符属于目标单元格。或,确定该字符为目标字符,该单元格包括目标字符。
或者,符合第一预设条件的交并比可以是同一字符对应的多个交并比中最大的。
例如,根据公式十二,一个字符与3个单元计算得到的交并比分别为0.6、0.7、0.8。则交并比0.8对应的单元格为目标单元格,字符属于目标单元格。
或,根据公式十二,一个单元格与3个字符计算得到的交并比分别为0.6、0.7、0.8。则交并比0.8对应的字符为目标字符,该单元格包括目标字符。
一些可能的实施方式中,当符合第一预设条件的交并比是同一字符对应的多个交并比中最大,且交并比数值小于第二阈值时,在生成电子表格之后,可以在电子表格中对交并比对应的字符进行标记。
例如,若第二阈值为0.6,根据公式十二,字符与多个单元格计算得到的交并比为0.5、0.4、0.3。则交并比0.5对应的单元格为目标单元格。但是,由于交并比0.5小于第二阈值0.6,表示这个匹配关系可能存在误判。所以,可以在生成电子表格时,标记该字符,并展示提示信息。
作为示例,标记字符可以通过改变字符颜色、加粗、添加下划线、添加背景色等方式。展示提示信息可以通过批注框、弹框等方式,本申请对此不做限制。
一些可能的实施方式中,对于每个目标单元格,根据字符以及字符与单元格的归属关系,生成电子表格,可以先将归属于同一个目标单元格的字符根据字符对应的位置信息排序,得到排序后的归属于同一个目标单元格的字符。根据排序后的归属于同一个目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
例如,根据归属关系,两个字符“日”和“期”归属于同一个目标单元格。若根据两个字符的位置信息,确认“日”在“期”的左边,则将两个字符沿水平方向合并为“日期”,填充至该目标单元格内。若根据两个字符的位置信息,确认“日”在“期”的上边,则将两个字符沿竖直方向合并为“日期”,填充至该目标单元格内。
或者,还有一些可能的实施方式中,对于每个单元格,将单元格包括的目标字符,根据字符对应的位置信息排序,得到排序后的目标字符。根据排序后的目标字符以及单元格对应的位置信息,生成电子表格。
例如,一个单元格包括2个目标字符,分别为“日”和“期”,若根据两个目标字符的位置信息,确认“日”在“期”的左边,则将两个目标字符沿水平方向合并为“日期”,填充至该单元格内。若根据两个目标字符的位置信息,确认“日”在“期”的上边,则将两个字符沿竖直方向合并为“日期”,填充至该单元格内。
一些可能的实施方式中,在根据字符以及字符与单元格的归属关系,生成电子表格时,还可以根据单元格的相关信息,对应设置电子表格中单元格的线条类型和填充类型。
S512、微服务将电子表格文件发送至电子设备。
S513、电子设备根据电子表格文件渲染并展示电子表格。
一些可能的实施方式中,电子设备可以通过安装的电子表格应用程序,加载渲染接收到的电子表格文件,并展示电子表格。当电子表格文件中存在被标记的字符时,可以同时展示提示信息,以提示用户核对该字符是否正确。
还有一些可能的实施方式中,电子表格识别方法可以仅应用于图2中示出的电子设备11中。当电子表格识别方法仅应用于电子设备11中时,原服务器14中的步骤可以迁移至电子设备11中执行。例如,微服务、第一容器和第二容器可以通过电子设备11中的应用程序或者进程实现。深度学习算法可以通过在电子设备11中部署移动推理框架,调用移动端的GPU实现。常见的移动端推理框架包括:ncnn,mace,TensorFlow-lite,caffe2, paddle-lite, mnn, tengine, computelibrary, CoreML等。
应理解,上述举例说明是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
上文结合图3至图7,对本申请实施例的电子表格生成方法进行了详细描述,下面将结合图8至图10,详细描述本申请适用的电子设备、服务器的硬件系统、装置以及芯片。应理解,本申请实施例中的硬件系统、装置以及芯片可以执行前述本申请实施例的各种电子表格生成方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
本申请实施例提供的电子表格生成方法可以适用于各种电子设备,对应的,本申请实施例提供的电子表格生成装置可以为多种形态的电子设备。
在本申请的一些实施例中,该电子设备可以为服务器、提供服务器功能的设备集群、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,或者可以为其他能够进行数据处理,进行深度学习的设备或装置,对于电子设备的具体类型,本申请实施例不作任何限制。
下文以电子设备为手机为例,图8示出了本申请实施例提供的一种电子设备800的结构示意图。
电子设备800可以包括处理器810,外部存储器接口820,内部存储器821,通用串行总线(universal serial bus,USB)接口830,充电管理模块840,电源管理模块841,电池842,天线1,天线2,移动通信模块850,无线通信模块860,音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,传感器模块880,按键890,马达891,指示器892,摄像头893,显示屏894,以及用户标识模块(subscriber identification module,SIM)卡接口895等。其中传感器模块880可以包括压力传感器880A,陀螺仪传感器880B,气压传感器880C,磁传感器880D,加速度传感器880E,距离传感器880F,接近光传感器880G,指纹传感器880H,温度传感器880J,触摸传感器880K,环境光传感器880L,骨传导传感器880M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备800的具体限定。在本申请另一些实施例中,电子设备800可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
作为举例,当电子设备800为手机或平板电脑时,可以包括图示中的全部部件,也可以仅包括图示中的部分部件。
处理器810可以包括一个或多个处理单元,例如:处理器810可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器810中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器810中的存储器为高速缓冲存储器。该存储器可以保存处理器810刚用过或循环使用的指令或数据。如果处理器810需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器810的等待时间,因而提高了系统的效率。
在一些实施例中,处理器810可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备800的结构限定。在本申请另一些实施例中,电子设备800也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块840用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块840可以通过USB接口830接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块840可以通过电子设备800的无线充电线圈接收无线充电输入。充电管理模块840为电池842充电的同时,还可以通过电源管理模块841为电子设备供电。
电源管理模块841用于连接电池842,充电管理模块840与处理器810。电源管理模块841接收电池842和/或充电管理模块840的输入,为处理器810,内部存储器821,显示屏894,摄像头893,和无线通信模块860等供电。电源管理模块841还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块841也可以设置于处理器810中。在另一些实施例中,电源管理模块841和充电管理模块840也可以设置于同一个器件中。
电子设备800的无线通信功能可以通过天线1,天线2,移动通信模块850,无线通信模块860,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块850可以提供应用在电子设备800上的包括2G/3G/4G/5G等无线通信的解决方案。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。
无线通信模块860可以提供应用在电子设备800上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块860可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块860经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器810。无线通信模块860还可以从处理器810接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备800的天线1和移动通信模块850耦合,天线2和无线通信模块860耦合,使得电子设备800可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备800通过GPU,显示屏894,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏894和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器810可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏894用于显示图像,视频等。显示屏894包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备800可以包括1个或N个显示屏894,N为大于1的正整数。
电子设备800可以通过ISP,摄像头893,视频编解码器,GPU,显示屏894以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头893反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头893中。
摄像头893用于捕获静态图像或视频。在一些实施例中,电子设备800可以包括1个或N个摄像头893,N为大于1的正整数。
NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备800的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口820可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备800的存储能力。外部存储卡通过外部存储器接口820与处理器810通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器821可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器821可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备800使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器821可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器810通过运行存储在内部存储器821的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备800的各种功能应用以及数据处理。
电子设备800可以通过音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块870用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块870还可以用于对音频信号编码和解码。在一些实施例中,音频模块870可以设置于处理器810中,或将音频模块870的部分功能模块设置于处理器810中。
扬声器870A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备800可以通过扬声器870A收听音乐,或收听免提通话。
受话器870B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备800接听电话或语音信息时,可以通过将受话器870B靠近人耳接听语音。
麦克风870C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风870C发声,将声音信号输入到麦克风870C。电子设备800可以设置至少一个麦克风870C。在另一些实施例中,电子设备800可以设置两个麦克风870C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备800还可以设置三个,四个或更多麦克风870C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口870D用于连接有线耳机。耳机接口870D可以是USB接口830,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器880A用于感受压力信号,可以将压力信号转换成电信号。
陀螺仪传感器880B可以用于确定电子设备800的运动姿态。在一些实施例中,可以通过陀螺仪传感器880B确定电子设备800围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器880B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器880B检测电子设备800抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备800的抖动,实现防抖。陀螺仪传感器880B还可以用于导航,体感游戏场景。
气压传感器880C用于测量气压。在一些实施例中,电子设备800通过气压传感器880C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器880D包括霍尔传感器。电子设备800可以利用磁传感器880D检测翻盖皮套的开合。在一些实施例中,当电子设备800是翻盖机时,电子设备800可以根据磁传感器880D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器880E可检测电子设备800在各个方向上(一般为三轴)加速度的大小。当电子设备800静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器880F,用于测量距离。电子设备800可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备800可以利用距离传感器880F测距以实现快速对焦。
接近光传感器880G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备800通过发光二极管向外发射红外光。电子设备800使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备800附近有物体。当检测到不充分的反射光时,电子设备800可以确定电子设备800附近没有物体。电子设备800可以利用接近光传感器880G检测用户手持电子设备800贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器880G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器880L用于感知环境光亮度。电子设备800可以根据感知的环境光亮度自适应调节显示屏894亮度。环境光传感器880L也可用于拍照时自动调节白平衡。环境光传感器880L还可以与接近光传感器880G配合,检测电子设备800是否在口袋里,以防误触。
指纹传感器880H用于采集指纹。电子设备800可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器880J用于检测温度。在一些实施例中,电子设备800利用温度传感器880J检测的温度,执行温度处理策略。例如,当温度传感器880J上报的温度超过阈值,电子设备800执行降低位于温度传感器880J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备800对电池842加热,以避免低温导致电子设备800异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备800对电池842的输出电压执行升压,以避免低温导致的异常关机。
在本申请实施例中,温度传感器880J可以包括多个,用于检测电子设备800不同位置的温度,如可以设置在处理器附近,获取处理器的温度,设置在电池附近,获取电池的温度或者设置在电子设备800的外壳内侧,用于获取电子设备800外壳的温度。
触摸传感器880K,也称“触控器件”。触摸传感器880K可以设置于显示屏894,由触摸传感器880K与显示屏894组成触摸屏,也称“触控屏”。触摸传感器880K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏894提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器880K也可以设置于电子设备800的表面,与显示屏894所处的位置不同。
按键890包括开机键,音量键等。按键890可以是机械按键。也可以是触摸式按键。电子设备800可以接收按键输入,产生与电子设备800的用户设置以及功能控制有关的键信号输入。
马达898可以产生振动提示。马达898可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏894不同区域的触摸操作,马达898也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器892可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口895用于连接SIM卡。SIM卡可以通过插入SIM卡接口895,或从SIM卡接口895拔出,实现和电子设备800的接触和分离。电子设备800可以支持8个或N个SIM卡接口,N为大于8的正整数。SIM卡接口895可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口895可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口895也可以兼容不同类型的SIM卡。SIM卡接口895也可以兼容外部存储卡。电子设备800通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备800采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备800中,不能和电子设备800分离。
对应于上文实施例所述的电子表格生成方法,图9示出了本申请实施例提供的电子表格生成装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图9,本申请实施例提供了一种电子表格生成装置,该装置包括:
识别模块91,用于对包括第一表格的图像进行识别,提取第一表格中的字符、每个字符对应的位置信息以及第一表格中的单元格对应的位置信息;
对于每个字符,确定模块92,用于根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定字符与第一表格中的单元格之间的归属关系;
生成模块93,用于根据第一表格中的字符以及第一表格中的字符与第一表格中的单元格之间的归属关系,生成电子表格。
一些可能的实施方式中,确定模块92,具体用于对于每个字符,根据字符对应的位置信息以及第一表格中的多个单元格对应的位置信息,确定多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定字符归属于多个单元格中的目标单元格,字符与目标单元格对应的交并比符合第一预设条件。
一些可能的实施方式中,生成模块93,具体用于对于每个目标单元格,将归属于同一个目标单元格的字符根据字符对应的位置信息排序,得到排序后的归属于同一个目标单元格的字符。根据排序后的归属于同一个目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
一些可能的实施方式中,确定模块92,具体用于对于每个第一表格中的单元格,根据单元格对应的位置信息以及每个字符对应的位置信息,计算每个字符与单元格对应的多个交并比,交并比为字符在第一表格中的覆盖区域与单元格在第一表格中的覆盖区域的交集与并集的比值。确定单元格中包括目标字符,目标字符与目标单元格对应的交并比符合第一预设条件。
一些可能的实施方式中,生成模块93,具体用于对于每个单元格,将单元格包括的目标字符,根据字符对应的位置信息排序,得到排序后的目标字符。根据排序后的目标字符以及单元格对应的位置信息,生成电子表格。
一些可能的实施方式中,字符对应的位置信息包括字符的最小外接矩形顶点的坐标,单元格对应的位置信息包括单元格顶点的坐标。
一些可能的实施方式中,第一预设条件包括:符合第一预设条件的交并比大于第一阈值。或,符合第一预设条件的交并比是同一字符对应的多个交并比中最大的。
一些可能的实施方式中,当符合第一预设条件的交并比是同一字符对应的多个交并比中最大,且交并比数值小于第二阈值时,生成模块93,还用于在电子表格中,对交并比对应的字符进行标记。
一些可能的实施方式中,在对包括第一表格的图像进行识别之前,识别模块91,还用于将接收到的目标图像分别输入第一模块、第二模块,第一模块、第二模块分别配置有第一算法,第一模块、第二模块并行运行。通过第一模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。通过第二模块中的第一算法对目标图像进行处理,得到包括第一表格的图像。
一些可能的实施方式中,第一模块配置有第二算法,识别模块91,还用于将包括第一表格的图像输入第二算法。通过第二算法对包括第一表格的图像进行处理,得到第一表格中的字符、每个字符对应的位置信息。
一些可能的实施方式中,第二模块配置有第三算法,识别模块91,还用于将包括第一表格的图像输入第三算法。通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的位置信息。
一些可能的实施方式中,识别模块91,还用于通过第三算法对包括第一表格的图像进行处理,得到第一表格中单元格对应的相关信息,相关信息至少包括单元格的线条类型和填充类型中的一种。
一些可能的实施方式中,识别模块91,具体用于通过第三算法识别包括第一表格的图像中的第一表格,并对第一表格进行单元格过分割,得到多个分割单元格的位置信息。通过第三算法识别多个分割单元格之间的合并关系。根据多个分割单元格的位置信息以及分割单元格之间的合并关系,得到多个第一表格中单元格对应的位置信息。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供另一种电子设备,包括摄像头模组、处理器和存储器。
摄像头模组,用于获取目标图像或视频流,视频流包括多帧目标图像。目标图像中包括至少一个第一表格。
存储器,用于存储可在处理器上运行的计算机程序。
处理器,用于执行如上述所述的电子表格生成方法中进行处理的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令;当所述计算机可读存储介质在电子表格生成装置上运行时,使得该电子表格生成装置执行如前述所示的方法。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种包含计算机指令的计算机程序产品,当其在电子表格生成装置上运行时,使得电子表格生成装置可以执行前述所示的技术方案。
图10为本申请实施例提供的一种芯片的结构示意图。图10所示的芯片可以为通用处理器,也可以为专用处理器。该芯片包括处理器1001。其中,处理器1001用于支持电子表格生成装置执行前述所示的技术方案。
可选的,该芯片还包括收发器1002,收发器1002用于接受处理器1001的控制,用于支持通信装置执行前述所示的技术方案。
可选的,图10所示的芯片还可以包括:存储介质1003。
需要说明的是,图10所示的芯片可以使用下述电路或者器件来实现:一个或多个现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其他适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。
上述本申请实施例提供的电子设备、电子表格生成装置、计算机存储介质、计算机程序产品、芯片均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,本申请实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括电子设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系,可以组合形成新的实施例。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种生成电子表格的方法,其特征在于,所述方法包括:
对包括第一表格的图像进行识别,提取所述第一表格中的字符、每个所述字符对应的位置信息以及所述第一表格中的单元格对应的位置信息;
对于每个字符,根据所述字符对应的位置信息以及所述第一表格中的多个单元格对应的位置信息,确定所述字符与所述第一表格中的单元格之间的归属关系;
根据所述第一表格中的字符以及所述第一表格中的字符与所述第一表格中的单元格之间的归属关系,生成电子表格;
所述根据所述字符对应的位置信息以及所述第一表格中的多个单元格对应的位置信息,确定所述字符与所述第一表格中的单元格之间的归属关系,包括:
对于每个字符,根据所述字符对应的位置信息以及所述第一表格中的多个单元格对应的位置信息,确定多个交并比,所述交并比为所述字符在所述第一表格中的覆盖区域与所述单元格在所述第一表格中的覆盖区域的交集与并集的比值;
确定所述字符归属于所述多个单元格中的目标单元格,所述字符与所述目标单元格对应的交并比符合第一预设条件;
根据所述第一表格中的字符以及所述第一表格中的字符与所述第一表格中的单元格之间的归属关系,生成电子表格,包括:
对于每个所述目标单元格,将归属于同一个所述目标单元格的字符根据所述字符对应的位置信息排序,得到排序后的归属于同一个所述目标单元格的字符;
根据所述排序后的归属于同一个所述目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
2.根据权利要求1所述的方法,其特征在于,所述字符对应的位置信息包括所述字符的最小外接矩形顶点的坐标,所述单元格对应的位置信息包括所述单元格顶点的坐标。
3.根据权利要求1所述的方法,其特征在于,所述符合第一预设条件的交并比大于第一阈值;或,所述符合第一预设条件的交并比是同一字符对应的多个交并比中最大的。
4.根据权利要求3所述的方法,其特征在于,当所述符合第一预设条件的交并比是同一字符对应的多个交并比中最大,且所述交并比数值小于第二阈值时,在所述生成电子表格之后,所述方法还包括:
在所述电子表格中,对所述交并比对应的字符进行标记。
5.根据权利要求1所述的方法,其特征在于,在对包括第一表格的图像进行识别之前,所述方法还包括:
将接收到的目标图像分别输入第一模块、第二模块,所述第一模块、第二模块分别配置有第一算法,所述第一模块、第二模块并行运行;
通过所述第一模块中的第一算法对所述目标图像进行处理,得到包括所述第一表格的图像;
通过所述第二模块中的第一算法对所述目标图像进行处理,得到包括所述第一表格的图像。
6.根据权利要求5所述的方法,其特征在于,所述第一模块配置有第二算法,所述提取所述第一表格中的字符、每个所述字符对应的位置信息,包括:
将包括所述第一表格的图像输入第二算法;
通过所述第二算法对包括所述第一表格的图像进行处理,得到所述第一表格中的字符、每个所述字符对应的位置信息。
7.根据权利要求5所述的方法,其特征在于,所述第二模块配置有第三算法,所述提取所述第一表格中单元格对应的位置信息,包括:
将包括所述第一表格的图像输入第三算法;
通过所述第三算法对包括所述第一表格的图像进行处理,得到所述第一表格中单元格对应的位置信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
通过所述第三算法对包括所述第一表格的图像进行处理,得到所述第一表格中单元格对应的相关信息,所述相关信息至少包括所述单元格的线条类型和填充类型中的一种。
9.根据权利要求8所述的方法,其特征在于,所述通过所述第三算法对包括所述第一表格的图像进行处理,得到所述第一表格中单元格对应的位置信息,包括:
通过所述第三算法识别包括所述第一表格的图像中的第一表格,并对所述第一表格进行单元格过分割,得到多个分割单元格的位置信息;
通过所述第三算法识别多个所述分割单元格之间的合并关系;
根据多个所述分割单元格的位置信息以及所述分割单元格之间的合并关系,得到多个所述第一表格中单元格对应的位置信息。
10.一种电子表格生成装置,其特征在于,包括:
识别模块,用于对包括第一表格的图像进行识别,提取所述第一表格中的字符、每个所述字符对应的位置信息以及所述第一表格中的单元格对应的位置信息;
对于每个字符,确定模块,用于根据所述字符对应的位置信息以及第一表格中的多个所述单元格对应的位置信息,确定所述第一表格中的字符与所述第一表格中的单元格之间的归属关系;
生成模块,用于根据所述第一表格中的字符以及所述第一表格中的字符与所述第一表格中的单元格之间的归属关系,生成电子表格;
确定模块,具体用于对于每个字符,根据所述字符对应的位置信息以及所述第一表格中的多个单元格对应的位置信息,确定多个交并比,所述交并比为所述字符在所述第一表格中的覆盖区域与所述单元格在所述第一表格中的覆盖区域的交集与并集的比值;
确定所述字符归属于所述多个单元格中的目标单元格,所述字符与所述目标单元格对应的交并比符合第一预设条件;
生成模块,具体用于对于每个所述目标单元格,将归属于同一个所述目标单元格的字符根据所述字符对应的位置信息排序,得到排序后的归属于同一个所述目标单元格的字符;
根据所述排序后的归属于同一个所述目标单元格的字符以及目标单元格对应的位置信息,生成电子表格。
11.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,所述处理器执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310593269.4A CN116311311B (zh) | 2023-05-23 | 2023-05-23 | 电子表格生成方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310593269.4A CN116311311B (zh) | 2023-05-23 | 2023-05-23 | 电子表格生成方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116311311A CN116311311A (zh) | 2023-06-23 |
CN116311311B true CN116311311B (zh) | 2023-10-10 |
Family
ID=86829110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310593269.4A Active CN116311311B (zh) | 2023-05-23 | 2023-05-23 | 电子表格生成方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116311311B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796031A (zh) * | 2019-10-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的表格识别方法、装置及电子设备 |
CN112115884A (zh) * | 2020-09-22 | 2020-12-22 | 北京一览群智数据科技有限责任公司 | 一种表格识别方法及其系统 |
WO2021215589A1 (ko) * | 2020-04-24 | 2021-10-28 | 주식회사 애자일소다 | Ocr 기반 문서 분석 시스템 및 방법 |
WO2022039330A1 (ko) * | 2020-08-21 | 2022-02-24 | 주식회사 애자일소다 | 가상 셀을 이용한 ocr 기반 문서 분석 시스템 및 방법 |
CN114663897A (zh) * | 2022-04-07 | 2022-06-24 | 贝壳找房网(北京)信息技术有限公司 | 表格提取方法与表格提取系统 |
CN115424282A (zh) * | 2022-09-28 | 2022-12-02 | 山东省计算中心(国家超级计算济南中心) | 一种非结构化文本表格识别方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933756B (zh) * | 2019-03-22 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 基于ocr的图像转档方法、装置、设备及可读存储介质 |
US11887393B2 (en) * | 2021-03-02 | 2024-01-30 | Claritrics Inc. | End-to-end system for extracting tabular data present in electronic documents and method thereof |
-
2023
- 2023-05-23 CN CN202310593269.4A patent/CN116311311B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796031A (zh) * | 2019-10-11 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 基于人工智能的表格识别方法、装置及电子设备 |
WO2021215589A1 (ko) * | 2020-04-24 | 2021-10-28 | 주식회사 애자일소다 | Ocr 기반 문서 분석 시스템 및 방법 |
WO2022039330A1 (ko) * | 2020-08-21 | 2022-02-24 | 주식회사 애자일소다 | 가상 셀을 이용한 ocr 기반 문서 분석 시스템 및 방법 |
CN112115884A (zh) * | 2020-09-22 | 2020-12-22 | 北京一览群智数据科技有限责任公司 | 一种表格识别方法及其系统 |
CN114663897A (zh) * | 2022-04-07 | 2022-06-24 | 贝壳找房网(北京)信息技术有限公司 | 表格提取方法与表格提取系统 |
CN115424282A (zh) * | 2022-09-28 | 2022-12-02 | 山东省计算中心(国家超级计算济南中心) | 一种非结构化文本表格识别方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116311311A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059685B (zh) | 文字区域检测方法、装置及存储介质 | |
CN111669459B (zh) | 键盘显示方法、电子设备和计算机可读存储介质 | |
CN110377204B (zh) | 一种生成用户头像的方法及电子设备 | |
CN112150499B (zh) | 图像处理方法及相关装置 | |
CN113497835B (zh) | 多屏交互方法、电子设备及计算机可读存储介质 | |
CN115115679A (zh) | 一种图像配准方法及相关设备 | |
CN114697543B (zh) | 一种图像重建方法、相关装置及系统 | |
CN111249728B (zh) | 一种图像处理方法、装置及存储介质 | |
CN114842069A (zh) | 一种位姿确定方法以及相关设备 | |
CN115437601B (zh) | 图像排序方法、电子设备、程序产品及介质 | |
CN112416984A (zh) | 一种数据处理方法及其装置 | |
CN116311311B (zh) | 电子表格生成方法、装置、电子设备及可读存储介质 | |
CN114283195B (zh) | 生成动态图像的方法、电子设备及可读存储介质 | |
CN115686182B (zh) | 增强现实视频的处理方法与电子设备 | |
CN115032640A (zh) | 手势识别方法和终端设备 | |
CN116522400B (zh) | 图像处理方法和终端设备 | |
CN117635466B (zh) | 图像增强方法、装置、电子设备及可读存储介质 | |
CN117128985B (zh) | 点云地图更新的方法及设备 | |
CN117711014B (zh) | 隔空手势识别方法、装置、电子设备及可读存储介质 | |
CN117714861B (zh) | 图像处理方法及电子设备 | |
CN116708656B (zh) | 打卡方法及打卡系统 | |
WO2024041180A1 (zh) | 路径规划方法及装置 | |
CN113835582B (zh) | 一种终端设备、信息显示方法和存储介质 | |
CN110458289B (zh) | 多媒体分类模型的构建方法、多媒体分类方法及装置 | |
CN112783993B (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 |