使用增强用生成式对抗神经网络从CAD数据生成合成深度图像的制作方法

文档序号:21789017发布日期:2020-08-07 20:40阅读:234来源:国知局
使用增强用生成式对抗神经网络从CAD数据生成合成深度图像的制作方法

本申请涉及人工智能。更具体地,本申请涉及将人工智能应用于生成图像。



背景技术:

在计算机视觉应用中的最新进展,例如识别和重建,已被用大量准确标记数据训练的深度神经网络所支配。例如,训练的神经网络可用于处理给定的图像输入并识别图像中的对象。图像中对象的识别具有多种应用。但是,对神经网络的训练需要使用标签来收集和注释庞大的数据集,这是一项繁琐的工作,且在某些情况下是不可能完成的任务。典型的训练数据集至少需要大约10,000张图像才能获得所需的对象识别精度。使用传感器设备获得超过10,000张图像,并在每个图像上包含注释信息(例如捕获姿势),需要大量的精力。用于生成训练数据的某些方法仅依赖于使用3d渲染引擎从3d模型合成的渲染数据。由于合成扫描与传感器设备获得的i扫描之间存在差异,因此此类方法的结果不充足。特别是,合成扫描基于干净的渲染,并且在真实传感器产生的扫描中缺少噪声和背景。结果,当分析传感器扫描时,此类合成扫描无法在运行时正确训练神经网络以识别对象。

先前的工作试图统计地模拟噪声损伤并将其应用于深度图像。这种基于模拟的管线在某些特定条件下难以再现真实设备的扫描质量。例如,某些传感器包括未知的后处理和图像增强处理。无法准确模拟真实扫描的其他原因包括模拟引擎与真实世界环境之间的差距,例如环境照明、表面材料、某些光学效果等。



技术实现要素:

根据本公开的实施方式的各方面包括通过增强从3d模型渲染的模拟图像来生成真实深度图像的过程和系统。提供了渲染引擎,以通过相对于目标3dcad模型渲染各种姿势来渲染无噪声2.5d图像。提供了噪声传递引擎以对无噪声2.5d图像施加真实噪声,以及提供了背景传递引擎以向无噪声2.5d图像添加伪真实场景相关的背景。噪声传递引擎的训练包括基于通过第一生成式对抗网络(gan)实现的、无噪声2.5d图像到目标传感器生成的真实2.5d扫描的映射,学习噪声传递。训练背景传递引擎包括基于通过第二gan实现的、对第一gan的输出数据作为输入数据以及对应的真实2.5d扫描作为目标数据的处理,来学习背景生成。

根据本公开的实施方式的经训练的神经网络管线的优点是基于3dcad模型从模拟图像生成非常大量的真实深度图像。这样的深度图像可用于训练特定于应用的分析模型,而无需依赖于访问难以获取和精确标注的、来自传感器的大量真实图像数据。

附图说明

参照以下附图描述了本实施方式的非限制性和非穷举性的实施方式,其中,除非另有说明,否则在整个附图中,相同的附图标记表示相同的元件。

图1示出根据本公开的一个或多个实施方式的通过第一生成式对抗神经网络学习噪声传递的示例的流程图。

图2示出根据本公开的一个或多个实施方式的通过第二生成式对抗神经网络学习背景传递的示例的流程图。

图3是使用图1和图2的网络从3d模型生成真实深度图像的管线示例的流程图。

图4示出根据本公开的一个或多个实施方式的,用于生成真实深度图像的系统的模块化结构的示例。

图5示出根据本公开的一个或多个实施方式生成的真实深度图像的应用特定的实现方式的示例。

图6示出可以在其中实现本公开的实施方式的示例性计算环境。

具体实施方式

公开了用于从模拟由图像传感器对对象的深度扫描的合成深度图像生成增强的深度图像的方法和系统。通过神经网络进行机器学习被用于从实际的传感器扫描中提取模拟的传感器噪声,其可被传递到模拟的深度渲染中。可以训练另一组神经网络以从训练数据集中提取模拟的背景信息,其也可以被传递到模拟的深度渲染中。根据本公开的实施方式的形成的管线的、经训练的神经网络的应用包括处理3dcad模型图像、渲染模拟深度图像、将真实噪声和背景信息传递到模拟深度图像上以及从而生成真实深度图像。所得的真实深度图像可被用作训练数据,以供特定应用分析模型的神经网络学习,例如与对象识别相关的计算机视觉算法。与试图仅依赖于模拟训练数据的传统的基于深度的对象识别系统不同,根据本公开生成的真实深度图像向对象识别系统提供了优越的训练数据,从而产生更准确的对象识别。

图1示出根据本公开的一个或多个实施方式的通过第一生成式对抗神经网络学习噪声传递的示例的流程图。本公开的视觉识别系统可以应用神经网络,例如深度生成式对抗网络(gan),其可以学习与深度传感器有关的噪声成分。在一个实施方式中,学习过程100被配置为生成用于噪声传递引擎的训练数据。为了初始化神经网络的学习,在阶段101,由加标签的过程生成标准训练数据集。给定用于视觉识别学习的一组对象,可以提供用于每个对象或每个对象组的3dcad模型107,诸如对象或组件系统的工程设计渲染。从3dcad模型107,可以通过渲染引擎111生成合成图像,将其渲染为无噪声2.5d图像114。对于每个3dcad模型107,可以对应于各种带标注的姿势105渲染多个合成图像(例如,虚拟深度传感器的模拟深度图像)。与传感器捕获的扫描图像不同,无噪声2.5d图像114没有背景信息,因为3dcad模型是作为干净的图像生成的。利用扫描对应于3dcad模型107渲染的对象,真实的2.5d扫描103可以由一个或多个待模拟的实际的传感器捕获。通过训练来自特定传感器类型的少量图像,学习的模型变成特定于传感器的,而不是特定于应用或对象的。因此,可以实现真实深度扫描,而该模型使用的真实2.5d扫描仅需一种传感器类型就可以进行训练。可以使用渲染为掩码的无噪声2.5d图像114从真实2.5d扫描103中裁剪背景。这允许目标图像更清楚地表示目标对象,而不会出现充当噪声的背景信息。噪声传递引擎121的输入可以包括无噪声2.5d图像114。

在一个实施方式中,深度传感器模拟引擎115可以通过使用与生成无噪声2.5d图像114相同的3dcad模型107和带标注的姿势数据105,另外生成代表对象的伪真实深度图像,没有背景信息的输入数据作为模拟的2.5d深度扫描116。作为示例,对于每个画面,可以将两个生成的图像、无噪声2.5d图像114和伪真实扫描116堆叠(例如,整理)为单个图像(例如2通道深度图像)以及作为噪声传递引擎121的输入125接收。在2通道图像中,无噪声通道向网络121提供有关所描绘场景的干净深度信息,而已经包含模拟噪声的信道有助于网络121更快、更有效地收敛。

噪声传递引擎121可以被配置为具有判别器神经网络122和生成器神经网络123的图像到图像gan架构。在一个实施方式中,判别器神经网络122可以被配置为具有带泄露relu和sigmoid激活的深层卷积网络用于输出。在训练的每次迭代,判别器网络122可以使用生成器的最新状态,将原始合成图像以及目标124真实的一个(“真实的”一对)或来自生成器的增强输出126(“假的”一对)作为输入125,堆叠成单个图像。判别器网络122的功能包括从“真实的”配对中识别“假的”配对,其中激活层代表演绎,每个激活代表对输入数据的图像块的预测。判别器网络122可以应用二进制交叉熵损失函数。在一个实施方式中,生成器神经网络123可以被配置为u-net架构,其中合成深度数据作为输入,并且激活层返回增强的图像。为了训练生成器123以逼迫模拟输入数据类似于真实目标数据并欺骗判别器122,生成器123的损失函数可以是输出图像和目标图像的交叉熵评估以及反向判别器损失的组合。一旦收敛,则噪声传递引擎121的gan的权重被固定并保存。判别器网络122和生成器网络123都可以被配置为处理多通道深度图像(例如16bpp)。尽管上面描述了用于实现判别器神经网络122和生成器神经网络123的示例,但其他变体可以用于实现噪声传递引擎121。

图2示出根据本公开的一个或多个实施方式的通过第二生成式对抗神经网络学习背景传递的示例的流程图。在实施方式中,学习过程200被配置为生成用于背景传递引擎221的神经网络的训练数据。与被训练以学习并再现所选深度传感器的一般噪声的噪声传递引擎121的神经网络不同,背景传递引擎221学习并掌握所选训练数据集的背景环境的复杂的上下文的分布。一经训练,应用于给定图像的模拟背景将因此类似于训练数据集的模拟背景。

为了初始化对背景传递引擎221的gan的学习,在阶段101通过标记处理来生成与用于噪声传递引擎121的训练相同的标准训练数据集。给定用于视觉识别学习的一组对象,可以提供每个对象的3dcad模型107,例如对象或组件系统的工程设计渲染。从3dcad模型307,合成图像可以由渲染引擎111生成,并由受过训练的噪声传递引擎121处理,用于背景传递引擎221的gan的输入。带标注的姿势105的真实深度扫描103被接收为背景传递引擎221的gan的目标数据。与对噪声传递引擎121的训练不同(其中从真实扫描103中删除了背景),通过使用包含背景的目标图像数据,背景传递引擎的学习成为可能。从噪声传递引擎121输出的相应输入图像是由噪声传递引擎121的gan增强的单通道伪真实图像。

背景传递引擎221可以被配置为具有判别器神经网络222和生成器神经网络223的图像到图像gan体系结构。在一个实施方式中,判别器网络222可以类似于判别器网络122配置。生成器网络223可以被配置为具有与生成器网络123相同的架构,但是具有损失函数,该损失函数可以被编辑以通过使用输入数据作为二进制掩码和hadamard乘积来严重惩罚图像前景的变化。在训练的每次迭代中,判别器网络222可以将噪声传递引擎121的增强输出作为输入225,并且使用生成器223的最新状态,将作为目标224(即“真实的”一对)的真实扫描103或来自生成器223的增强输出226(即“假的”一对)堆叠成单个图像。判别器网络222的功能包括从“真实的”配对中识别“假的”配对,其中激活层代表演绎,每个激活代表对输入数据的图像块的预测。判别器网络222可以应用二进制交叉熵损失函数。在一个实施方式中,生成器神经网络223可以被配置为u-net架构,其中来自噪声传递引擎121的合成深度数据作为输入225,并且激活层返回增强图像作为输出226。为了训练生成器223以使得模拟输入数据类似于真实目标数据并欺骗判别器222,生成器223的损失函数可以是输出图像和目标图像的交叉熵评估以及反向判别器损失的组合。一旦收敛,就可以固定并保存背景传递引擎221的gan的权重,这完成了对用于视觉识别应用的深度图像生成的整个管线的训练。训练之后,应将建议的管线应用到明显不同的环境中,例如新的目标域,可以通过关于来自新目标域的真实图像103的小数据集进行的完善调整会话,来对背景传递引擎221进行微调,以根据需要生成其他背景数据。

图3是使用图1和图2的网络从3d模型生成深度图像的管线的示例的流程图。在一个实施方式中,可以通过将经训练的噪声传递引擎121和经训练的背景传递引擎221联接到渲染引擎111来实现管线300,从而可以从任何给定的3dcad模型307中生成真实深度图像。在噪声传递引擎121的gan上执行的训练使得gan能够学习目标对象的环境的统计分布,而在背景传递引擎221的gan上执行的训练学习目标对象的背景的统计分布。因此,可以将具有目标对象的任何3dcad模型呈现给管线300,该目标对象包括在噪声传递引擎121和背景传递引擎221的神经网络训练中。由于噪声传递引擎121和背景传递引擎221提供的真实噪声和背景信息,在输出325处产生的图像生成将使用更准确的深度图像信息进行增强。在一个实施方式中,渲染引擎111可以包括深度传感器模拟引擎115,以生成模拟的2.5d扫描以与相应的无噪声2.5d图像(每对形成输入到噪声传递引擎121的2通道深度图像)堆叠,这可以改善神经网络的操作。

图4示出了根据本公开的一个或多个实施方式的用于学习合成图像的噪声和背景传递的系统的模块化结构的示例。处理器410可以被配置为执行作为程序模块存储在存储器401中的可执行指令,该可执行指令可以包括各种程序模块,包括合成图像引擎402、噪声传递引擎403和背景传递引擎404。在一个实施方式中,如上面关于图1中所示的训练过程所描述的,合成图像引擎402可以包含生成用于噪声传递引擎403的机器学习的模拟2.5d深度图像的算法,由此,训练数据使噪声传递引擎403能够将合成图像映射到对应的真实捕获(不包括图像背景)。如上面关于图2所示的训练过程所描述的,经训练的噪声传递引擎403可以通过处理来自3dcad模型的模拟深度扫描来生成用于背景传递引擎404的训练数据,以生成没有图像背景的增强的2.5d深度图像。可以训练背景传递引擎404以将伪真实场景背景映射到没有背景的模拟的2.5d深度图像。2.5d深度图像的前景信息是固定的,并且不能由背景传递引擎404改变,这使得背景传递引擎仅专注于背景生成。一旦训练了噪声传递引擎403和背景传递引擎404,就可以由合成图像引擎402、噪声传递引擎403和背景传递引擎404实现管线,以处理来自3dcad模型的模拟图像,以生成真实深度图像而无需来自传感器捕获的输入。

图5示出了根据本公开的一个或多个实施方式的经训练的系统实现的对象识别应用的示例。在一个实施方式中,本公开的方法和系统可以生成真实深度图像,其可以用作用于神经网络的训练数据以学习对象识别。一旦由深度图像训练,这样的对象识别网络就可以接收由传感器设备捕获的对象的扫描或图像,并识别一个或多个识别的对象。如图5所示,在特定于应用训练过程501期间,诸如计算机处理器之类的控制器521可以执行对象识别网络511的学习算法,该对象识别网络接受标注有标签505的真实深度图像325的输入。例如,对象识别网络511可以执行分类处理,由此神经网的各层以正向和反向传播进行操作,以学习图像325中的对象的分类。对象识别网络511的学习还可以包括图像325中对象的特征识别。所学习的特征可以被映射到目标对象并且被存储在对象特征数据库中。在训练过程501之后,在特定于应用的运行时过程502期间,经训练的对象识别网络511可以由控制器521操作以执行诸如对象识别之类的特定于应用的任务。传感器扫描或图像521可以被馈送到网络511,并且基于训练,可以从扫描或图像521中识别学习到的特征。控制器521可以在网络511中执行后处理提取算法,以从对象特征数据库531中提取映射数据,并在传感器扫描525中识别一个或多个对象。例如,控制器可以将诸如映射到输入扫描或图像525的旋转和平移矢量数据之类的特征表示信息与对象特征数据库531进行匹配,并标识相应的对象。对象识别输出541可以是基于搜索组件库存数据库531的已识别对象的列表。

图6示出可以在其中实现本公开的实施方式的示例性计算环境。如图6所示,计算环境600包括计算机系统610,其可以包括诸如系统总线621之类的通信机制或用于在计算机系统610内传递信息的其他通信机制。计算机系统610还包括与系统总线621联接的一个或多个处理器620,用于处理信息。

处理器620可以包括一个或多个中央处理单元(cpu),图形处理单元(gpu)或本领域中已知的任何其他处理器。更一般而言,本文所描述的处理器是用于执行存储在计算机可读介质上的机器可读指令以执行任务的设备,并且可以包括硬件和固件中的任何一个或组合。处理器还可包括存储用于执行任务的可执行的机器可读指令的存储器。处理器通过操纵、分析、修改、转换或传递供可执行过程或信息设备使用的信息、和/或通过将信息路由到输出设备来对信息起作用。处理器可以例如使用或包括计算机,控制器或微处理器的能力,并且可以使用可执行指令来进行调节,以执行通用计算机没有执行的特殊目的功能。处理器可以包括任何类型的合适处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(risc)微处理器、复杂指令集计算机(cisc)微处理器、微控制器、应用程序专用集成电路(asic)、现场可编程门阵列(fpga)、片上系统(soc)、数字信号处理器(dsp)等。此外,处理器620可以具有任何合适的微体系结构设计,包括任何数量的组成组件,诸如,例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器,或类似的。处理器的微体系结构设计能够支持多种指令集中的任何一种。处理器可以与能够在其间进行交互和/或通信的任何其他处理器联接(电的方式和/或包括可执行组件)。用户界面处理器或生成器是包括用于生成显示图像或其一部分的电子电路或软件或两者的组合的已知元件。用户界面包括一个或多个使得用户能够与处理器或其他设备进行交互的显示图像。

系统总线621可以包括系统总线、存储器总线、地址总线或消息总线中的至少一种,并且可以允许在计算机系统610的各个组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线621可以包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线621可以与任何合适的总线架构相关联,包括但不限于工业标准架构(isa)、微通道架构(mca)、增强型isa(eisa)、视频电子标准协会(vesa)架构、加速图形端口(agp)架构、外围组件互连(pci)架构、pciexpress架构、国际个人计算机存储卡协会(pcmcia)架构、通用串行总线(usb)架构等。

继续参考图6,计算机系统610还可以包括联接到系统总线621的系统存储器630,用于存储信息和将由处理器620执行的指令。系统存储器630可包括易失性和/或非易失性存储器形式的计算机可读存储介质,例如只读存储器(rom)631和/或随机存取存储器(ram)632。ram632可以包括其他动态存储设备(例如,动态ram、静态ram、以及同步dram)。rom631可以包括其他静态存储设备(例如,可编程rom、可擦除prom和电可擦除prom)。另外,系统存储器630可用于在处理器620执行指令期间存储临时变量或其他中间信息。可以在rom631中存储基本输入/输出系统633(bios),该基本输入/输出系统633(bios)包含诸如在启动期间帮助在计算机系统610内的元件之间传递信息的基本例行程序。ram632可以包含数据和/或程序模块,这些数据和/或程序模块可以被处理器620立即访问和/或当前被其操作。系统存储器630可以附加地包括例如操作系统634、应用程序635和其他程序模块636。

操作系统634可以被加载到存储器630中,并且可以提供在计算机系统610上执行的其他应用软件与计算机系统610的硬件资源之间的接口。更具体地,操作系统634可以包括一组用于管理计算机系统610的硬件资源以及向其他应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)的计算机可执行指令。在某些示例实施方式中,操作系统634可以控制被描绘为存储在数据存储器640中的一个或多个程序模块的执行。操作系统634可以包括现在已知或将来可以开发的任何操作系统,包括但不限于任何服务器操作系统、任何主机操作系统或任何其他专有或非专有操作系统。

根据本公开的实施方式,应用程序635可以是一组计算机可执行指令,用于执行合成图像生成以及对用于深度扫描生成的噪声和背景传递引擎的训练。

计算机系统610还可以包括磁盘/介质控制器643,其联接到系统总线621,以控制一个或多个用于存储信息和指令的存储设备,例如磁性硬盘641和/或可移动介质驱动器642(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机系统接口(scsi)、集成设备电子设备(ide)、通用串行总线(usb)或firewire)将存储设备640添加到计算机系统610。根据本公开的实施方式,存储设备641、642可以在计算机系统610的外部,并且可以用于存储图像处理数据。

计算机系统610还可以包括联接到系统总线621的显示器控制器665,以控制显示器或监视器666,例如阴极射线管(crt)或液晶显示器(lcd),用于将信息显示给计算机用户。计算机系统包括用户输入接口660和一个或多个输入设备,例如用户终端661,其可以包括键盘、触摸屏、平板电脑和/或点击设备,用于与计算机用户交互并向处理器620提供信息。显示器666可以提供触摸屏界面,该触摸屏界面允许输入来补充或替换用户终端设备661进行的方向信息和命令选择的通信。

计算机系统610可以响应于处理器620执行包含在诸如系统存储器630的存储器中上的一个或多个指令的一个或多个序列,来执行本发明实施方式的一部分或全部处理步骤。这样的指令可以从诸如磁性硬盘641或可移动介质驱动器642的另一计算机可读介质读取到系统存储器630中。磁性硬盘641可以包含一个或多个本发明的实施方式使用的数据存储和数据文件。数据存储可包括但不限于数据库(例如,关系型、面向对象等),文件系统、平面文件、分布式数据存储(其中数据存储在计算机网络的多个节点上)、对等网络数据存储等。处理器620还可以用在多处理布置中以执行系统存储器630中包含的一个或多个指令序列。在替代实施方式中,可以使用硬连线电路代替软件指令或与软件指令结合。因此,实施方式不限于硬件电路和软件的任何特定组合。

如上所述,计算机系统610可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施方式编程的指令并且用于包含本文描述的数据结构、表、记录或其他数据。如本文所使用的术语“计算机可读介质”是指参与向处理器620提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非暂时性、非易失性介质、易失性介质和传递介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,例如磁性硬盘641或可移动介质驱动器642。易失性介质的非限制性示例包括动态存储器,例如作为系统存储器630。传递介质的非限制性示例包括同轴电缆、铜线和光纤、包括构成系统总线621的线。传递介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信过程中产生的那些。

用于执行本公开的操作的计算机可读介质指令可以是汇编程序指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言,例如smalltalk、c++等,以及常规的过程编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户计算机上执行,部分在用户计算机上执行,作为独立软件包执行,部分在用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以与外部计算机建立连接(例如,通过使用internet服务提供商的internet)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化,从而执行计算机可读程序指令,以便执行本公开的多个方面。

本文参考根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读介质指令来实现。

计算环境600还可包括计算机系统610,该计算机系统使用与一个或多个远程计算机(例如远程计算设备680)和一个或多个图像传感器设备681(例如可用于捕获真实扫描图像103的深度扫描设备(例如,立体摄像机))等的逻辑连接在网络环境中运行。网络接口670可以使得能够例如经由网络671与其他远程设备680或系统和/或存储设备641、642进行通信。远程计算设备680可以是个人计算机(笔记本电脑或台式机)、移动设备、服务器、路由器、网络pc、对等设备或其他公共网络节点,并且通常包括上面相对于计算机系统610描述的许多或所有元件。当在联网环境中使用时,计算机系统610可以包括调制解调器672,用于通过诸如因特网之类的网络671建立通信。调制解调器672可以经由用户网络接口670或经由另一适当的机制连接至系统总线621。

网络671可以是本领域中通常已知的任何网络或系统,包括因特网、内联网、局域网(lan)、广域网(wan)、城域网(man)、直接连接或一系列连接,蜂窝电话网络或能够促进计算机系统610与其他计算机(例如,远程计算设备680)之间的通信的任何其他网络或介质。网络671可以是有线的,无线的或其组合。可以使用以太网、通用串行总线(usb)、rj-6或本领域通常已知的任何其他有线连接来实现有线连接。可以使用wi-fi、wimax和蓝牙、红外、蜂窝网络、卫星或本领域通常已知的任何其他无线连接方法来实现无线连接。另外,几个网络可以单独工作或彼此通信以促进网络671中的通信。

应当理解,图6描述的存储在系统存储器630中的程序模块、应用、计算机可执行指令、代码等仅是示例性的,并且不是穷举性的,并且被描述为受任何特定模块支持的处理可以替代地分布在多个模块中或由不同模块执行。另外,可以提供各种程序模块、脚本、插件、应用程序编程接口(api)、或本地托管在计算机系统610、远程设备680和/或托管在可通过一个或多个网络671访问的其他计算设备上的任何其他合适的计算机可执行代码,以支持由图6所示的程序模块、应用或计算机可执行代码提供的功能和/或其他或替代功能。此外,功能可以被不同地模块化,使得描述为由图6中所示的程序模块集合共同支持的处理可以由更少或更多数量的模块来执行“操作”,或者被描述为由任何特定模块支持的功能可以至少部分地由另一模块支持。另外,支持本文所述功能的程序模块可以形成一个或多个可以根据任何合适的计算模型(例如客户端-服务器模型、对等模型等)在任何数量的系统或设备上执行的应用程序的一部分。另外,被描述为由图6中描绘的任何程序模块支持的任何功能可以至少部分地在任意数量的设备上以硬件和/或固件来实现。

如本文所使用的,可执行应用程序包括用于调节处理器以实现预定功能的代码或机器可读指令,例如操作系统、上下文数据采集系统或其他信息处理系统的代码或机器可读指令,例如,响应用户命令或输入。可执行过程是用于执行一个或多个处理的代码段或机器可读指令、子例程或代码的其他不同部分或可执行应用的一部分。这些处理可包括接收输入数据和/或参数,对接收的输入数据执行操作和/或响应于接收的输入参数执行功能,以及提供结果输出数据和/或参数。

本文的功能和处理步骤可响应于用户命令自动地或全部地或部分地执行。响应于一个或多个可执行指令或设备操作执行自动执行的活动(包括步骤)而无需用户直接启动活动。

附图的系统和处理不是排他性的。可根据本发明的原理导出其他系统、处理和菜单以实现相同的目的。尽管已经具体特定实施方式描述了本发明,但是应该理解,本文示出和描述的实施方式和变化仅用于说明目的。在不脱离本发明的范围的情况下,本领域技术人员可实现对当前设计的修改。如本文所述,可使用硬件组件、软件组件和/或其组合来实现各种系统、子系统、代理、管理器和处理。本文中的任何权利要求元素都不应根据35u.s.c112第六款的规定来解释,除非使用短语“用于……的装置”明确叙述该元素。

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