CN115023589B - 用于vislam应用的imu静态噪声校准缩放调整 - Google Patents
用于vislam应用的imu静态噪声校准缩放调整 Download PDFInfo
- Publication number
- CN115023589B CN115023589B CN202180011188.8A CN202180011188A CN115023589B CN 115023589 B CN115023589 B CN 115023589B CN 202180011188 A CN202180011188 A CN 202180011188A CN 115023589 B CN115023589 B CN 115023589B
- Authority
- CN
- China
- Prior art keywords
- noise
- bias
- scaling
- initial
- adjustment
- 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
- 230000003068 static effect Effects 0.000 title description 8
- 238000005259 measurement Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000001133 acceleration Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 230000004807 localization Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 230000003190 augmentative effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000540 analysis of variance Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
- G01C25/005—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Gyroscopes (AREA)
- Navigation (AREA)
Abstract
描述了用于校准惯性测量单元的技术。计算机系统生成初始噪声调整(204)和初始偏差调整(206),初始噪声调整是初始噪声值与参考噪声值的第一比率,初始偏差调整是初始偏差值与参考偏差值的第二比率。计算机系统通过针对噪声缩放集中的每个噪声缩放对初始噪声调整应用第一缩放因子,生成噪声缩放集(208),通过针对偏差缩放集中的每个偏差缩放对初始偏差调整应用第二缩放因子,生成偏差缩放集(210)。计算系统使用与缩放集的排列中具有最低误差测量的排列相关的校准噪声缩放和校准偏差缩放校准惯性测量单元(214,216)。
Description
背景技术
增强现实(augmented reality,AR)将虚拟内容叠加在用户的真实世界的视图上。随着AR软件的发展,移动行业将AR带入主流。AR可以实现在智能手机、平板电脑等其他移动设备或其他计算设备上。通过AR系统,用户可以使用智能手机的摄像头扫描环境,智能手机实时执行视觉惯性里程计(visual inertial odometry,VIO)。一旦持续追踪了摄像头姿势,就可以将虚拟物体放置在AR场景中,以产生一种真实物体和虚拟物体融合在一起的错觉。
AR系统依赖于从惯性测量单元(inertial measurement unit,IMU)获得的测量,IMU是检测加速度、角速度、或其他参数的传感器。IMU可能需要校准。
发明内容
本公开总体上涉及与在增强现实应用中使用的惯性测量传感器有关的方法和系统。更具体地,本公开实施例提供用于改进诸如加速度计和陀螺仪等惯性测量单元传感器的校准的方法和系统。本发明实施例适用于增强现实和基于计算机的显示系统中的各种应用。
在示例中,一种方法涉及生成等于初始噪声值与参考噪声值的第一比率的初始噪声调整。该方法还涉及生成等于初始偏差值与参考偏差值的第二比率的初始偏差调整。该方法还涉及通过针对噪声缩放集中的每个噪声缩放对初始噪声调整应用第一缩放因子,生成噪声缩放集。该方法还涉及通过针对偏差缩放集中的每个偏差缩放对初始偏差调整应用第二缩放因子,生成偏差缩放集。该方法还涉及针对噪声缩放集和偏差缩放集的每个排列,确定与每个排列相关的误差测量。该方法还涉及识别与误差测量中的最低误差测量相关的排列。该排列与校准噪声缩放和校准偏差缩放相关。该方法还涉及使用校准噪声缩放和校准偏差缩放校准惯性测量单元。
相对于传统技术,通过本公开实现了许多益处。例如,本发明实施例利用提供惯性测量单元的改进校准的方法和系统,从而实现更准确的增强现实系统。本发明的这些实施例和其他实施例及其许多优点和特征将结合下面的文字和附图进行更详细的描述。
附图说明
图1示出了根据本发明实施例的包括用于增强现实应用的惯性测量传感器的计算机系统的示例。
图2是示出根据本发明实施例的校准惯性测量单元的方法的简化流程图。
图3是示出根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的方法的简化流程图。
图4A是示出根据本发明实施例的未校准的IMU的原始轨迹的三维图。
图4B是示出如图4A所示的未校准的IMU的原始轨迹的二维图。
图4C是示出根据本发明实施例的校准的IMU的校准轨迹的三维图。
图4D是示出如图4C所示的校准的IMU的校准轨迹的二维图。
图5示出了根据本发明实施例的示例计算机系统。
具体实施方式
在以下描述中,将描述各种实施例。出于解释的目的,阐述了具体配置和细节以便提供对实施例的透彻理解。然而,对于本领域技术人员来说显而易见的是,实施例也可以在没有具体细节的情况下实施。此外,为了不模糊所描述的实施例,可以省略或简化众所周知的特征。
本公开实施例涉及校准可以在增强现实(AR)系统中(特别是可以在同时定位与建图(simultaneous localization and mapping,SLAM)或视觉惯性同时定位与建图(visual-inertial simultaneous localization and mapping,VISLAM)算法中)使用的惯性测量传感器(IMU)。SLAM涉及确定先前未知的真实世界环境并对其进行建图。VISLAM涉及使用惯性测量和视觉信息确定真实世界环境。
特别地,本发明实施例通过对不同系统输入参数之间的关系进行建模,并且评估所得的VISLAM性能,获得改进的校准参数,从而改进传统技术。例如,某些实施例生成校准缩放集(例如,噪声缩放和偏差缩放),然后确定产生最低误差测量的噪声缩放和偏差缩放的排列。进而,可以将此噪声缩放和偏差缩放应用于AR系统中部署的IMU,从而提高准确度。此外,除确定IMU校准参数外,本发明实施例还可以帮助识别改进的VISLAM算法设置,加深对SLAM算法设置之间的交互的理解,并改进AR系统的硬件规范设计,以对SLAM系统的性能进行基准测试。
相反,一些传统IMU校准技术仅依赖于艾伦方差分析。艾伦方差可以测量传感器的稳定性。但这些技术可能会产生一组过于乐观的校准的IMU输出。例如,这种分析通常假设IMU测量处于特定的恒定温度和/或是物理静态的(即不移动)。这些假设与一些VISLAM应用背道而驰,这些应用通常使用处于运动中并且可能具有温度变化的IMU。因此,仅依赖于艾伦方差会导致IMU噪声很大。对于成本较低的IMU,例如手机中使用的IMU,这种差异可能尤其明显。在一些情况下,噪声可能太高以至于在一些VISLAM应用中初始化失败。
现在转向附图,图1示出了根据本发明实施例的包括用于增强现实应用的惯性测量传感器的计算机系统的示例。图1包括计算机系统110,计算机系统110包括深度传感器112、惯性测量单元(IMU)113、以及RGB光学传感器114,用于一个或多个传感器的AR应用校准。AR应用可以由计算机系统110的AR模块116实现。
在示例中,计算机系统110是合适的用户设备,除深度传感器112、IMU113、以及RGB光学传感器114外,该用户设备还包括一个或多个图形处理单元(graphical processingunit,GPU)、一个或多个通用处理器(general purpose processor,GPP),以及存储计算机可读指令的一个或多个存储器,这些计算机可读指令可由处理器中的至少一个执行以执行本公开实施例的各种功能。例如,计算机系统110可以是智能手机、平板电脑、AR耳机、或可穿戴AR设备中的任何一种。计算机系统110还可以实现IMU和其他传感器的测试和校准环境。
深度传感器112具有已知的最大深度范围(例如,最大工作距离)并且该最大值可以本地存储和/或可由AR模块116访问。深度传感器112可以是ToF摄像头。在这种情况下,深度传感器112生成的深度图包括深度图像。
IMU113可以检测惯性测量并将检测到的惯性测量的测量发送到计算机系统110。测量的示例包括位置、角速度、以及加速度。IMU113可以包括加速度计和/或陀螺仪。加速度计可以输出一个或多个方向(例如x、y、和/或z)上的加速度的测量。陀螺仪可以输出角速度的测量。进而,计算机系统110接收惯性测量并基于接收到的测量调整AR场景120。
RGB光学传感器114可以是彩色摄像头。深度图像和RGB图像可以具有不同的分辨率。通常,深度图像的分辨率小于RGB图像的分辨率。例如,深度图像的分辨率为640x180,而RGB图像的分辨率为1920x1280。通常,RGB光学传感器114生成包括例如真实世界物体130的真实世界环境的RGB图像。深度传感器112生成关于真实世界环境的深度数据,其中,该数据包括例如深度图,该深度图显示真实世界物体130的深度(例如,深度传感器112和真实世界物体130之间的距离)。
此外,安装在计算机系统110中的深度传感器112、IMU 113、和/或RGB光学传感器114可以通过变换(例如距离偏移、视场角差等)分离。该变换可能是已知的并且其值可以本地存储和/或可由AR模块116访问。当使用摄像头时,ToF摄像头和彩色摄像头可以具有相似的视场。但是由于这种变换,这些视场将部分重叠而不是完全重叠。
AR模块116可以从RGB图像和深度图生成红绿蓝深度(RGBD)图像,以检测真实世界物体表示122的至少一部分对虚拟物体124的遮挡,反之亦然。AR模块116可以附加地或替代地基于深度图生成真实世界环境的3D模型,其中,3D模型包括多级体素。这种体素用于检测虚拟物体124和真实世界物体表示122的至少一部分之间的碰撞。可以渲染AR场景120以正确显示遮挡并避免对碰撞的渲染。AR模块116可以实现为专用硬件和/或硬件和软件的组合(例如通用处理器和存储在存储器中并且可由通用处理器执行的计算机可读指令)。除初始化AR会话和执行VIO外,AR模块116还可以检测遮挡和碰撞以正确渲染AR场景120。
在图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场景中遮挡。
在图1的另一示例中,计算机系统110校准一个或多个传感器,例如深度传感器112、IMU 113、和/或RGB光学传感器。例如,计算机系统110可以评估噪声缩放和偏差缩放的不同排列。参考图2讨论了确定IMU 113的一组校准设置的合适过程的示例。然后,计算机系统110可以确定与每个排列相关的误差测量并确定合适的排列。可选地,计算机系统110然后用该排列校准IMU 113。
例如,为了确定给定噪声和偏差缩放排列的误差测量,计算机系统110可以调整来自IMU 113的输出并将输出提供给SLAM或VISLAM算法。SLAM和VISLAM试图通过特征点来理解物理世界,从而使AR应用能够识别真实世界物体和/或用户在虚拟环境中的位置。SLAM和VISLAM涉及反馈系统,其中,一个或多个传感器(例如,深度传感器112或RGB光学传感器114)实时获得外部环境的测量。通过对SLAM或VISLAM进行仿真,计算机系统110可以得到结果(例如姿势),并将结果和已知的参考或地面实况进行比较。参考图3讨论在这种环境中的噪声缩放和偏差缩放的评估的示例。
图2是示出根据本发明实施例的校准惯性测量单元的方法的简化流程图。结合作为上述计算机系统的示例的计算机系统来描述该流程。流程的一些或全部操作可以通过计算机系统上的特定硬件实现和/或可以实现为存储在计算机系统的非暂时性计算机可读介质上的计算机可读指令。存储的计算机可读指令表示可编程模块,可编程模块包括可由计算机系统的处理器执行的代码。这种指令的执行将计算机系统配置为执行相应的操作。与处理器结合的每个可编程模块代表用于执行相应操作的装置。虽然以特定顺序说明操作,但应理解,特定顺序不是必须的并且可以省略、跳过和/或重新排序一个或多个操作。
作为示例,图2讨论了从IMU 113接收的加速度测量和从IMU 113接收的角速度测量中的每个的单独噪声和偏差参数。但是,可以为任何数量的传感器的任何数量的单独测量校准任何数量的参数。例如,计算机系统110可以确定传感器的增益和偏移或仅校准加速度计测量。
在示例中,流程开始于操作202,其中,计算机系统访问初始噪声值、初始偏差值、参考噪声值、以及参考偏差值。一般而言,噪声和偏差测量可以是特定传感器值的附加值,例如,对于传感器输出O(t),其中t是时间,通过噪声N(t)和偏差B(t)调整正确或期望的测量M(t),噪声和偏差也是时间的函数:
O(t)=M(t)+N(t)+B(t) (1)
可以为加速度的各个分量(例如x、y和/或z)和/或角速度计算单独的噪声和偏差值。
加速度的初始噪声值noiseinit_n、角速度的初始噪声值noiseinit_rw、加速度的初始偏差值biasinit_n、以及角速度的初始偏差值biasinit_rw可以统称为“IMU静态校准参数”。在一些情况下,IMU静态校准参数从IMU 113的原始输出导出,IMU 113的原始输出例如是加速度或角速度。IMU静态校准参数表示当IMU 113是静态的(例如不移动和/或处于恒定温度)时的预期误差量。例如,初始噪声值可以表示来自IMU 113的预期噪声水平,初始偏差值可以表示来自IMU 113的预期偏差(随机游走)。偏差可以定义为偏离或偏移IMU 113的平均值的测量。
加速度的参考噪声值noiseref_n、角速度的参考噪声值noiseref_rw、加速度的初始参考偏差值biasref_n、以及角速度的初始参考偏差值biasref_rw可以统称为“参考行业静态校准参数”。参考噪声值和参考偏差值可以是行业标准值。在一些情况下,参考噪声值和参考偏差值可以是设备特定的,例如与特定制造商和/或IMU 113的配置有关。
在一些情况下,初始噪声值和初始偏差值是根据艾伦方差分析计算或调整的。艾伦方差分析测量稳定性。计算机系统110可以从IMU 113接收原始输出数据,包括加速度(例如,以x、y、z格式)和角速度的第一测量。计算机系统110使用艾伦方差分析来计算初始噪声值和初始偏差值。更具体地,计算机系统110通过在具有最小外部电磁干扰的情况下保持IMU113物理静止,获取一段时间(例如2小时)内的加速度计和角速度输出的时间序列。然后,计算机系统110基于该时间序列计算艾伦方差和偏差。计算机系统110创建艾伦偏差图并测量噪声和偏差不稳定性的不同组合。
在示例中,流程包括操作204,其中计算机系统生成初始噪声调整,初始噪声调整是初始噪声值与参考噪声值的第一比率。在示例中,分别针对加速度计测量(加速度)和陀螺仪测量(角速度)计算噪声调整。加速度的噪声调整可以计算为:
角速度的噪声调整可以计算为:
在示例中,流程包括操作206,其中计算机系统生成初始偏差调整,初始偏差调整是初始偏差值与参考偏差值的第二比率。在示例中,分别针对加速度计测量(加速度)和陀螺仪测量(角速度)计算偏差调整。例如,加速度的偏差调整可以计算为:
角速度的偏差调整可以计算为:
在示例中,流程包括操作208,其中,计算机系统通过针对噪声缩放集中的每个噪声缩放对初始噪声调整应用第一缩放因子,生成噪声缩放集。缩放因子的示例是1、2、5和10,但是可以使用任何整数或非整数倍数。继续该示例,使用等式(2)的输出(加速度),加速度的噪声缩放集计算为:
scalesnoise_n=[1,adjnoise_n,2 adjnoise_n,5 adjnoise_n,10 adjnoise_n] (6)
使用等式(3)的输出,角速度的噪声缩放集计算为:
scalesnoise_rw=[1,adjnoise_rw,2 adjnoise_rw,5 adjnoise_rw,10 adjnoise_rw] (7)
在示例中,流程包括操作210,其中,计算机系统通过针对偏差缩放集中的每个偏差缩放对初始偏差调整应用第二缩放因子,生成偏差缩放集。继续该示例,使用等式(4)的输出,通过以下计算加速度的偏差缩放:
scalesbias_n=[1,adjbias_n,2 adjbias_n,5 adjbias_n,10 adjbias_n] (8)
使用等式(5)的输出,通过以下计算角速度的偏差缩放:
scalesbias_rw=[1,adjbias_rw,2 adjbias_rw,5 adjbias_rw,10 adjbias_rw] (9)
在实施例中,操作208使用的应用于噪声值的第一缩放因子和操作210使用的应用于偏差值的第二缩放因子相同。在其他情况下,第一缩放因子和第二缩放因子不同。例如,第一缩放因子可以包括{1,2,5,10},而第二缩放因子可以包括{5,10,50,100}。
在示例中,流程包括操作212,其中,计算机系统针对噪声缩放集和偏差缩放集的每个排列,确定与每个排列相关的误差测量。更具体地,计算机系统110遍历加速度的噪声缩放、角速度的噪声缩放、加速度的偏差缩放、角速度的偏差缩放的排列。给定四个噪声参数,每个参数有五个缩放因子,总共存在625个排列(四个缩放因子按五个级别排列等于5^4=625个组合)。但是其他数量的缩放因子和/或级别也是可能的。这些排列在下表1中进一步说明。
计算机系统110确定与每个排列相关的误差值。误差值可以用e1...e625表示。可以使用不同的误差计算方法。例如,计算机系统110可以首先通过特定缩放值Scale_i调整初始值。例如,加速度测量的噪声的调整值可以表示为:
Noiseacc_n=noiseinit_n*Scale_iacc_n (9)
加速度测量的偏差的调整值可以表示为:
Biasacc_rw=biasinit_rw*Scale_iacc_rw (10)
角速度测量的噪声的调整值可以表示为:
Noisegyro_nnoiseinit_n*Scale_igyro_n (11)
角速度测量的偏差的调整值可以表示为:
Biasgyro_rw=biasinit_rw*Scale_igyro_rw (12)
如上所使用的,Scale_i表示表1中列出的缩放排列的缩放设置之一。使用来自上表1的排列623(例如i=623)作为示例,加速度和角速度的噪声和偏差参数将计算如下:
Noiseacc_n_623=noiseinit_n*2 adjnoise_n (13)
Biasacc_rw_623=biasinit_rw*10 adjbias_rw (14)
Noisegyro_n_623=noiseinit_n*10 adjnoise_n (15)
Biasgyro_rw_623=biasinit_rw*10 adjbias_rw (16)
计算机系统110测量与每个排列相关的误差。可以使用不同的方法测量误差。参考图3描述了与误差分析相关的合适方法的示例,其涉及同时定位与建图算法。
在示例中,流程包括操作214,其中,计算机系统识别与误差测量中的最低误差测量相关的排列,其中,排列与校准噪声缩放和校准偏差缩放相关。计算机系统110确定产生不同排列的所有误差中的最低误差的排列。可以使用标准排序或搜索方法。本领域的普通技术人员将认识到许多变化、修改和替代。
在示例中,流程包括操作216,其中,计算机系统使用校准噪声缩放和校准偏差缩放校准惯性测量单元。在确定产生最低误差测量的噪声和偏差值后,计算机系统110可以用这些值校准IMU 113。继续上面的示例,如果排列623产生最低误差测量,则计算机系统110使用参数Noiseacc_n_623、Biasacc_rw_623、Noisegyro_n_623、以及Biasgyro_rw_623校准IMU 113。
应理解,图2所示的具体步骤提供了根据本发明实施例的校准惯性测量单元的特定方法。根据替代实施例,也可以执行其他步骤序列。例如,本发明替代实施例可以以不同的顺序执行上述步骤。此外,图2所示的各个步骤可以包括多个子步骤,这些子步骤可以根据各个步骤以各种顺序执行。此外,可以根据特定应用添加或删除附加步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
图3是示出根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的方法的简化流程图。结合作为上述计算机系统的示例的计算机系统来描述该流程。流程的一些或全部操作可以通过计算机系统上的特定硬件实现和/或可以实现为存储在计算机系统的非暂时性计算机可读介质上的计算机可读指令。存储的计算机可读指令表示可编程模块,可编程模块包括可由计算机系统的处理器执行的代码。这种指令的执行将计算机系统配置为执行相应的操作。与处理器结合的每个可编程模块代表用于执行相应操作的装置。虽然以特定顺序说明操作,但应理解,特定顺序不是必须的并且可以省略、跳过和/或重新排序一个或多个操作。
在示例中,流程开始于操作302,其中计算机系统通过与排列相关的噪声缩放和偏差缩放调整来自惯性测量单元的输出。例如,计算机访问原始加速度计值a和角速度值w。计算机系统110获得对应于特定排列的噪声和偏差值。例如,对于i=15,计算机系统110访问值Noiseacc_n_15、Biasacc_rw_15、Noisegyro_n_15、Biasgyro_rw_15并且如下应用这些值以形成调整的输出a(加速度)和w(角速度):
在示例中,流程包括操作304,其中计算机系统根据初始姿势、初始摄像头帧、以及调整的输出计算估计姿势,估计姿势包括位置和方向,访问初始姿势和初始摄像头帧。计算机系统110计算一个或多个估计姿势。可以使用SLAM或VISLAM。
为了执行VISLAM估计,除在操作304计算的调整的加速度和角速度值外,计算机系统还可以接收各种输入。例如,计算机系统110可以接收算法参数(例如,VISLAM特定的参数);摄像头内部参数,例如焦距、摄像头光学中心坐标、摄像头镜头畸变参数;外部参数,例如摄像头/IMU平移向量,或摄像头/IMU旋转矩阵。表2列出了输入的示例。
在初始化后,计算机系统110访问初始姿势(例如,包括位置和方向)和初始摄像头帧,并且计算一个或多个估计姿势。姿势可以由一维或多维坐标表示,例如(x,y,z)和方向。多个姿势可以形成一个轨迹(例如从A点到B点)。
在示例中,流程包括操作306,其中计算机系统根据该位置和地面实况姿势的位置之间的第一差以及该方向和地面实况姿势的方向之间的第二差确定误差测量。计算机系统110将在操作304计算的姿势与地面实况姿势进行比较。地面实况姿势可以由高速运动追踪系统或其他合适的地面实况姿势源生成。如果在操作304计算了轨迹,则计算机系统110可以通过将该轨迹与地面实况轨迹进行比较来计算沿该轨迹的多个点处的误差测量。
其他合适的误差度量的示例包括轨迹准确度和初始化质量。可以导出统计结果,例如标准偏差和平均值。在一些情况下,可以通过对每个度量进行重复实验,在多个数据集之间评估这种度量。可以选择最佳设置,以使轨迹误差和初始化时间/误差在统计上最小。
应理解,图3所示的具体步骤提供了根据本发明实施例的确定校准噪声缩放和校准偏差缩放的误差测量的特定方法。根据替代实施例,也可以执行其他步骤序列。例如,本发明替代实施例可以以不同的顺序执行上述步骤。此外,图3所示的各个步骤可以包括多个子步骤,这些子步骤可以根据各个步骤以各种顺序执行。此外,可以根据特定应用添加或删除附加步骤。本领域的普通技术人员将认识到许多变化、修改和替代。
图4A是示出根据本发明实施例的未校准的IMU的原始轨迹的三维图。图4B是示出如图4A所示的未校准的IMU的原始轨迹的二维图。图4C是示出根据本发明实施例的校准的IMU的校准轨迹的三维图。图4D是示出如图4C所示的校准的IMU的校准轨迹的二维图。例如,对于图4C和图4D,可以使用参考图2和图3讨论的校准过程执行IMU的校准。
参考图4A,IMU的原始轨迹410在三个维度(即x、y、z方向)上绘制。在图4B中,原始轨迹410和地面实况轨迹420在二维(即,x和y方向)上绘制。在此未校准的示例中,使用原始IMU参数的SLAM算法初始化失败。可以看出,地面实况轨迹420扫出如在x-y平面中所见基本上为8字形的形状,与看起来沿基本上直线移动的原始轨迹410几乎没有重叠。
相比之下,如图4C和图4D所示,图4C是校准轨迹430的图,图4D是与地面实况轨迹440重叠的校准轨迹430的图,在已如本文所述实施IMU校准过程的情况下,随地面实况轨迹440扫出基本上为8字形的轨迹,校准轨迹430紧跟地面实况轨迹440。
图5示出了根据本发明实施例的示例计算机系统。计算机系统500是上文所述的计算机系统的示例。尽管这些组件示为属于同一计算机系统500,但是计算机系统500也可以是分布式的。
计算机系统500至少包括处理器502、存储器504、存储设备506、输入/输出外围设备(input/output,I/O)508、通信外围设备510和接口总线512。接口总线512可以用于在计算机系统500的各种组件之间通信、发送和传输数据、控制和命令。存储器504和存储设备506包括计算机可读存储介质,例如RAM、ROM、电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、硬盘驱动器、CD-ROM、光存储设备、磁存储设备、电子非易失性计算机存储,例如存储器,以及其他有形存储介质。任何这样的计算机可读存储介质都可以用于存储实施本公开实施例的指令或程序代码。存储器504和存储设备506还包括计算机可读信号介质。计算机可读信号介质包括传播的数据信号,其中包含计算机可读程序代码。这种传播的信号采用多种形式中的任何一种,包括但不限于电磁、光或其任何组合。计算机可读信号介质包括不是计算机可读存储介质并且可以通信、传播或传输用于与计算机系统500结合使用的程序的任何计算机可读介质。
此外,存储器504可以包括操作系统、程序和应用。处理器502用于执行存储的指令并且包括例如逻辑处理单元、微处理器、数字信号处理器和其他处理器。存储器504和/或处理器502可以被虚拟化并且可以托管在例如云网络或数据中心的另一计算机系统中。I/O外围设备508包括用户接口,例如键盘、屏幕(例如,触摸屏)、麦克风、扬声器、其他输入/输出设备,以及计算组件,例如图形处理单元、串行端口、并行端口、通用串行总线和其他输入/输出外围设备。I/O外围设备508通过耦合到接口总线512的任何端口连接到处理器502。通信外围设备510用于促进计算机系统500和其他计算设备之间通过通信网络的通信,并且包括例如网络接口控制器、调制解调器、无线和有线接口卡、天线和其他通信外围设备。
尽管本主题已针对其特定实施例进行了详细描述,但应理解,本领域技术人员在获得对前述内容的理解后,可以容易地产生对这些实施例的改变、变化和等价物。因此,应理解,本公开是为了示例而不是限制的目的而呈现的,并且不排除包含对于普通技术人员来说是显而易见的对本主题的这种修改、变化和/或添加。实际上,本文描述的方法和系统可以以多种其他形式实施;此外,在不背离本公开的精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等价物旨在覆盖落入本公开的范围和精神内的此类形式或修改。
除非另有明确说明,否则应了解,贯穿本说明书的讨论使用诸如“处理”、“计算”、“确定”和“识别”等术语是指计算设备(例如一个或多个计算机或类似的电子计算设备)的动作或过程,计算设备在计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备中操纵或转换表示为物理电子或磁量的数据。
这里讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括提供以一个或多个输入为条件的结果的任何合适的组件布置。合适的计算设备包括访问存储的软件的基于微处理器的多用途计算机系统,该软件将计算机系统从通用计算装置编程或配置为实现本主题的一个或多个实施例的专用计算装置。任何合适的编程、脚本或其他类型的语言或语言的组合可用于在用于编程或配置计算设备的软件中实施本文中包含的教导。
本文公开的方法的实施例可以在这样的计算设备的操作中执行。以上示例中呈现的框的顺序可以改变——例如,框可以被重新排序、组合和/或分解成子框。某些框或过程可以并行执行。
本文使用的条件性语言,例如“可以”、“可能”、“例如”等,除非另有明确说明,或在所使用的上下文中以其他方式理解,通常旨在传达某些示例包括而其他示例不包括某些特征、元素和/或步。因此,这种条件性语言通常并不意味着一个或多个示例以任何方式需要特征、元素和/或步,或者一个或多个示例必须包括用于在有或没有作者输入或提示的情况下决定是否包括或将在任何特定示例中执行这些特征、元素和/或步的逻辑。
术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包容性地使用,并且不排除其他元素、特征、动作、操作等。此外,术语“或”以其包容性(而不是排他性)使用,从而当例如用于连接元素列表时,术语“或”表示列表中的一个、一些或全部元素。此处使用的“适用于”或“用于”是指开放和包容性的语言,不排除适用于或用于执行附加任务或步的设备。此外,“基于”的使用意味着开放和包容,因为“基于”一个或多个列举的条件或值的过程、步、计算或其他动作实际上可能基于列举的之外的附加条件或值。类似地,“至少部分基于”的使用意味着开放和包容,因为“至少部分基于”一个或多个列举的条件或值的过程、步、计算或其他动作在实践中可以基于列举的之外的附加条件或值。本文包括的标题、列表和编号仅是为了便于解释,并不意味着限制。
上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合使用。所有可能的组合和子组合旨在落入本公开的范围内。此外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他适当的顺序来执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以组合在单个框或状态中。示例框或状态可以串行、并行或以某种其他方式执行。可以将框或状态添加到所公开的示例中或从所公开的示例中删除。类似地,本文描述的示例系统和组件可以被配置为与所描述的不同。例如,与所公开的示例相比,可以将添加、移除或重新排列元素。
Claims (20)
1.一种校准惯性测量单元的方法,所述方法包括:
生成等于初始噪声值与参考噪声值的第一比率的初始噪声调整;
生成等于初始偏差值与参考偏差值的第二比率的初始偏差调整;
通过针对噪声缩放集中的每个噪声缩放对所述初始噪声调整应用第一缩放因子,生成所述噪声缩放集;
通过针对偏差缩放集中的每个偏差缩放对所述初始偏差调整应用第二缩放因子,生成所述偏差缩放集;
针对所述噪声缩放集和所述偏差缩放集的每个排列,确定与每个排列相关的误差测量;
识别与所述误差测量中的最低误差测量相关的排列,其中,所述排列与校准噪声缩放和校准偏差缩放相关;以及
使用所述校准噪声缩放和所述校准偏差缩放校准所述惯性测量单元。
2.根据权利要求1所述的方法,其中,访问所述初始噪声调整和所述初始偏差调整包括:
从惯性测量传感器接收原始输出数据;以及
对所述原始输出数据执行初始校准,从而创建所述初始噪声调整和所述初始偏差调整。
3.根据权利要求2所述的方法,其中,所述原始输出数据包括加速度计值和角速度值。
4.根据权利要求1所述的方法,其中,所述初始噪声调整、所述初始偏差调整、所述参考噪声值、以及所述参考偏差值中的每个都包括加速度和角速度的单独测量。
5.根据权利要求1所述的方法,其中,所述惯性测量单元包括加速度计或陀螺仪。
6.根据权利要求1所述的方法,其中,确定所述误差测量包括:
通过与所述排列相关的所述噪声缩放和所述偏差缩放调整来自所述惯性测量单元的输出;以及
基于调整的输出计算与同时定位与建图相关的所述误差测量。
7.根据权利要求6所述的方法,其中,计算与所述同时定位与建图相关的所述误差测量包括:
访问初始姿势和初始摄像头帧;
根据所述初始姿势、所述初始摄像头帧、以及调整的所述输出计算估计姿势,所述估计姿势包括位置和方向;以及
根据所述位置和地面实况姿势的位置之间的第一差以及所述方向和所述地面实况姿势的方向之间的第二差确定所述误差测量。
8.根据权利要求7所述的方法,其中,计算所述估计姿势包括执行视觉惯性里程计和全局姿势图优化。
9.一种计算机系统,包括:
处理器;
惯性测量单元;以及
一个或多个存储器,存储有计算机可读指令,所述计算机可读指令在由所述处理器执行时将所述计算机系统配置为:
生成等于初始噪声值与参考噪声值的第一比率的初始噪声调整;
生成等于初始偏差值与参考偏差值的第二比率的初始偏差调整;
通过针对噪声缩放集中的每个噪声缩放对所述初始噪声调整应用第一缩放因子,生成所述噪声缩放集;
通过针对偏差缩放集中的每个偏差缩放对所述初始偏差调整应用第二缩放因子,生成所述偏差缩放集;
针对所述噪声缩放集和所述偏差缩放集的每个排列,确定与每个排列相关的误差测量;
识别与所述误差测量中的最低误差测量相关的排列,其中,所述排列与校准噪声缩放和校准偏差缩放相关;以及
使用所述校准噪声缩放和所述校准偏差缩放校准所述惯性测量单元。
10.根据权利要求9所述的计算机系统,其中,访问所述初始噪声调整和所述初始偏差调整包括:
从惯性测量传感器接收原始输出数据;以及
对所述原始输出数据执行初始校准,从而创建所述初始噪声调整和所述初始偏差调整。
11.根据权利要求10所述的计算机系统,其中,所述原始输出数据包括加速度计值和角速度值。
12.根据权利要求9所述的计算机系统,其中,所述初始噪声调整、所述初始偏差调整、所述参考噪声值、以及所述参考偏差值中的每个都包括加速度和角速度的单独测量。
13.根据权利要求9所述的计算机系统,其中,所述惯性测量单元包括加速度计或陀螺仪。
14.根据权利要求9所述的计算机系统,其中,确定所述误差测量包括:
通过与所述排列相关的所述噪声缩放和所述偏差缩放调整来自所述惯性测量单元的输出;以及
基于调整的输出计算与同时定位与建图相关的所述误差测量。
15.根据权利要求14所述的计算机系统,其中,计算与所述同时定位与建图相关的所述误差测量包括:
访问初始姿势和初始摄像头帧;
根据所述初始姿势、所述初始摄像头帧、以及调整的所述输出计算估计姿势,所述估计姿势包括位置和方向;以及
根据所述位置和地面实况姿势的位置之间的第一差以及所述方向和所述地面实况姿势的方向之间的第二差确定所述误差测量。
16.一个或多个非暂时性计算机存储介质,存储有指令,所述指令在计算机系统上执行时使所述计算机系统执行操作,所述操作包括:
生成等于初始噪声值与参考噪声值的第一比率的初始噪声调整;
生成等于初始偏差值与参考偏差值的第二比率的初始偏差调整;
通过针对噪声缩放集中的每个噪声缩放对所述初始噪声调整应用第一缩放因子,生成所述噪声缩放集;
通过针对偏差缩放集中的每个偏差缩放对所述初始偏差调整应用第二缩放因子,生成所述偏差缩放集;
针对所述噪声缩放集和所述偏差缩放集的每个排列,确定与每个排列相关的误差测量;
识别与所述误差测量中的最低误差测量相关的排列,其中,所述排列与校准噪声缩放和校准偏差缩放相关;以及
使用所述校准噪声缩放和所述校准偏差缩放校准惯性测量单元。
17.根据权利要求16所述的一个或多个非暂时性计算机存储介质,其中,访问所述初始噪声调整和所述初始偏差调整包括:
从惯性测量传感器接收原始输出数据;以及
对所述原始输出数据执行初始校准,从而创建所述初始噪声调整和所述初始偏差调整。
18.根据权利要求16所述的一个或多个非暂时性计算机存储介质,其中,所述惯性测量单元包括加速度计或陀螺仪。
19.根据权利要求16所述的一个或多个非暂时性计算机存储介质,其中,确定所述误差测量包括:
通过与所述排列相关的所述噪声缩放和所述偏差缩放调整来自惯性测量单元的输出;以及
基于调整的输出计算与同时定位与建图相关的所述误差测量。
20.根据权利要求16所述的一个或多个非暂时性计算机存储介质,其中,所述初始噪声调整、所述初始偏差调整、所述参考噪声值、以及所述参考偏差值中的每个都包括加速度和角速度的单独测量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062975123P | 2020-02-11 | 2020-02-11 | |
US62/975,123 | 2020-02-11 | ||
PCT/CN2021/075837 WO2021160070A1 (en) | 2020-02-11 | 2021-02-07 | Imu static noise calibration scale adjustment for vislam applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115023589A CN115023589A (zh) | 2022-09-06 |
CN115023589B true CN115023589B (zh) | 2024-03-22 |
Family
ID=77292043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180011188.8A Active CN115023589B (zh) | 2020-02-11 | 2021-02-07 | 用于vislam应用的imu静态噪声校准缩放调整 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115023589B (zh) |
WO (1) | WO2021160070A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2124019A2 (en) * | 2008-05-20 | 2009-11-25 | Northrop Grumman Guidance and Electronics Company, Inc. | Real time error determination for inertial instruments |
CN102564452A (zh) * | 2011-12-09 | 2012-07-11 | 北京理工大学 | 一种基于惯性导航系统的在线自主标定方法 |
CN102865881A (zh) * | 2012-03-06 | 2013-01-09 | 武汉大学 | 一种惯性测量单元的快速标定方法 |
JP2015148450A (ja) * | 2014-02-05 | 2015-08-20 | 古野電気株式会社 | センサ誤差補正装置、imu較正システム、imu較正方法、および、imu較正プログラム |
CN109238306A (zh) * | 2018-08-30 | 2019-01-18 | Oppo广东移动通信有限公司 | 基于穿戴式设备的计步数据校验方法、装置、存储介质及终端 |
CN109827593A (zh) * | 2018-09-11 | 2019-05-31 | 广东星舆科技有限公司 | 一种基于多imu的误差自标定方法、系统及存储介质 |
CN110187861A (zh) * | 2019-05-27 | 2019-08-30 | Oppo广东移动通信有限公司 | 一种音量调节方法、电子设备及计算机可读存储介质 |
CN110388938A (zh) * | 2018-04-20 | 2019-10-29 | Oppo广东移动通信有限公司 | 一种通知方法、终端及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11118937B2 (en) * | 2015-09-28 | 2021-09-14 | Hrl Laboratories, Llc | Adaptive downhole inertial measurement unit calibration method and apparatus for autonomous wellbore drilling |
-
2021
- 2021-02-07 WO PCT/CN2021/075837 patent/WO2021160070A1/en active Application Filing
- 2021-02-07 CN CN202180011188.8A patent/CN115023589B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2124019A2 (en) * | 2008-05-20 | 2009-11-25 | Northrop Grumman Guidance and Electronics Company, Inc. | Real time error determination for inertial instruments |
CN102564452A (zh) * | 2011-12-09 | 2012-07-11 | 北京理工大学 | 一种基于惯性导航系统的在线自主标定方法 |
CN102865881A (zh) * | 2012-03-06 | 2013-01-09 | 武汉大学 | 一种惯性测量单元的快速标定方法 |
JP2015148450A (ja) * | 2014-02-05 | 2015-08-20 | 古野電気株式会社 | センサ誤差補正装置、imu較正システム、imu較正方法、および、imu較正プログラム |
CN110388938A (zh) * | 2018-04-20 | 2019-10-29 | Oppo广东移动通信有限公司 | 一种通知方法、终端及计算机存储介质 |
CN109238306A (zh) * | 2018-08-30 | 2019-01-18 | Oppo广东移动通信有限公司 | 基于穿戴式设备的计步数据校验方法、装置、存储介质及终端 |
CN109827593A (zh) * | 2018-09-11 | 2019-05-31 | 广东星舆科技有限公司 | 一种基于多imu的误差自标定方法、系统及存储介质 |
CN110187861A (zh) * | 2019-05-27 | 2019-08-30 | Oppo广东移动通信有限公司 | 一种音量调节方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115023589A (zh) | 2022-09-06 |
WO2021160070A1 (en) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220237866A1 (en) | Vehicle environment modeling with cameras | |
CN106803271B (zh) | 一种视觉导航无人机的摄像机标定方法及装置 | |
EP2992508B1 (en) | Diminished and mediated reality effects from reconstruction | |
CN106663334B (zh) | 通过计算装置执行的方法、移动通信装置和存储介质 | |
KR102347239B1 (ko) | 라이다와 카메라를 이용하여 이미지 특징점의 깊이 정보를 향상시키는 방법 및 시스템 | |
US10444845B2 (en) | Display of separate computer vision based pose and inertial sensor based pose | |
CN112399158B (zh) | 投影图像校准方法、装置及投影设备 | |
JP2018507476A (ja) | コンピュータビジョンに関する遮蔽処理 | |
US10740986B2 (en) | Systems and methods for reconstructing a moving three-dimensional object | |
EP3633606A1 (en) | Information processing device, information processing method, and program | |
Chen et al. | A real-time markerless augmented reality framework based on SLAM technique | |
US11403781B2 (en) | Methods and systems for intra-capture camera calibration | |
CN113361365B (zh) | 定位方法和装置、设备及存储介质 | |
WO2021160098A1 (en) | Error state kalman filter for visual slam by dynamically tuning measurement noise covariance | |
CN112560769B (zh) | 用于检测障碍物的方法、电子设备、路侧设备和云控平台 | |
CN115023589B (zh) | 用于vislam应用的imu静态噪声校准缩放调整 | |
KR20220122287A (ko) | 증강 현실 제공 장치의 포즈 결정 방법 및 장치 | |
AU2010338191B2 (en) | Stabilisation method and computer system | |
US11069121B2 (en) | Methods, devices and computer program products for creating textured 3D images | |
US20230236219A1 (en) | Visual inertial odometry with machine learning depth | |
WO2021141729A1 (en) | Systems and methods for reconstructing a three-dimensional object | |
Jóźków et al. | Combined matching of 2d and 3d kinect™ data to support indoor mapping and navigation | |
US20230005172A1 (en) | Method and System for Implementing Adaptive Feature Detection for VSLAM Systems | |
CN112967329A (zh) | 图像数据优化方法、装置、电子设备及存储介质 | |
US10650563B2 (en) | Tongue position tracking for facial animation |
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 |