使用分层神经网络的基于视觉的单元格结构识别以及单元格边界到结构聚类的制作方法

文档序号:32351697发布日期:2022-11-26 14:01阅读:81来源:国知局
使用分层神经网络的基于视觉的单元格结构识别以及单元格边界到结构聚类的制作方法

1.本技术总体上涉及信息技术,并且更具体地,涉及文档分析技术。


背景技术:

2.文档分析和理解通常要求对表格内容的准确的单元格结构识别。然而,许多文档以可移植文档格式(pdf)或图像格式被存储和分发,这常常无法保存文档包含的任何表格的格式。另外,常规的文档分析技术通常依赖于手动设计(hand-crafted)的特征,当遇到新的文档样式时,者需要昂贵且耗时的人类专业知识。此外,常规的对象检测技术通常面对关于检测小的和/或长方形的对象(诸如表格单元格)的挑战,并且通常不考虑文档的视觉元素,诸如边界、阴影、字体等。


技术实现要素:

3.在本发明的一个实施例中,提供了用于使用分层神经网络的基于视觉的单元格结构识别和单元格边界到结构聚类的技术。一种示例性计算机实现的方法可以包括:使用至少一个样式分类模型来检测给定表格的样式;以及至少部分地基于所检测的样式,选择适合于所检测的样式的单元格检测模型。该方法还可以包括:使用所选择的单元格检测模型来检测给定表格内的单元格,以及向至少一个用户输出与所检测的单元格相关的信息,该信息包括与所检测的单元格相关联的一个或多个边框(bounding box)的图像坐标。
4.在本发明的另一个实施例中,一种示例性计算机实现的方法可以包括:移除与表格中的单元格相关联的一个或多个单元格框,该一个或多个单元格框与和表格相关联的任何文本框不重叠;以及扩展与表格中的单元格相关联的一个或多个剩余单元格框,直到该一个或多个剩余单元格框中的每一个单元格框被扩展至最大水平宽度而不与其他剩余单元格框中的一个或多个单元格框重叠。这种方法还包括:在每个扩展单元格框的中心处进行水平和垂直采样,以确定表格中的行数和表格中的列数,以及在所述扩展之前,至少部分地基于一个或多个剩余单元格框来确定针对表格的行和列的对准。另外,这种方法包括:至少部分地基于所确定的表格中的行数和所确定的表格中的列数,对一个或多个剩余单元格框使用至少一种k均值聚类技术;以及至少部分地基于所确定的对准,将一个或多个剩余单元格框中的每一个单元格框分配给相应的行和相应的列。
5.本发明的另一个实施例或其元素能够以有形地体现计算机可读指令的计算机程序产品的形式来实现,计算机可读指令在被实现时使计算机执行如本文中所描述的多个方法步骤。此外,本发明的另一个实施例或其元素可以以系统的形式实现,该系统包括存储器和至少一个处理器,该至少一个处理器被耦合到存储器并且被配置为执行所述的方法步骤。更进一步地,本发明的另一个实施例或其元素能够以用于执行本文所描述的方法步骤的部件或其元素的形式来实现;该部件可以包括(一个或多个)硬件模块或者硬件和软件模块的组合,其中,软件模块被存储在有形的计算机可读存储介质(或多个这种介质)中。
6.从以下将结合附图阅读的对本发明的示范性实施例的详细描述中,本发明的这些和其他目的、特征和优点将变得显而易见。
附图说明
7.现在将参考附图仅通过示例的方式来描述本发明的实施例,其中:
8.图1是示出根据本发明的示例性实施例的系统架构的示图;
9.图2示出了根据本发明的示例性实施例的用于小区边界到结构聚类算法的示例性代码片段;
10.图3是示出了根据本发明的实施例的技术的流程图;
11.图4是在其上可以实现本发明的至少一个实施例的示例性计算机系统的系统图;
12.图5描绘了根据本发明的实施例的云计算环境;以及
13.图6描绘了根据本发明的实施例的抽象模型层。
具体实施方式
14.如本文所描述的,本发明的实施例包括使用分层神经网络的基于视觉的单元格结构识别和单元格边界到结构聚类。这种实施例包括:使用一个或多个神经网络来识别(表格的)单元格,以及使用至少一种单元格聚类技术来确定表格结构。
15.此外,至少一个实施例包括:生成和/或实现全局表格提取器(gte)、用于单元格结构识别的视觉引导框架,该视觉引导框架可以例如在一个或多个对象检测模型之上构建。这种实施例还可以包括:实现使用样式感知分层模型来检测一个或多个单元格的边界的至少一个算法,并且这样检测到的边界可以用对准和基于坐标的聚类来被转换成结构细节。
16.如本文进一步详述的,在检测到单元格之后,一个或多个实施例包括利用采样和聚类方法来推断表格中的行和列的数量以及表格中的每个单元格的位置。这种聚类方法还识别跨越多个行和列的表格单元格。
17.图1是示出根据本发明的实施例的系统架构的示图。通过图示的方式,图1描绘了一个或多个实施例中的分层单元格检测的概况,其可以包括例如至少一个全页图像的输入,从该输入中检测一个或多个表格120,该一个或多个表格120由gte单元格组件122处理以生成单元格边界输出136。
18.如本文进一步详述的,至少一个实施例包括生成和/或实现gte框架,该gte框架包括用于表格边界检测和单元格边界检测的网络(gte单元格组件122)。如图1中所示,对gte单元格组件122的输入可以包括文档页的图像形式,而gte单元格组件122也取决于(结合所检测的表格120所确定的)表格边界以生成每个特定表格的单元格结构。
19.再次参见图1,对于gte单元格组件122,应当理解,表格通常遵守确定其组件的规则和含义的全局样式。例如,存在一些表格对于每个行和列具有可见的垂直和水平标尺线,从而容易限定单元格边界。然而,存在没有标尺线线或者仅具有间歇中断的其他样式。在这种情况下,仅观察局部环境的模型不能确定标尺线是否表示新单元格的开始。
20.因此,至少一个实施例包括:训练旨在对表格中的垂直图形标尺线的存在进行分类的至少一个属性神经网络(例如,网络126)。如图1的示例中所描绘的,(至少部分地基于输入图像和所检测的表格120生成的)具有表格掩码124的全页形式的输入由属性神经网络
126处理。神经网络126的输出确定使用两个单元格检测网络中的哪一个。针对所有表格样式泛化的单元格网络132可在由具有和不具有图形线的表格组成的数据上被训练,和/或在单元格之间的中点处为一个或多个行和列添加垂直和/或水平边界(如例如经由组件134所描绘的)。专门用于具有图形线的表格的单元格网络128在原始输入加全边界数据上被训练以生成输出(诸如例如组件130),以使得网络在检测单元格边界时更多地依赖于表格的图形线。
21.为了将单元格边框输出转换成逻辑结构(例如,组件136),一个或多个实施例包括将单元格框与从文档(例如,pdf文档)中提取的文本行对齐。随后,这种实施例包括:通过分别在垂直方向和水平方向上进行采样来确定行和列的数量。在垂直方向上进行采样以确定行数之前,至少一个实施例可以包括扩展单元格的左边线和右边线而不与现有的单元格重叠,以考虑具有缺失单元格的行。然后,这种实施例可以包括推断表格的垂直和水平对准,通过该对准,单元框边线与一个或多个其他单元格具有最佳对准。至少一个实施例包括:对单元格边框坐标上使用k均值聚类以定义行和列位置。随后,一个或多个实施例包括:基于每个单元格的框位置,将行和列位置分配给每个单元格,在必要时合并单元格。
22.此外,至少一个实施例包括利用单元格内容通常以大写字母开始的假设。因此,以小写字母开始的单元格被确定为过度分割的情况,并且这样的单元格与邻近的单元格(例如,在上面的单元格)合并。此外,一个或多个实施例包括执行至少一个后处理步骤,其可以包括:将位置分配给不与任何所检测到的单元格重叠的剩余的文本框,并且在附近存在间隙的特定情况下分割单元格。在产生表格中的每个单元格的最终逻辑结构136之前,至少一个实施例可包括:当文本框与相邻的空行或列相交时,增加单元格的行和列跨度,因为这可能是跨越多个行或列的分层单元格。
23.图2示出了根据本发明的示例性实施例的用于单元格边界到结构聚类算法的示例性代码片段。在该实施例中,示例代码片段200由至少一个处理系统和/或装置执行或者在至少一个处理系统和/或装置的控制下执行。例如,示例代码片段200可以被视为包括图1实施例的gte单元格组件122的至少一部分的软件实现的一部分。
24.示例代码片段200说明了单元格边框的预处理,以使得边框可以在充分相交时被合并,并且可以在不存在重叠的文本框时被删除。示例代码片段200还说明了通过确定行和列的数量来将单元格行和列位置分配给每个单元格并且进行聚类以找到所确定的行和列的边界的进程。
25.将理解,该特定示例代码片段仅示出了单元格边界到结构聚类算法的至少一部分的一个示例实现,并且在其他实施里中可以使用该进程的替代实现。
26.图3是示出根据本发明的实施例的技术(例如,用于与文档中的给定表格一起使用的计算机实现的方法)的流程图。步骤302包括使用至少一个样式分类模型来检测给定表格的样式。在一个或多个实施例中,至少一个样式分类模型包括在包括多个格式化属性(例如,与图形线、高亮、加粗、字体大小、字体类型、斜体化等有关的属性)的多个表格上训练的深度神经网络。而且,在至少一个实施例中,检测给定表格的样式包括使用一个或多个对象检测模型来检测给定表格的边界。
27.步骤304包括至少部分地基于所检测的样式选择适合于所检测的样式的单元格检测模型。步骤306包括使用所选择的单元格检测模型来检测给定表格内的单元格。在至少一
个实施例中,所选择的单元格检测模型已经在包括与给定表格的样式类似的至少一个样式的表格上使用至少一个深度神经网络进行了训练。附加地或可替代地,在这种实施例中,所选择的单元格检测模型已经在包括多个样式的表格上使用至少一个深度神经网络进行了训练。
28.而且,在一个或多个实施例中,检测给定表格内的单元格包括结合所选择的单元格检测模型使用一种或多种光符识别技术。
29.步骤308包括向至少一个用户输出与所检测的单元格相关的信息,该信息包括与所检测的单元格相关联的一个或多个边框的图像坐标。图3中描绘的技术还可以包括将一个或多个边框的至少一部分转换成逻辑结构。在一个或多个实施例中,转换包括将一个或多个边框的至少一部分对准一个或多个文本行。
30.此外,本发明的附加实施例包括:移除与表格中的单元格相关联的一个或多个单元格框,该一个或多个单元格框与和表格相关联的任何文本框不重叠,以及扩展与表格中的单元格相关联的一个或多个剩余单元格框,直到该一个或多个剩余单元格框中的每一个单元格框被扩展至最大水平宽度而不与其他剩余单元格框中的一个或多个重叠。扩展与表格相关联的一个或多个剩余单元格框可包括例如按从左到右和从上到下的顺序一次一个扩展一个或多个剩余单元格框。这种实施例还包括:在每个扩展单元格框的中心处进行水平和垂直采样,以确定表格中的行数和表格中的列数,以及在所述扩展之前,至少部分地基于一个或多个剩余单元格框来确定针对表格的行和列的对准。此外,这种实施例包括:至少部分地基于表格中的所确定的行数和表格中的所确定的列数,对一个或多个剩余单元格框使用至少一种k均值聚类技术,以及至少部分地基于所确定的对准,将一个或多个剩余单元格框中的每一个单元格框分配给相应的行和相应的列。
31.这种实施例还可以包括:在确定一个或多个单元格的文本的部分重叠到一个或多个相邻空单元格中时,将一个或多个单元格扩展到一个或多个相邻空单元格中。附加地或可替代地,这种实施例可以包括:在确定存在至少一个空的相邻单元格时,分割一个或多个多文本行单元格;以及至少部分地基于来自一个或多个分割单元的对应文本的位置,重新分配对应文本的部分。
32.如本文中所描述的,图3中描绘的技术还可以包括提供一种系统,其中该系统包括不同的软件模块,不同的软件模块中的每一个软件模块被体现在有形的计算机可读可记录存储介质上。例如,所有的模块(或其任何子集)可以在同一格介质上,或者各自可以在不同的介质上。模块可包括图中所示和/或本文所描述的任何或所有组件。在本发明的实施例中,模块可以例如在硬件处理器上运行。然后,可以使用在硬件处理器上执行的如上所述的系统的不同软件模块来执行方法步骤。进一步地,计算机程序产品可以包括具有代码的有形的计算机可读可记录存储介质,其中代码适于被执行以执行本文中所描述的至少一个方法步骤,包括向系统提供不同的软件模块。
33.另外,图3中所描绘的技术可经由计算机程序产品来实现,该计算机程序产品可包括被存储在数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中,计算机可用程序代码经由网络从远程数据处理系统被下载。此外,在本发明的实施例中,计算机程序产品可包括被存储在服务器数据处理系统中的计算机可读存储介质中的计算机可用程序代码,并且其中,计算机可用程序代码通过网络被下载到远程数据处理系统,以与
远程系统在计算机可读存储介质中使用。
34.本发明的实施例或其元素能够以装置的形式来实现,该装置包括存储器和耦合到该存储器并被配置成执行示例方法步骤的至少一个处理器。
35.此外,本发明的实施例可利用在计算机或工作站上运行的软件。参见图4,这种实现可采用例如处理器402、存储器404和例如由显示器406和键盘408形成的输入/输出接口。如本文中使用的术语“处理器”旨在包括任何处理设备,例如,包括cpu(中央处理单元)和/或其他形式的处理电路的处理设备。此外,术语“处理器”可以是指多于一个个体处理器。术语“存储器”旨在包括与处理器或cpu相关联的存储器,例如,ram(随机存取存储器)、rom(只读存储器)、固定存储设备(例如,硬盘驱动器)、可移除存储设备(例如,磁盘)、闪存等。此外,如本文中使用的短语“输入/输出接口”旨在包括例如用于将数据输入到处理单元的机构(例如,鼠标)以及用于提供与处理单元相关联的结果的机构(例如,打印机)。处理器402、存储器404和输入/输出接口(诸如显示器406和键盘408)可例如经由作为数据处理单元412的一部分的总线410互连。合适的互连(例如经由总线410)也可以被提供给网络接口414(其可被提供以与计算机网络相接,诸如网卡)和介质接口416(其可以被提供以与介质418相接,诸如软盘或cd-rom驱动器)。
36.因此,包括用于执行如本文所描述的本发明的方法的指令或代码的计算机软件可以被存储在相关联的存储设备(例如,rom、固定或可移除存储器)中,并且当准备好被使用时,被部分或全部加载(例如,加载到ram中)并且由cpu实现。这种件可以包括但不限于固件、驻留软件、微代码等。
37.适合于存储和/或执行程序代码的数据处理系统将包括通过系统总线410直接或间接耦合到存储器元件404的至少一个处理器402。存储器元件可以包括在程序代码的实际实现期间使用的本地存储器、大容量存储器和提供至少一些程序代码的临时存储以便减少在实现期间必须从大容量存储器取回代码的次数的高速缓存存储器。
38.输入/输出或i/o设备(包括但不限于键盘408、显示器406、定点设备等)可以直接(诸如经由总线410)或通过中间i/o控制器(为了清楚起见省略)耦合到系统。
39.网络适配器(诸如网络接口414)也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是一些当前可用类型的网络适配器。
40.如本文中(包括权利要求)所使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图4所示的系统412)。将理解,这种物理服务器可以包括或可以不包括显示器和键盘。
41.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
42.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘
只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
43.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
44.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c++等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
45.下面将参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
46.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
47.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
48.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实
际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
49.应当注意,本文所描述的任何方法可包括提供系统的附加步骤,该系统包括在计算机可读存储介质上体现的不同的软件模块;这些模块可以包括例如本文详述的任何或所有组件。然后,可以使用在硬件处理器402上执行的如上所述的系统的不同的软件模块和/或子模块来执行方法步骤。进一步地,计算机程序产品可包括具有代码的计算机可读存储介质,该代码适于被实现以执行本文所描述的至少一个方法步骤,包括向系统提供不同的软件模块。
50.在任何情况下,应当理解,本文所示的组件可以采用硬件、软件或其组合的不同形式来实现,例如,专用集成电路(asic)、功能电路、具有相关联的存储器的适当编程的数字计算机等。给定在本文所提供的本发明的教导,相关领域的普通技术人员将能够设想本发明的组件的其他实现。
51.此外,提前理解,在本文中引用的教导的实现不限于特定的计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何类型的计算环境来实现。
52.例如,云计算是一种服务交付模型,用于实现对共享的可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、vm和服务)池的方便、按需的网络访问,可配置计算资源可以以最小的管理成本或与服务提供商进行最少的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。。
53.特性如下:
54.按需自助式服务:云的消费者可以单方面自动地按需提供计算能力(诸如服务器时间和网络存储),而无需与服务提供者进行人工交互。
55.广泛的网络接入:能力在网络上可用并通过促进异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和pda)的使用的标准机制来接入。
56.资源池:提供商的计算资源被归入资源池以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和再分配。一般情况下,消费者不能控制或不知道所提供的资源的确切位置,但是可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
57.迅速弹性:可以迅速且有弹性地(在一些情况下自动地)提供能力以快速向外扩展并被迅速释放以快速缩小。对于消费者,可用于提供的能力通常看起来是无限的,并可以在任何时间以任何数量购买。
58.可测量的服务:云系统通过利用在适于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象程度的计量能力,自动地控制和优化资源使用。可以监视、控制和报告资源使用情况,为所利用的服务的提供者和消费者双方提供透明度。
59.服务模型如下:
60.软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可通过诸如网络浏览器的瘦客户机接口(例如,基于网络的电子邮件)来从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置以外,消费者既不管理也不控制包
括网络、服务器、操作系统、存储、或甚至单个应用能力等的底层云基础架构。
61.平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用是使用由提供商支持的编程语言和工具创建的。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
62.基础架构即服务(iaas):向消费者提供的能力是提供消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层云基础架构,但对操作系统、存储、所部署的应用具有控制权,对所选择的网络组件(例如,主机防火墙)可能具有有限的控制权。
63.部署模型如下:
64.私有云:云基础架构单独为某个组织运行。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
65.共同体云:云基础架构被若干组织共享,并支持具有共同利害关系(例如,任务、安全要求、政策和合规考虑)的特定共同体。它可以由该组织或第三方管理,并且可以存在于该组织内部或外部。
66.公共云:云基础架构可用于一般公众或大型产业群,并由销售云服务的组织拥有。
67.混合云:云基础架构由两个或更多云(私有云、共同体云或公共云)组成,这些云依然是独特实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
68.云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语义的互操作性。计算的核心是包括互连节点网络的基础架构。
69.现在参见图5,示出了说明性云计算环境50。如图所示,云计算环境50包括具有云消费者所使用的本地计算设备可以与其通信的一个或多个云计算节点10。这些本地计算设备的示例包括但不限于个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c、和/或汽车计算机系统54n。节点10可彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所描述的私有云、共同体云、公共云或混合云、或其组合。这允许云计算环境50提供基础架构即服务、平台即服务和/或软件即服务,而云消费者不需要为其在本地计算设备上维护资源。应当理解,图5中所示的计算设备54a-n的类型仅仅是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
70.现在参见图6,示出了由云计算环境50(图5)提供的一组功能抽象层。应当预先理解,图6所示的组件、层和功能仅仅是说明性的,并且本发明的实施例不限于此。如所描述的,提供了以下层和对应的功能:
71.硬件和软件层60包括硬件和软件组件。硬件组件的实例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
72.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用程序和操作系统74;以及虚拟客户端75。在一个示例中,管理层80可以提供以下描述的功能。资源供应81功能提供用于在云
计算环境内执行任务的计算资源和其他资源的动态获取。计量和定价82功能提供对在云计算环境中使用资源的成本跟踪,并为这些资源的消耗提供账单或发票。
73.在一个示例中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份验证,并为数据和其他资源提供保护。用户门户83功能为消费者和系统管理员提供对云计算环境的访问。服务水平管理84功能提供云计算资源分配和管理,以满足所需的服务水平。服务水平协议(sla)计划和履行85功能提供对根据sla针对其预测未来需求的云计算资源的预安排和采购。
74.工作负载层90提供可以利用云计算环境的功能的示例。在该层中,可提供的工作负载和功能的示例包括但不限于:地图绘制和导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及根据本发明的一个或多个实施例的单元格结构识别96。
75.本文中使用的术语仅用于描述特定实施例的目的,而并非旨在限制本发明。如本文中所使用的,除非上下文另有明确指示,否则单数形式“一个”、“一种”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所陈述的特征、步骤、操作、元件和/或组件的存在,但不排除存在或添加另一个特征、步骤、操作、元件、组件和/或其组合。
76.本发明的至少一个实施例可以提供有益的效果,例如,生成用于单元格结构识别的视觉引导框架,该框架可以建立在一个或多个对象检测模型之上。
77.已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是穷尽的或者限于所公开的实施方式。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1