一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于VISLAM应用的IMU静态噪声校准缩放调整的制作方法

2022-09-08 07:03:30 来源:中国专利 TAG:

用于vislam应用的imu静态噪声校准缩放调整


背景技术:

1.增强现实(augmented reality,ar)将虚拟内容叠加在用户的真实世界的视图上。随着ar软件的发展,移动行业将ar带入主流。ar可以实现在智能手机、平板电脑等其他移动设备或其他计算设备上。通过ar系统,用户可以使用智能手机的摄像头扫描环境,智能手机实时执行视觉惯性里程计(visual inertial odometry,vio)。一旦持续追踪了摄像头姿势,就可以将虚拟物体放置在ar场景中,以产生一种真实物体和虚拟物体融合在一起的错觉。
2.ar系统依赖于从惯性测量单元(inertial measurement unit,imu)获得的测量,imu是检测加速度、角速度、或其他参数的传感器。imu可能需要校准。


技术实现要素:

3.本公开总体上涉及与在增强现实应用中使用的惯性测量传感器有关的方法和系统。更具体地,本公开实施例提供用于改进诸如加速度计和陀螺仪等惯性测量单元传感器的校准的方法和系统。本发明实施例适用于增强现实和基于计算机的显示系统中的各种应用。
4.在示例中,一种方法涉及生成等于初始噪声值与参考噪声值的第一比率的初始噪声调整。该方法还涉及生成等于初始偏差值与参考偏差值的第二比率的初始偏差调整。该方法还涉及通过针对噪声缩放集中的每个噪声缩放对初始噪声调整应用第一缩放因子,生成噪声缩放集。该方法还涉及通过针对偏差缩放集中的每个偏差缩放对初始偏差调整应用第二缩放因子,生成偏差缩放集。该方法还涉及针对噪声缩放集和偏差缩放集的每个排列,确定与每个排列相关的误差测量。该方法还涉及识别与误差测量中的最低误差测量相关的排列。该排列与校准噪声缩放和校准偏差缩放相关。该方法还涉及使用校准噪声缩放和校准偏差缩放校准惯性测量单元。
5.相对于传统技术,通过本公开实现了许多益处。例如,本发明实施例利用提供惯性测量单元的改进校准的方法和系统,从而实现更准确的增强现实系统。本发明的这些实施例和其他实施例及其许多优点和特征将结合下面的文字和附图进行更详细的描述。
附图说明
6.图1示出了根据本发明实施例的包括用于增强现实应用的惯性测量传感器的计算机系统的示例。
7.图2是示出根据本发明实施例的校准惯性测量单元的方法的简化流程图。
8.图3是示出根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的方法的简化流程图。
9.图4a是示出根据本发明实施例的未校准的imu的原始轨迹的三维图。
10.图4b是示出如图4a所示的未校准的imu的原始轨迹的二维图。
11.图4c是示出根据本发明实施例的校准的imu的校准轨迹的三维图。
12.图4d是示出如图4c所示的校准的imu的校准轨迹的二维图。
13.图5示出了根据本发明实施例的示例计算机系统。
具体实施方式
14.在以下描述中,将描述各种实施例。出于解释的目的,阐述了具体配置和细节以便提供对实施例的透彻理解。然而,对于本领域技术人员来说显而易见的是,实施例也可以在没有具体细节的情况下实施。此外,为了不模糊所描述的实施例,可以省略或简化众所周知的特征。
15.本公开实施例涉及校准可以在增强现实(ar)系统中(特别是可以在同时定位与建图(simultaneous localization and mapping,slam)或视觉惯性同时定位与建图(visual-inertial simultaneous localization and mapping,vislam)算法中)使用的惯性测量传感器(imu)。slam涉及确定先前未知的真实世界环境并对其进行建图。vislam涉及使用惯性测量和视觉信息确定真实世界环境。
16.特别地,本发明实施例通过对不同系统输入参数之间的关系进行建模,并且评估所得的vislam性能,获得改进的校准参数,从而改进传统技术。例如,某些实施例生成校准缩放集(例如,噪声缩放和偏差缩放),然后确定产生最低误差测量的噪声缩放和偏差缩放的排列。进而,可以将此噪声缩放和偏差缩放应用于ar系统中部署的imu,从而提高准确度。此外,除确定imu校准参数外,本发明实施例还可以帮助识别改进的vislam算法设置,加深对slam算法设置之间的交互的理解,并改进ar系统的硬件规范设计,以对slam系统的性能进行基准测试。
17.相反,一些传统imu校准技术仅依赖于艾伦方差分析。艾伦方差可以测量传感器的稳定性。但这些技术可能会产生一组过于乐观的校准的imu输出。例如,这种分析通常假设imu测量处于特定的恒定温度和/或是物理静态的(即不移动)。这些假设与一些vislam应用背道而驰,这些应用通常使用处于运动中并且可能具有温度变化的imu。因此,仅依赖于艾伦方差会导致imu噪声很大。对于成本较低的imu,例如手机中使用的imu,这种差异可能尤其明显。在一些情况下,噪声可能太高以至于在一些vislam应用中初始化失败。
18.现在转向附图,图1示出了根据本发明实施例的包括用于增强现实应用的惯性测量传感器的计算机系统的示例。图1包括计算机系统110,计算机系统110包括深度传感器112、惯性测量单元(imu)113、以及rgb光学传感器114,用于一个或多个传感器的ar应用校准。ar应用可以由计算机系统110的ar模块116实现。
19.在示例中,计算机系统110是合适的用户设备,除深度传感器112、imu113、以及rgb光学传感器114外,该用户设备还包括一个或多个图形处理单元(graphical processing unit,gpu)、一个或多个通用处理器(general purpose processor,gpp),以及存储计算机可读指令的一个或多个存储器,这些计算机可读指令可由处理器中的至少一个执行以执行本公开实施例的各种功能。例如,计算机系统110可以是智能手机、平板电脑、ar耳机、或可穿戴ar设备中的任何一种。计算机系统110还可以实现imu和其他传感器的测试和校准环境。
20.深度传感器112具有已知的最大深度范围(例如,最大工作距离)并且该最大值可以本地存储和/或可由ar模块116访问。深度传感器112可以是tof摄像头。在这种情况下,深
度传感器112生成的深度图包括深度图像。
21.imu113可以检测惯性测量并将检测到的惯性测量的测量发送到计算机系统110。测量的示例包括位置、角速度、以及加速度。imu113可以包括加速度计和/或陀螺仪。加速度计可以输出一个或多个方向(例如x、y、和/或z)上的加速度的测量。陀螺仪可以输出角速度的测量。进而,计算机系统110接收惯性测量并基于接收到的测量调整ar场景120。
22.rgb光学传感器114可以是彩色摄像头。深度图像和rgb图像可以具有不同的分辨率。通常,深度图像的分辨率小于rgb图像的分辨率。例如,深度图像的分辨率为640x180,而rgb图像的分辨率为1920x1280。通常,rgb光学传感器114生成包括例如真实世界物体130的真实世界环境的rgb图像。深度传感器112生成关于真实世界环境的深度数据,其中,该数据包括例如深度图,该深度图显示真实世界物体130的深度(例如,深度传感器112和真实世界物体130之间的距离)。
23.此外,安装在计算机系统110中的深度传感器112、imu 113、和/或rgb光学传感器114可以通过变换(例如距离偏移、视场角差等)分离。该变换可能是已知的并且其值可以本地存储和/或可由ar模块116访问。当使用摄像头时,tof摄像头和彩色摄像头可以具有相似的视场。但是由于这种变换,这些视场将部分重叠而不是完全重叠。
24.ar模块116可以从rgb图像和深度图生成红绿蓝深度(rgbd)图像,以检测真实世界物体表示122的至少一部分对虚拟物体124的遮挡,反之亦然。ar模块116可以附加地或替代地基于深度图生成真实世界环境的3d模型,其中,3d模型包括多级体素。这种体素用于检测虚拟物体124和真实世界物体表示122的至少一部分之间的碰撞。可以渲染ar场景120以正确显示遮挡并避免对碰撞的渲染。ar模块116可以实现为专用硬件和/或硬件和软件的组合(例如通用处理器和存储在存储器中并且可由通用处理器执行的计算机可读指令)。除初始化ar会话和执行vio外,ar模块116还可以检测遮挡和碰撞以正确渲染ar场景120。
25.在图1的说明性示例中,智能手机用于显示真实世界环境的ar会话。ar模块116可以在ar会话中渲染真实世界环境的ar场景120,其中,该ar场景120可以呈现在计算机系统110的显示器上的图形用户界面(graphical user interface,gui)。ar场景120示出了真实世界物体130的真实世界物体表示122。此外,ar场景120示出了真实世界环境中不存在的虚拟物体124。例如,如所描绘的,ar会话的示例包括渲染ar场景,ar场景包括真实世界桌子的表示,花瓶(或一些其他真实世界物体)放置在该桌子上。虚拟球(或其他一些虚拟物体)将显示在ar场景中。特别地,虚拟球也将显示在桌子上。通过追踪虚拟球和虚拟花瓶(表示真实世界花瓶)之间的遮挡,当虚拟球相对于智能手机的姿势位于虚拟花瓶后面时,虚拟花瓶可以在部分ar场景中遮挡。
26.在图1的另一示例中,计算机系统110校准一个或多个传感器,例如深度传感器112、imu 113、和/或rgb光学传感器。例如,计算机系统110可以评估噪声缩放和偏差缩放的不同排列。参考图2讨论了确定imu 113的一组校准设置的合适过程的示例。然后,计算机系统110可以确定与每个排列相关的误差测量并确定合适的排列。可选地,计算机系统110然后用该排列校准imu 113。
27.例如,为了确定给定噪声和偏差缩放排列的误差测量,计算机系统110可以调整来自imu 113的输出并将输出提供给slam或vislam算法。slam和vislam试图通过特征点来理解物理世界,从而使ar应用能够识别真实世界物体和/或用户在虚拟环境中的位置。slam和
vislam涉及反馈系统,其中,一个或多个传感器(例如,深度传感器112或rgb光学传感器114)实时获得外部环境的测量。通过对slam或vislam进行仿真,计算机系统110可以得到结果(例如姿势),并将结果和已知的参考或地面实况进行比较。参考图3讨论在这种环境中的噪声缩放和偏差缩放的评估的示例。
28.图2是示出根据本发明实施例的校准惯性测量单元的方法的简化流程图。结合作为上述计算机系统的示例的计算机系统来描述该流程。流程的一些或全部操作可以通过计算机系统上的特定硬件实现和/或可以实现为存储在计算机系统的非暂时性计算机可读介质上的计算机可读指令。存储的计算机可读指令表示可编程模块,可编程模块包括可由计算机系统的处理器执行的代码。这种指令的执行将计算机系统配置为执行相应的操作。与处理器结合的每个可编程模块代表用于执行相应操作的装置。虽然以特定顺序说明操作,但应理解,特定顺序不是必须的并且可以省略、跳过和/或重新排序一个或多个操作。
29.作为示例,图2讨论了从imu 113接收的加速度测量和从imu 113接收的角速度测量中的每个的单独噪声和偏差参数。但是,可以为任何数量的传感器的任何数量的单独测量校准任何数量的参数。例如,计算机系统110可以确定传感器的增益和偏移或仅校准加速度计测量。
30.在示例中,流程开始于操作202,其中,计算机系统访问初始噪声值、初始偏差值、参考噪声值、以及参考偏差值。一般而言,噪声和偏差测量可以是特定传感器值的附加值,例如,对于传感器输出o(t),其中t是时间,通过噪声n(t)和偏差b(t)调整正确或期望的测量m(t),噪声和偏差也是时间的函数:o(t)=m(t) n(t) b(t)
ꢀꢀ
(1)
31.可以为加速度的各个分量(例如x、y和/或z)和/或角速度计算单独的噪声和偏差值。
32.加速度的初始噪声值noise
init_n
、角速度的初始噪声值noise
init_rw
、加速度的初始偏差值bias
init_n
、以及角速度的初始偏差值bias
init_rw
可以统称为“imu静态校准参数”。在一些情况下,imu静态校准参数从imu 113的原始输出导出,imu 113的原始输出例如是加速度或角速度。imu静态校准参数表示当imu 113是静态的(例如不移动和/或处于恒定温度)时的预期误差量。例如,初始噪声值可以表示来自imu 113的预期噪声水平,初始偏差值可以表示来自imu 113的预期偏差(随机游走)。偏差可以定义为偏离或偏移imu 113的平均值的测量。
33.加速度的参考噪声值noise
ref_n
、角速度的参考噪声值noise
ref_rw
、加速度的初始参考偏差值bias
ref_n
、以及角速度的初始参考偏差值bias
ref_rw
可以统称为“参考行业静态校准参数”。参考噪声值和参考偏差值可以是行业标准值。在一些情况下,参考噪声值和参考偏差值可以是设备特定的,例如与特定制造商和/或imu 113的配置有关。
34.在一些情况下,初始噪声值和初始偏差值是根据艾伦方差分析计算或调整的。艾伦方差分析测量稳定性。计算机系统110可以从imu 113接收原始输出数据,包括加速度(例如,以x、y、z格式)和角速度的第一测量。计算机系统110使用艾伦方差分析来计算初始噪声值和初始偏差值。更具体地,计算机系统110通过在具有最小外部电磁干扰的情况下保持imu113物理静止,获取一段时间(例如2小时)内的加速度计和角速度输出的时间序列。然后,计算机系统110基于该时间序列计算艾伦方差和偏差。计算机系统110创建艾伦偏差图
并测量噪声和偏差不稳定性的不同组合。
35.在示例中,流程包括操作204,其中计算机系统生成初始噪声调整,初始噪声调整是初始噪声值与参考噪声值的第一比率。在示例中,分别针对加速度计测量(加速度)和陀螺仪测量(角速度)计算噪声调整。加速度的噪声调整可以计算为:
36.角速度的噪声调整可以计算为:
37.在示例中,流程包括操作206,其中计算机系统生成初始偏差调整,初始偏差调整是初始偏差值与参考偏差值的第二比率。在示例中,分别针对加速度计测量(加速度)和陀螺仪测量(角速度)计算偏差调整。例如,加速度的偏差调整可以计算为:
38.角速度的偏差调整可以计算为:
39.在示例中,流程包括操作208,其中,计算机系统通过针对噪声缩放集中的每个噪声缩放对初始噪声调整应用第一缩放因子,生成噪声缩放集。缩放因子的示例是1、2、5和10,但是可以使用任何整数或非整数倍数。继续该示例,使用等式(2)的输出(角速度),加速度的噪声缩放集计算为:scales
noise_n
=[1,adj
noise_n
,2 adj
noise_n
,5 adj
noise_n
,10 adj
noise_n
]
ꢀꢀ
(6)
[0040]
使用等式(3)的输出,角速度的噪声缩放集计算为:scales
noise_rw
=[1,adj
noise_rw
,2 adj
noise_rw
,5 adj
noise
_rw,10 adj
noise_rw
]
ꢀꢀ
(7)
[0041]
在示例中,流程包括操作210,其中,计算机系统通过针对偏差缩放集中的每个偏差缩放对初始偏差调整应用第二缩放因子,生成偏差缩放集。继续该示例,使用等式(4)的输出,通过以下计算加速度的偏差缩放:scales
bias_n
=[1,adj
bias_n
,2 adj
bias_n
,5 adj
bias_n
,10 adj
bias_n
]
ꢀꢀ
(8)
[0042]
使用等式(5)的输出,通过以下计算角速度的偏差缩放:scales
bias_rw
=[1,adj
bias_rw,
2 adj
bias_rw,
5 adj
bias_rw,
10 adj
bias_rw
]
ꢀꢀ
(9)
[0043]
在实施例中,操作208使用的应用于噪声值的第一缩放因子和操作210使用的应用于偏差值的第二缩放因子相同。在其他情况下,第一缩放因子和第二缩放因子不同。例如,第一缩放因子可以包括{1,2,5,10},而第二缩放因子可以包括{5,10,50,100}。
[0044]
在示例中,流程包括操作212,其中,计算机系统针对噪声缩放集和偏差缩放集的每个排列,确定与每个排列相关的误差测量。更具体地,计算机系统110遍历加速度的噪声缩放、角速度的噪声缩放、加速度的偏差缩放、角速度的偏差缩放的排列。给定四个噪声参数,每个参数有五个缩放因子,总共存在625个排列(四个缩放因子按五个级别排列等于5^4=625个组合)。但是其他数量的缩放因子和/或级别也是可能的。这些排列在下表1中进一步说明。
[0045]
计算机系统110确定与每个排列相关的误差值。误差值可以用e1...e
625
表示。可以使用不同的误差计算方法。例如,计算机系统110可以首先通过特定缩放值scale_i调整初始值。例如,加速度测量的噪声的调整值可以表示为:noise
acc_n
=noise
init_n
*scale_i
acc_n
ꢀꢀ
(9)
[0046]
加速度测量的偏差的调整值可以表示为:bias
acc_rw
=bias
init_rw
*scale_i
acc_rw
ꢀꢀ
(10)
[0047]
角速度测量的噪声的调整值可以表示为:noise
gyro_n
=noise
init_n
*scale_i
gyro_n
ꢀꢀ
(11)
[0048]
角速度测量的偏差的调整值可以表示为:
bias
gyro_rw
=bias
init_rw
*scale_i
gyro_rw
ꢀꢀ
(12)
[0049]
如上所使用的,scale_i表示表1中列出的缩放排列的缩放设置之一。使用来自上表1的排列623(例如i=623)作为示例,加速度和角速度的噪声和偏差参数将计算如下:noise
acc_n_623
=noise
init_n
*2 adj
noise_n
ꢀꢀ
(13)bias
acc_rw_623
=bias
init_rw
*10 adj
bias_rw
ꢀꢀ
(14)noise
gyro_n_623
=noise
init_n
*10 adj
noise_n
ꢀꢀ
(15)bias
gyro_rw_623
=bias
init_rw
*10 adj
bias_rw
ꢀꢀ
(16)
[0050]
计算机系统110测量与每个排列相关的误差。可以使用不同的方法测量误差。参考图3描述了与误差分析相关的合适方法的示例,其涉及同时定位与建图算法。
[0051]
在示例中,流程包括操作214,其中,计算机系统识别与误差测量中的最低误差测量相关的排列,其中,排列与校准噪声缩放和校准偏差缩放相关。计算机系统110确定产生不同排列的所有误差中的最低误差的排列。可以使用标准排序或搜索方法。本领域的普通技术人员将认识到许多变化、修改和替代。
[0052]
在示例中,流程包括操作216,其中,计算机系统使用校准噪声缩放和校准偏差缩放校准惯性测量单元。在确定产生最低误差测量的噪声和偏差值后,计算机系统110可以用这些值校准imu 113。继续上面的示例,如果排列623产生最低误差测量,则计算机系统110使用参数noise
acc_n_623
、bias
acc_rw_623
、noise
gyro_n_623
、以及bias
gyro_rw_623
校准imu 113。
[0053]
应理解,图2所示的具体步骤提供了根据本发明实施例的校准惯性测量单元的特定方法。根据替代实施例,也可以执行其他步骤序列。例如,本发明替代实施例可以以不同的顺序执行上述步骤。此外,图2所示的各个步骤可以包括多个子步骤,这些子步骤可以根据各个步骤以各种顺序执行。此外,可以根据特定应用添加或删除附加步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
[0054]
图3是示出根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的方法的简化流程图。结合作为上述计算机系统的示例的计算机系统来描述该流程。流程的一些或全部操作可以通过计算机系统上的特定硬件实现和/或可以实现为存储在计算机系统的非暂时性计算机可读介质上的计算机可读指令。存储的计算机可读指令表示可编程模块,可编程模块包括可由计算机系统的处理器执行的代码。这种指令的执行将计算机系统配置为执行相应的操作。与处理器结合的每个可编程模块代表用于执行相应操作的装置。虽然以特定顺序说明操作,但应理解,特定顺序不是必须的并且可以省略、跳过和/或重新排序一个或多个操作。
[0055]
在示例中,流程开始于操作302,其中计算机系统通过与排列相关的噪声缩放和偏差缩放调整来自惯性测量单元的输出。例如,计算机访问原始加速度计值a和角速度值w。计算机系统110获得对应于特定排列的噪声和偏差值。例如,对于i=15,计算机系统110访问值noise
acc_n_15
、bias
acc_rw_15
、noise
gyro_n_15
、bias
gyro_rw_15
并且如下应用这些值以形成调整的输出a(加速度)和w(角速度):输出a(加速度)和w(角速度):
[0056]
在示例中,流程包括操作304,其中计算机系统根据初始姿势、初始摄像头帧、以及
调整的输出计算估计姿势,估计姿势包括位置和方向,访问初始姿势和初始摄像头帧。计算机系统110计算一个或多个估计姿势。可以使用slam或vislam。
[0057]
为了执行vislam估计,除在操作304计算的调整的加速度和角速度值外,计算机系统还可以接收各种输入。例如,计算机系统110可以接收算法参数(例如,vislam特定的参数);摄像头内部参数,例如焦距、摄像头光学中心坐标、摄像头镜头畸变参数;外部参数,例如摄像头/imu平移向量,或摄像头/imu旋转矩阵。表2列出了输入的示例。
[0058]
在初始化后,计算机系统110访问初始姿势(例如,包括位置和方向)和初始摄像头帧,并且计算一个或多个估计姿势。姿势可以由一维或多维坐标表示,例如(x,y,z)和方向。多个姿势可以形成一个轨迹(例如从a点到b点)。多个姿势可以形成一个轨迹(例如从a点到b点)。
[0059]
在示例中,流程包括操作306,其中计算机系统根据该位置和地面实况姿势的位置之间的第一差以及该方向和地面实况姿势的方向之间的第二差确定误差测量。计算机系统110将在操作304计算的姿势与地面实况姿势进行比较。地面实况姿势可以由高速运动追踪系统或其他合适的地面实况姿势源生成。如果在操作304计算了轨迹,则计算机系统110可以通过将该轨迹与地面实况轨迹进行比较来计算沿该轨迹的多个点处的误差测量。
[0060]
其他合适的误差度量的示例包括轨迹准确度和初始化质量。可以导出统计结果,例如标准偏差和平均值。在一些情况下,可以通过对每个度量进行重复实验,在多个数据集之间评估这种度量。可以选择最佳设置,以使轨迹误差和初始化时间/误差在统计上最小。
[0061]
应理解,图3所示的具体步骤提供了根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的特定方法。根据替代实施例,也可以执行其他步骤序列。例如,本发明替代实施例可以以不同的顺序执行上述步骤。此外,图3所示的各个步骤可以包括多个子步骤,这些子步骤可以根据各个步骤以各种顺序执行。此外,可以根据特定应用添加或删除附加步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
[0062]
图4a是示出根据本发明实施例的未校准的imu的原始轨迹的三维图。图4b是示出如图4a所示的未校准的imu的原始轨迹的二维图。图4c是示出根据本发明实施例的校准的imu的校准轨迹的三维图。图4d是示出如图4c所示的校准的imu的校准轨迹的二维图。例如,对于图4c和图4d,可以使用参考图2和图3讨论的校准过程执行imu的校准。
[0063]
参考图4a,imu的原始轨迹410在三个维度(即x、y、z方向)上绘制。在图4b中,原始轨迹410和地面实况轨迹420在二维(即,x和z方向)上绘制。在此未校准的示例中,使用原始imu参数的slam算法初始化失败。可以看出,原始轨迹410扫出如在x-z平面中所见基本上为8字形的形状,与看起来沿基本上直线移动的地面实况轨迹420几乎没有重叠。
[0064]
相比之下,如图4c和图4d所示,图4c是校准轨迹430的图,图4d是与地面实况轨迹440重叠的校准轨迹430的图,在已如本文所述实施imu校准过程的情况下,随地面实况轨迹440扫出基本上为8字形的轨迹,校准轨迹430紧跟地面实况轨迹440。
[0065]
图5示出了根据本发明实施例的示例计算机系统。计算机系统500是上文所述的计算机系统的示例。尽管这些组件示为属于同一计算机系统500,但是计算机系统500也可以是分布式的。
[0066]
计算机系统500至少包括处理器502、存储器504、存储设备506、输入/输出外围设备(input/output,i/o)508、通信外围设备510和接口总线512。接口总线512可以用于在计算机系统500的各种组件之间通信、发送和传输数据、控制和命令。存储器504和存储设备506包括计算机可读存储介质,例如ram、rom、电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、硬盘驱动器、cd-rom、光存储设备、磁存储设备、电子非易失性计算机存储,例如存储器,以及其他有形存储介质。任何这样的计算机可读存储介质都可以用于存储实施本公开实施例的指令或程序代码。存储器504和存储设备506还包括计算机可读信号介质。计算机可读信号介质包括传播的数据信号,其中包含计算机可读程序代码。这种传播的信号采用多种形式中的任何一种,包括但不限于电磁、光或其任何组合。计算机可读信号介质包括不是计算机可读存储介质并且可以通信、传播或传输用于与计算机系统500结合使用的程序的任何计算机可读介质。
[0067]
此外,存储器504可以包括操作系统、程序和应用。处理器502用于执行存储的指令并且包括例如逻辑处理单元、微处理器、数字信号处理器和其他处理器。存储器504和/或处理器502可以被虚拟化并且可以托管在例如云网络或数据中心的另一计算机系统中。i/o外围设备508包括用户接口,例如键盘、屏幕(例如,触摸屏)、麦克风、扬声器、其他输入/输出设备,以及计算组件,例如图形处理单元、串行端口、并行端口、通用串行总线和其他输入/输出外围设备。i/o外围设备508通过耦合到接口总线512的任何端口连接到处理器502。通信外围设备510用于促进计算机系统500和其他计算设备之间通过通信网络的通信,并且包括例如网络接口控制器、调制解调器、无线和有线接口卡、天线和其他通信外围设备。
[0068]
尽管本主题已针对其特定实施例进行了详细描述,但应理解,本领域技术人员在获得对前述内容的理解后,可以容易地产生对这些实施例的改变、变化和等价物。因此,应理解,本公开是为了示例而不是限制的目的而呈现的,并且不排除包含对于普通技术人员来说是显而易见的对本主题的这种修改、变化和/或添加。实际上,本文描述的方法和系统可以以多种其他形式实施;此外,在不背离本公开的精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等价物旨在覆盖落入本公开的范围和精神内的此类形式或修改。
[0069]
除非另有明确说明,否则应了解,贯穿本说明书的讨论使用诸如“处理”、“计算”、“确定”和“识别”等术语是指计算设备(例如一个或多个计算机或类似的电子计算设备)的动作或过程,计算设备在计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备中操纵或转换表示为物理电子或磁量的数据。
[0070]
这里讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括提供以一个或多个输入为条件的结果的任何合适的组件布置。合适的计算设备包括访问存储的软件的基于微处理器的多用途计算机系统,该软件将计算机系统从通用计算装置编
程或配置为实现本主题的一个或多个实施例的专用计算装置。任何合适的编程、脚本或其他类型的语言或语言的组合可用于在用于编程或配置计算设备的软件中实施本文中包含的教导。
[0071]
本文公开的方法的实施例可以在这样的计算设备的操作中执行。以上示例中呈现的框的顺序可以改变——例如,框可以被重新排序、组合和/或分解成子框。某些框或过程可以并行执行。
[0072]
本文使用的条件性语言,例如“可以”、“可能”、“例如”等,除非另有明确说明,或在所使用的上下文中以其他方式理解,通常旨在传达某些示例包括而其他示例不包括某些特征、元素和/或步。因此,这种条件性语言通常并不意味着一个或多个示例以任何方式需要特征、元素和/或步,或者一个或多个示例必须包括用于在有或没有作者输入或提示的情况下决定是否包括或将在任何特定示例中执行这些特征、元素和/或步的逻辑。
[0073]
术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包容性地使用,并且不排除其他元素、特征、动作、操作等。此外,术语“或”以其包容性(而不是排他性)使用,从而当例如用于连接元素列表时,术语“或”表示列表中的一个、一些或全部元素。此处使用的“适用于”或“用于”是指开放和包容性的语言,不排除适用于或用于执行附加任务或步的设备。此外,“基于”的使用意味着开放和包容,因为“基于”一个或多个列举的条件或值的过程、步、计算或其他动作实际上可能基于列举的之外的附加条件或值。类似地,“至少部分基于”的使用意味着开放和包容,因为“至少部分基于”一个或多个列举的条件或值的过程、步、计算或其他动作在实践中可以基于列举的之外的附加条件或值。本文包括的标题、列表和编号仅是为了便于解释,并不意味着限制。
[0074]
上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合使用。所有可能的组合和子组合旨在落入本公开的范围内。此外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他适当的顺序来执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以组合在单个框或状态中。示例框或状态可以串行、并行或以某种其他方式执行。可以将框或状态添加到所公开的示例中或从所公开的示例中删除。类似地,本文描述的示例系统和组件可以被配置为与所描述的不同。例如,与所公开的示例相比,可以将添加、移除或重新排列元素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献