没有合适的资源?快使用搜索试试~ 我知道了~
虚拟现实智能硬件 2019年第4引文:李金宇,杨邦邦,陈丹鹏,王楠,张国锋,包虎军。用于增强现实的单目视觉-惯性SLAM算法的调查和评估。虚拟现实智能硬件,2019,1(4):386-410DOI:10.1016/j.vrih.2019.07.002·回顾·用于增强现实杨邦邦1,车丹鹏2,王南2,郭峰赵汉1*,胡俊鲍1*1. 浙江大学计算机辅助图形学国家重点实验室,浙江杭州3100582. 商汤科技研究院,杭州311215*通讯作者,bao@cad.zju.edu.cn;zhangguofeng@cad.zju.edu.cn投稿时间:2018年12月15日修订日期:2019年1月11日接受日期:2019年2月1日国家重点研究发展计划(2016 YFB 1001501);国家自然科学基金(61672457);中央高校基础研究基金(2018 FZA5011);浙江大学-商汤科技三维视觉联合实验室。摘要尽管VSLAM/VISLAM取得了巨大的成功,但由于缺乏合适的基准,从增强现实的角度对不同类型的SLAM系统的定位结果进行定量评估仍然很困难。对于实践中的AR应用,各种具有挑战性的情况(例如,快速运动、强旋转、严重运动模糊、动态干扰)可能容易遇到,因为家庭用户可能不会小心地移动AR设备,并且真实环境可能相当复杂。此外,相机丢失的频率应该最小化,并且从故障状态的恢复应该快速准确,以获得良好的AR体验。现有的SLAM数据集/基准通常仅提供姿态准确性的评估,并且它们的相机运动在某种程度上是简单的,并且不适合移动AR应用中的常见情况。基于上述动机,我们建立了一个新的视觉惯性数据集以及一系列AR的评价标准。我们还回顾了现有的单目VSLAM/VISLAM方法进行了详细的分析和比较。特别是,我们选择了8个有代表性的单目VSLAM/VISLAM方法/系统,并定量评估他们在我们的基准。我们的数据集、示例代码和相应的评估工具可在基准测试网站www.example.com上获得http://www.zjucvg.net/eval-vislam/。关键词视觉惯性SLAM;里程计;跟踪;定位;地图绘制;增强现实1引言近年来,AR(增强现实)技术发展迅速,越来越成熟。国际IT巨头苹果、谷歌和微软推出了移动AR软件开发平台(即,ARKit和ARCore),以及AR头盔显示器HoloLens。特别是随着移动通信和智能终端的普及,AR技术已经从工业生产、医疗康复、城市管理等高端应用逐步扩展到电子商务、文化教育、数字娱乐等大众化领域www.vr-ih.comJinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity387应用程序,并已成为人们认识和改造世界的基本工具。增强现实技术是一种将虚拟物体或信息与真实的物理环境无缝融合在一起,呈现给用户的合成效果。3D配准(即,精确的姿态配准/定位)是实现沉浸式AR效果的关键基本技术。早期的AR解决方案,如ARToolkit1,使用基准标记进行姿势注册,这将AR对象限制在特定的位置。随后,发展了一些基于自然特征的摄像机跟踪方法。最重要的三维配准技术是SLAM(Simultaneous Localization andMapping),它可以在未知环境中实时恢复设备的位姿。根据使用的传感器不同,SLAM技术可以分为VSLAM(visual SLAM)、VISLAM(visual-inertial SLAM)、RGB-D SLAM等,关于它们已经有一些综述[1−5]。在本文中,我们主要回顾了公开可用的VSLAM和VISLAM方法与定量评估。SLAM技术起源于机器人领域。在过去的几十年里,许多研究人员研究了它的建模,优化和工程,但简化了假设。在AR中,新的挑战出现了:应用程序需要快速初始化并具有准确的比例。偶然的抖动和纯旋转运动经常发生。消费级传感器的测量结果很容易受到噪声和漂移的污染。硬件同步不容易实现。不幸的是,没有充分解决这些问题的先验评估,使得难以定量比较不同VISLAM系统在AR应用中的性能。移动设备(即,智能手机),通常具有摄像头和IMU(惯性测量单元)传感器,这是使用VISLAM技术进行定位的理想选择。例如,Apple的ARKit和Google的ARCore都使用VISLAM进行3D姿态注册。虽然已经有一些数据集,如EuRoC[6]和KITTI[7],但它们并不旨在评估AR效应。与其他应用程序不同,良好的AR体验要求SLAM系统可以处理各种复杂的摄像头运动,让新手家庭用户轻松使用。例如,许多AR应用程序需要使用精确的比例进行快速初始化。用户可以自由地移动AR设备并且遇到各种意外情况,诸如偶尔的相机抖动、相机丢失、具有严重运动模糊的快速相机运动以及动态干扰。遗憾的是,现有基准中没有一个专门针对这些问题并建立相应的评价标准。在本文中,我们发布了一个新的单目VSLAM/VISLAM基准,用于评估SLAM在AR应用中的性能。具体来说,我们在手机上实现了一个完整的视觉惯性数据采集管道。我们定义了一系列的评估标准,在AR的SLAM。此外,我们回顾了现有的主流单目VSLAM/VISLAM方法,并进行了详细的分析和比较。我们对公共单眼VSLAM/VISLAM系统在基准测试2上进行了定量评估。2VSLAM和VISLAMVISLAM是一种使用视觉和惯性传感器来推断设备在未知环境中的姿态和场景地图的技术。相比之下,VSLAM仅使用视觉传感器(即,单目或多个摄像机)来根据多视图几何理论[8,9]估计摄像机姿态和场景结构。惯性信息(即,IMU传感器测量的线加速度和旋转速度)通过惯性导航建模,可以弥补视觉信息的缺陷所以通过融合视觉第1页https://github.com/artoolkit2基准测试网站位于http://www.zjucvg.net/eval-vislam/388虚拟现实智能硬件 2019年第4͂C1<$Cm,X1<$Xn i= 1j= 1C1,Cm,X1,Xni= 1j = 1H-H1i= 1M1型和惯性信息,在相同的情况下,VISLAM系统通常可以比VSLAM系统更鲁棒。VSLAM可以看作是运动恢复结构(SfM)的在线版本,这也是计算机视觉中的一个关键问题。给定输入的多幅图像或视频序列,SfM可以自动恢复相机姿态和匹配特征的3D点。图像i的相机运动状态可以表示为Ci=(Ri,pi),其中Ri和pi是图像i的旋转矩阵和相机位置分别如图1所示,3D点Xj可以投影到图像i,如下:xij=h(Ci,Xj)=π(KRi(Xj-pi)),(1)当K是一个三角形矩阵时,π (x,y,z)=(x/z,y/z)是一个投影函数. 当量 (1)将世界坐标中的3D点Xj与图像Ii上的2D点Xij相关联。实际上,匹配不是完美了设x∈ij为图像上的实际关键点,可以计算Xj在图像i上的重投影误差如ijxij-xij。对于m个图像和n个3D点,我们可以通过最小化以下能量函数来同时求解相机姿势和3D点:argmin∑m∑n n(Ci,Xj)-xnij2(2)这种优化称为光束法平差(BA)[10],它是SfM和VSLAM的核心组成部分。对于单目VSLAM,绝对比例不能通过最小化重投影误差来解决。幸好惯性测量单元传感器可以提供度量测量,所以我们可以恢复绝对比例通过整合和优化IMU数据。通常,IMU传感器测量相对于其局部坐标系的旋转速度ω(t)和线性加速度a(t)。其共同模型[11]如下:ω(t)= ωn(t)+bω+nω图1多视图几何图形。a(t)=R你好, b今ω = ηω(三)a= ηa其中ω(t)表示IMU坐标系中的真实旋转速度,ωωW(t)表示世界坐标系中的真实加速度,并且Rt是IMU在时间t处的旋转矩阵。nω~N(0,<$ω)和na~N(0,<$a)分别是陀螺仪和加速度计的测量噪声。bω和b a是随机游走条件下的随机过程,称为Drifterror。 其幅值噪声为ηω~N(0,ωbω)和ηa~N(0,ωba).因此,ω (t)和a(t)的直接积分将导致严重的accumulation错误。在VSLAM中,可以通过环闭合检测和全局优化(如光束法平差)来消除累积误差。VISLAM结合了视觉和惯性测量,可以被视为直接的VSLAM的扩展因此,VISLAM中的BA函数可以定义如下:arg min $∑m∑n<$ h<Ci,Xj-xij<$2+∑m-1<$s <Ci|ω,aCi+1<$2(四)新术语s(Ci| ω,a)在Eq. (4)表示基于Ci以及ω(t)和a(t)的测量的Ci+1的姿态预测。这通常通过迭代地将IMU测量值集成到当前姿态预测中来实现。用于将惯性测量结果融合到VSLAM中的另一种方法是将一组顺序IMU读数总结为单个预积分IMU测量结果,使得在优化过程中结合偏差更新是方便的,例如[12,13]。二元运算符389JinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity给出了预测值和实际值之间的误差,通常通过李代数。h、通过融合摄像机和惯性测量单元,可以对摄像机的姿态进行最优估计。由于速度和偏差也涉及预测s,因此我们需要在等式中一起求解相机姿态、速度和IMU偏差。(四)、3代表性单眼VSLAM/VISLAM方法众所周知,SLAM系统可以通过滤波或优化来求解状态。基于此,SLAM方法可以分为基于滤波的方法和基于优化的方法。用于跟踪的视觉信息也可能完全不同。一些方法使用关键点匹配并优化重投影误差。其他一些方法直接使用图像像素并最小化测光误差。在本节中,我们介绍一些代表性的单目VSLAM/VISLAM方法。3.1基于滤波的SLAMMonoSLAM[14]是最早的单目VSLAM系统之一。由于它使用扩展卡尔曼滤波器来解决相机姿态,因此它是基于滤波的SLAM系统。对于卡尔曼更新步骤,所使用的观测值是来自标准针孔模型的重投影。MonoSLAM中的EKF为所有3D点和最新的相机姿态提供最大后验估计。从现代的角度来看,它一再边缘化了旧的相机状态。这样,状态的数量可以限制为O(N)大小,其中N是地标的数量。因此,总计算成本是有界的。这也揭示了基于滤波的方法的主要缺点之一:EKF通常不能给出全局最优估计的相机状态。这种次优状态的过早边缘化将给系统引入永久误差,导致大的漂移。在MonoSLAM中,其边缘化方案也构建了一个密集的协方差矩阵。每次EKF迭代需要花费O(N3)时间,这使得它难以处理大量的地图点。作为另一种早期的基于卡尔曼滤波器的SLAM方法,MSCKF[15]使用不同的方式来估计相机状态。他们保留了一个M帧的滑动窗口。MSCKF的状态向量包含M帧的位姿和最新的IMU状态。为了避免在状态向量中包含3D点,MSCKF从当前相机状态中三角化点以更新滤波器估计,然后立即边缘化它们。与MonoSLAM不同,MSCKF使用IMU来估计新帧的位姿。然而,由于没有重新定位或闭环模块,它实际上是视觉惯性里程计(VIO)。通过使用滑动窗口,MSCKF中的摄像机状态将在边缘化之前被多次细化。另外,状态的大小仅取决于滑动窗口的大小,因此MSCKF中的每次更新仅花费O(M3)时间。因此,MSCKF可以在大范围内实时跟踪,同时具有相对较小的漂移。在后来的扩展中,MSCKF 2.0[16]研究了系统的可观测性。他们在相机状态中发现了4个不可观察的维度。这些维度中的噪声会引入额外的误差。所以他们使用了第一估计雅可比矩阵[17]来避免将误差泄漏到这些额外的维度中。还有其他的作品解决可观察性和一致性的问题[18-21]。例如,在[21]中,用于计算雅可比矩阵的线性化点是在可观测性约束下选择的,然后使用EKF的变体来纠正一致性。MSCKF 2.0由于其有限的计算需求,已被用于移动AR产品中。3.2基于优化的SLAM基于滤波的SLAM系统不可避免地遭受累积误差。经调查,390虚拟现实智能硬件 2019年第4J基于优化的方法可以具有优于基于过滤的方法的精度[22]。当存在视觉循环时,可以在优化中做出附加约束以连接非连续重叠帧,从而消除累积误差。然而,全局优化的计算成本将随着帧的增加而迅速增长。现有的文献主要集中在提高优化效率上,其中大部分的目的是利用变量之间关系的稀疏性和SLAM问题的局部性。早期的工作[23],已经提出将信息矩阵或测量雅可比矩阵的因子分解解释为因子图的消除过程[24]。使用变量重排序算法,如CHOLMOD[25]和COLAMD[26],大大减少了消除过程中的填充,从而保持了稀疏性。基于这些理论,提出了iSAM[27],其进一步利用局部性并增量地更新测量雅可比矩阵的因子分解。为了更好地结合变量重排序过程和增量因子分解,iSAM 2[28]进一步提出了贝叶斯树结构来帮助分析因果关系。其他方法,如SLAM++[29,30]和ICE-BA[31],例如,采用增量Schur补算法,该算法总是在相机/IMU变量之前消除地标变量,以最大限度地减少填充。PTAM[32]是一个突破性的VSLAM系统,它使用基于关键帧的优化。它将局部跟踪和全局映射放在两个并行线程中。在相机跟踪线程中,他们使用衰减速度模型来预测相机姿势。姿态预测还有助于将3D映射点投影到新图像上。因此,在投影的邻域区域中搜索新的关键点。给定匹配结果,它们最小化重投影误差以更新相机姿态。由于只解决了姿势,因此可以实时完成。在另一个线程中,通过光束法平差完成全局映射。当相机跟踪指定了一个好的关键帧时,它将被添加用于光束法平差。如果不考虑稀疏性,则M个关键帧的调整算法的计算复杂度为O(M3),并且随着时间的推移而增加。随着地图的扩展,其处理将变得非常昂贵。作为单独的线程运行可以防止映射阻塞相机跟踪,从而实现实时性能。尽管如此,这种全球捆绑调整的复杂性仍然对PTAM施加了限制。在他们的原始论文中,地图最多只能包含数百个关键帧。在最初的PTAM系统中还有另一个警告:它的初始化需要用户交互。在启动期间,用户必须选择两个初始关键帧。然而,PTAM的并行跟踪和映射框架启发了许多SLAM系统。如今,几乎所有基于关键帧优化的SLAM系统都使用类似的框架。ORB-SLAM[33,34]是一种最先进的SLAM系统,它在整个系统中使用ORB特征来提高系统的鲁棒性。在PTAM之后,它将相机跟踪,本地映射和循环关闭放在三个线程中。在PTAM中,没有显式处理循环闭合或重新定位,全局地图是由关键点匹配连接的关键帧组成的汤。ORB-SLAM采取了更进一步的措施。他们将优化过程分为局部窗口光束法平差和闭环优化。局部窗口光束法平差可优化最新关键帧以及与最新关键帧共享观测的所有关键帧。由于它只涉及有限的帧,计算成本是有限的。闭环优化基于基本图,如:argmin∑ lo gSIM(3)Si<$ΔSij (5)第一章i其中Si、Sj是节点,表示关键帧姿态。ΔSij是节点i和j之间的边,表示对应关键帧之间的相似性变换。使用相似性变换可以帮助391JinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity减少尺度漂移,这是仅视觉SLAM中的常见问题。此外,由于3D点不涉及Eq. (5)减少了变量的数量,从而提高了整体性能。为了避免用户交互,ORB-SLAM同时估计单应性模型和极线模型,并选择最佳模型初始化前两个关键帧。因此,当有足够的运动时,系统会自动停止。ORB-SLAM开源了它的实现,并激发了许多新的作品,包括ORB-SLAM的视觉惯性版本[35]。OKVIS[36]是另一个设计用于融合惯性测量的VISLAM系统。OKVIS的核心优化是同时考虑重投影误差和IMU运动误差的滑动窗口优化。它利用边缘化来保存那些从窗口中消失的信息。这种滑动窗口加边缘化策略提供了良好的精度与有限的计算成本。VINS-Mono[37]是一种强大的视觉惯性SLAM系统。它也是开源的。与ORB-SLAM相比,它有许多新的亮点,并使用OKVIS等边缘化技术来提高准确性。它有一个强大的初始化规模估计。里程跟踪采用双向边缘化的局部滑动窗口。全局姿态图[38]对于每帧只有4DoF。由此产生的系统给出了一个非常好的估计相机和IMU的状态,以及物理规模。移动版本[39]也公开提供,可以在iPhone 6s上流畅运行。VINS-Mono以松耦合的方式实现。首先,基于SfM的重建建立在几个关键帧上。然后,由SfM恢复的姿态与IMU测量对准。这种视觉惯性对准估计陀螺仪偏差、重力方向、粗略比例以及关键帧的所有速度。然后,这些估计用于初始化系统。VINS-Mono的跟踪由局部视觉惯性里程计线程、重新定位线程和全局姿态图优化线程组成。对于初始化和局部里程跟踪,VINS-Mono使用光流跟踪KLT特征。本地视觉惯性测距线程管理M个最近关键帧的滑动窗口于当新帧到达时,它通过融合关键点匹配和IMU测量来预测帧姿态。然后将该帧加入到滑动窗口中,进行紧耦合调整,使重投影误差和运动预积分误差最小化。为了限制计算成本,VINS-Mono使用双向边缘化策略:如果窗口内的第二个最新帧不是关键帧,则将其状态边缘化,并将该帧从窗口中删除。否则,窗口内最旧的框架将被边缘化并删除。通过这样做,被移除的帧的信息变成先验项,并且窗口中的帧的总数是固定的。移除的关键帧将作为节点添加到全局姿势图优化中,并且还将用于重新定位。重定位线程首先使用DBoW2检测循环闭合[40]。当检测到闭环帧时,计算BRIEF特征匹配。特征匹配通常包含离群点,这些离群点是基于几何准则过滤的。一旦特征匹配是可靠的,闭环帧被添加到本地视觉惯性里程计作为约束。当存在较多闭环帧时,所有闭环帧都被用作约束以提高重定位精度。全局姿态图优化线程保留历史关键帧。它们在帧之间添加连续边和循环闭合边。他们使用的边缘捕获偏航方向上的3D相对位置和1D相对旋转,因此每个关键帧的优化是4DoF。这是合理的,因为其他两个旋转方向可从IMU测量中观察到,并且可以在局部视觉惯性测距期间估计。3.3直接跟踪之前介绍的系统使用特征点来提供视觉测量。更具体392虚拟现实智能硬件 2019年第4它们的优化,视觉因素是重投影误差。它们通常被称为“基于特征”或“间接”方法。一些其它SLAM系统尝试基于像光度误差的图像外观来最小化测量。这些系统被称为直接方法。与间接系统不同,这些系统跳过预先计算步骤(例如,从特征匹配形成视觉测量),并直接使用来自照相机的光强度作为测量。直接法和间接法各有优缺点。在大多数情况下,间接方法对几何噪声(如镜头失真或卷帘快门效应)更鲁棒,而直接方法可能对它们敏感。另一方面,直接方法对光度噪声更鲁棒,因为利用了具有强度梯度的所有图像区域(边缘、无特征的墙壁)。直接稀疏里程计(DSO)[41]是基于直接跟踪的最先进的视觉里程计算法。DSO使用[42]提出的稀疏和直接公式,而以前的工作大多是密集的[43,44]。此外,DSO使用完全直接的概率模型来联合优化所有模型参数,包括几何结构和相机运动,从而方便地结合其他类型的传感器。DSO与其他直接方法系统的另一个区别是视觉测量模型。DSO提出了一种新的视觉测量模型,该模型将标准光强与曝光时间、镜头渐晕和非线性响应函数相结合,以提高精度和鲁棒性。与OKVIS一样,DSO中的优化是在多达N个关键帧的滑动窗口中执行的。当帧的活动集合超过N时,旧相机姿势以及变得不可见的点通过边缘化被移除。DSO使用一个精确设计的评分函数来确定要删除哪些关键帧,以保持活动关键帧在3D空间中均匀分布。一旦选择了一个关键帧,它表示的所有点首先被边缘化,然后是帧本身。为了保持问题的稀疏性,DSO采用了次优边缘化策略,其中只有一部分剩余项被边缘化。所有会影响稀疏模式的观测都将被直接丢弃。这也是由OKVIS启发的。除了上面介绍的系统之外,还有其他类型的SLAM方法,如基于RGB-D的方法[45,46]或基于事件的方法[47]。此外,一些系统使用线和平面来更好地正则化[48,49]。深度学习的最新发展也催生了一些基于学习的系统[50 - 52]。然而,手机上通常只有摄像头和IMU,而线和平面的检测和跟踪相对昂贵。基于学习的方法还没有完全准备好应用于移动AR应用程序。因此,我们将只专注于评估基于特征和基于直接的单目VSLAM/VISLAM系统。4视觉惯性数据集已经有一些数据集和基准[6 - 7,53 - 55]。例如,EuRoC MAV数据集[6]是一个基于hexacopter的数据集,其中有11个序列从3个场景中捕获:两个房间和一个机器大厅。有以752×480×20Hz捕获的立体图像和以200Hz捕获的IMU传感器数据。地面真实姿态是从VICON和Leica MS 50获得的,精度约为1mm。所有的数据都是硬件同步到一个共同的时钟。该数据集使用全局快门相机。它还具有良好的同步性和高精度的地面实况。这些特点使其在最近的VISLAM研究中非常受欢迎。VISLAM的更多数据集包括TUM VI基准数据集[53],KITTI Vision基准套件[7]和PennCOSYVIO数据集[54]。然而,这些数据集对于在实际应用中评估VISLAM仍然过于理想,特别是对于移动AR应用。ADVIO数据集[55]是393JinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity也许是迄今为止唯一的数据集,它从真正的移动电话中捕获数据。虽然数据集带有地面实况,但根据他们的论文,其精度约为几厘米/米。尽管有大量的数据集和基准测试,但没有一个专门用于测试VISLAM系统在AR应用中的性能。为了填补这一空白,我们建议构建一个新的视觉惯性数据集,用于评估AR应用中的SLAM。图2说明了数据集处理的方案。我们的视觉惯性数据集是用两部手机和一个VICON运动捕捉系统3收集的。首先,我们从设备收集原始数据,如蓝色块所示。原始数据将被输入同步/校准过程,以进行空间/时间对齐。地面实况数据将利用同步和校准产生。校准数据和地面实况数据(如红色和绿色块所示)以及原始数据将显示在最终数据集中。在下面的小节中,我们将详细介绍我们的硬件设置、约定、校准过程和数据集组织。表1列出了我们的数据集和一些常用数据集的特征以供比较。图2数据集处理方案。表1一些常用VISLAM数据集的比较数据集KITTI[7]欧洲RoC[6][53]第五十三话[55]第五十五话我们硬件车MAV定制手持设备iPhone 6siPhone X /小米Mi 8相机2139251210FPS全局快门276848020FPS全局快门21024102420FPS全局快门1128072060FPS卷帘门164048030FPS滚动快门IMUOXTS RT 300310HzADIS 16488200HzBMI160200HziPhone 6s的IMU 100HziPhone X的小米Mi 8 100 Hz/400 Hz的IMU地面实况OXTS RT 300310HzVICON/Leica200HzOptiTrack120Hz(部分)传感器融合100HzVICON400Hz环境户外室内室内/室外室内/室外室内总距离39.2公里0.9公里20公里4.5公里377米精度~10 cm~1 mm~1 mm~少量dm~1 mm同步软件硬件硬件软件软件4.1硬件设置我们使用了两种不同的手机(即,iPhone X和小米Mi 8)来收集视觉惯性数据。3www.vicon.com/394虚拟现实智能硬件 2019年第4C一一VVBBVVBB具体来说,我们用后置摄像头以30fps的速度拍摄640×480的单色图像IMU数据以不同频率记录。对于小米Mi 8,IMU数据为400 Hz。对于iPhone X,由于CoreMotion API的限制,其IMU数据频率上限为100 Hz。地面实况数据从VICON运动捕捉系统获得。它以400 Hz的频率提供手机的6D姿态测量。手机的机身框架由一组特殊的标记确定。图3显示了我们的一位同事捕获数据的情况。我们将通过校准将身体帧配准到相机和IMU的本地帧。由于VICON数据是由PC记录的,因此存在第二个同步问题。由于时间偏移在序列之间可能不同,因此我们需要重新校准每个序列的时间偏移。4.2公约在介绍我们的数据集和校准之前,我们首先定义数据集中使用我们用BR,Bp来表示A A坐标系A相对于坐标B的方向和3D位置。设Ax和Bx分别是同一点相对于框架A和B的坐标,则我们有Bx=BRAx+Bp。在每个数据序列中,将是4个坐标系:手机机身坐标系B、相机坐标系C、VICON对象坐标系V和VICON世界坐标系W。B附接到IMU,表示IMU的姿态以及图3我们的数据采集设备。电话被刚性地连接到用于VICON定位的标记对象手机本身。C表示相机姿势。V由VICON的反射标记定义,W可在VICON初始化时任意选择。我们把反光标记粘在一个刚性的盒子上,然后把手机固定在盒子上,所以V也固定在手机上。在数据记录期间,VICON给出V在W中的姿态,即,(WR,Wp)。地面实况姿态被表示为(WR,Wp)。最终,我们必须在VICON对象框架、相机框架和身体(IMU)框架之间进行时空配准。关于VICON标记器被牢固地附着在电话上。一旦时钟同步,(WR,Wp)和(WR,Wp)应该是恒定的。图4说明了所有这些坐标框架之间的空间关系。4.3校准4.3.1相机-IMU同步和校准我们使用MATLAB Calibration Toolkit4对摄像机进行了内部校准。惯性测量单元和惯性测量单元之间的相对旋转BR和平移Bp,图4 VICON跟踪器、IMU相机以及时间偏移Bt可以是还有相机4http://www.vision.caltech.edu/bouguetj/calib_doc/395∑第五章θ(t+ VBt)2横扫一切R=VVB(tVV(VtWWBVVVVBB tt=BtV(VtB(BtV(VtVB(BtVVVtBtBVVVBBBBVVV我 V我BJinyuLIetall : 针 对 移 动 计 算 的 SLAMalgorithm 的 Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity使用Kalibr获得[56]。然后将相机时间戳校正为IMU时钟。4.3.2VICON-IMU同步在标定VICON和摄像机之间的外部参数之前,必须进行同步。由于我们已经同步了摄像头和IMU,我们现在只需要将IMU与VICON同步。设T为特定时间窗口。对于任何给定的VICON时间Vt,Vt处的VICON姿态与Vt+T处的VICON姿态之间的相对旋转由下式定义:V(Vt+T)R=V(Vt+T)R<$V(Vt)R<$(6)同时,通过对两者之间的IMU测量进行积分,可以找到相同的相对旋转时间点。令t=t+Bt是对应于t的IMU时间,其中Bt是两个IMU之间的时间偏移。传感器.通过IMU测量的相对旋转可以通过下式得到:B(t+T)B(t+Bt+T)Bt+TB VV() 的方式R=expω(t)Δt(七)这里,ω(t)是时间t处的IMU测量,Δt是IMU的采样间隔。现在,由于VICON和IMU之间存在刚性相对旋转BR,因此这两个相对旋转相关为:V(Vt+T)R=BRB(Bt+T)RBR(8)然而,在我们校准VICON和IMU之间的外质之前,相对旋转BR是未知的。 为了摆脱它,我们把这两个关系的一个方面。Letθ(t)=logV(t+T)R,θ(t)=10gθB(t+T)R表示这种线性关系。我们有:V V(t)V(Vt+T)R=BRB(Bt+T)Rexp(θ(t))=BR<$$> exp(θ(t))<$BR= exp(BR<$θ(t))V V VB()=的B V01 - 02 -2013( )的方式V B B(九)θ(t)因此,可以提取旋转角度,而不考虑外函数。实际上,Vt和Bt需要同步。因此,我们找到时间偏移Bt,它使它们的角度之间的互相关最大化。旋转:∑θ(t)(t+Bt)arg max不V 五号B V VB∑θ (Vt)100(十)在实践中,我们设置T= 1s,并求解方程。(9)数据集的线性时间范围。在在下面的讨论中,我们将通过假设良好的同步来放弃时间戳符号。4.3.3VICON-摄像机校准现在,有了良好的同步,我们可以通过对齐VICON来求解相对变换(BR,Bp)测量值(WR,WP)与相机测量值。我们把一个平面板与多个AprilTags[57]然后我们从不同的角度拍摄AprilTag板的几张照片。同时,我们记录了VICON姿势。在AprilTags的帮助下,我们可以获得图像之间的可靠对应关系。因此,我们解决了以下的调整问题:argmin∑log(WR<$WR)<$2WRB(t+Bt)VVVVBVV我V我我V我VV396虚拟现实智能硬件 2019年第4jjJVV我WCCΣ +Wp-Wp102Σ p{VRi},{Vp i},VR,Vp,{X j}我 θ2JV(十一)+∑ρπCRWX-W+C-x在此,设备的初始位姿是从VICON测量中得知的,并将进一步优化V虚拟现实智能硬件 2019年第43962VVS让我更好地适应你的生活。我们需要解决设备的位置问题WR}、{Wp}、VICON-C映射VIV(CR,CP)和AprilTagsX的空间位置。X表示帧i中的2D点,对应于V V j ijX. Huber鲁棒函数ρ(s)定义为:ρ(s)= ρs,其中s ≤ 1。ε2= ε-1ε是j-1,对于s>1平方马氏距离是重投影误差的协方差矩阵。θ和VICON-IMU外质(BR,Bp)可以使用以下公式计算:VICON摄像机和摄像机惯性测量单元的外部参数。因此,我们将能够注册所有三种类型的传感器数据在一起,如图4所示。4.4运动类型对于每部手机,我们都捕捉到了几个序列。我们关注两个方面,即,运动类型和场景复杂度。序列是这两种类型的不同组合。我们定义了5种运动类型,即,等待、挥手、瞄准、检查和巡逻。“保持”意味着用户用手保持手机几乎静止。“Wave”意味着用户在将手腕保持在几乎固定的位置的同时转动手机,因此会有很强的旋转但很小的平移。“瞄准”将主要出现在第一人称射击类AR游戏中,用户将手机拿开并指向周围。在这种情况下,旋转是适度的,但平移运动可以相对较快。“检查”这意味着手机在看某个特定的地方时会四处移动。这是当用户正在检查一些虚拟对象时的常见移动模式。最后,对于“巡逻”运动类型,手机首先向前看,然后绕圈。在该移动模式中可能存在快速旋转,这对于SLAM系统稳健地工作是具有挑战性的。我们建立了一个VICON捕捉室,里面有随机的乱糟糟的物体,毫无特色或重复的墙壁,PC桌面和光滑的木地板。它们分别被命名为“混乱”、“干净”、“桌面”和“地板”。所有序列都由3段组成:静态段、初始化段和主段。静态段对于一些SLAM算法(如MSCKF)具有至少5s,能够准确地初始化IMU偏差。对于初始化段,移动电话移动缓慢并且捕获的内容具有足够的纹理,使得大多数VSLAM/VISLAM方法能够准确地初始化。主要部分旨在测试在移动AR应用中容易出现的各种相机运动下的跟踪能力。我们总共记录了16个序列。表2列出了所有序列并描述了它们的属性,图5显示了一些真实轨迹。在A0和A1中,移动电话在房间中走动并具有强烈的旋转运动。A0主要包含有光泽的木地板,而A1包含白板和重复纹理的地毯。这是两个最困难的数据集。A2- A4模拟来自日常用例的不同运动,并且在房间中有更多对象。A5房间里也有很多物品,但我们拿着手机慢慢挥手。A6- A7是最简单的序列,其中手机固定在一个小桌子与丰富的对象。B 0- B7被捕获用于评估专用标准,它们都围绕一个小桌面循环,加上一些额外的运动,如快速旋转。这些序列将在第5节中介绍。5评价标准为了评估移动AR的SLAM系统,我们定义了四个标准:跟踪精度,初始化质量,跟踪鲁棒性和重定位质量。我们将首先详细介绍这些标准,397mi= 11∑mCUP满贯 i—P i‖2GTmi= 11∑mlog(R[i][i])-1满贯GTt2s,R,t=t1JinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tity表2捕获序列序列运动场景描述小米A0检查+巡逻地板在光滑的地板上走来走去,四处张望。A1检查+巡逻清洁在一些没有纹理的区域走动。A2检查+巡逻一团糟在一些随机的物体周围走动。A3瞄准+检查餐厅+地板先是随机的物体,然后是光滑的地板。A4瞄准+检查桌面+清洁从小场景到无纹理区域。A5波+检查桌面+混乱从小场景到纹理丰富的区域。A6保持+检查桌面看一个小的桌面场景。A7检查+瞄准桌面看一个小的桌面场景。iPhoneB0快速旋转桌面在某个时候快速旋转手机。B1快速翻译桌面手机在某个时候快速移动。B2快速摇动桌面有时会猛烈地摇晃手机。B3检查感动人心一个人进进出出。B4检查摄影机偶尔挡住照相机的物体。B5检查桌面与A6相似,但有黑色边框。B6检查桌面与A6相似,但有黑色边框。B7检查桌面与A6相似,但有黑色边框。然后给出了我们对8种有代表性的单目VSLAM/VISLAM方法/系统的定量评价。5.1跟踪精度跟踪精度,包括绝对误差、相对误差和完整性,对AR应用至关重要。绝对误差衡量SLAM系统在世界上定位自身的程度。绝对位置误差,简称APE,定义为:ϵAPE =(十二)其中pSLAM[i]和pGT[i]是帧i的估计相机位置和地面实况位置分别绝对旋转误差或ARE定义为:联系我们(十三)这里,RSLAM[i]和RGT[i]分别是帧i的估计相机取向和地面实况取向。log(R)将旋转矩阵R∈ SO(3)映射到它的李代数上。由于世界坐标中存在规范模糊性,因此我们必须将结果与地面实况对齐先可以使用Umeyama的方法[58]找到最佳对齐变换。对于姿势从t1到t2,我们使用U(t1,t2)通过最小化以下能量函数来表示最佳相似性变换U(t1,t2)=argmin∑n(RpSLAM[t]+T)-spGT[t]<$2(14)从VSLAM 估计的摄像机轨迹将被转换为等式的结果。(14)然后再评估 CAMPAPE和 CAMPRPE。对于VISLAM结果,应该通过算法估计尺度。所以我们强迫 s= 1,同时将相机轨迹与地面实况对准。我们还将使用US(t1,t2)来仅表示U(t1,t2)中的尺度分量。虚拟现实智能硬件 2019年第4398相对位置误差(RPE)和相对旋转误差(RRE)定义如下:虚拟现实智能硬件 2019年第4398m-1i=11 ∑m-1log(R[i+1]-1满贯满贯 [i])-N-甲基-NGTGT[i])m-1i=11 ∑m-1布吕满贯 [i+ 1 ]-p满贯 [i][i][i+1]-pGTGT[i2图5我们数据集中所有16个序列的真实轨迹。我们还显示了来自A0、A1、B0和B1的代表性图像。联系我们联系我们 ==(十五)(十六)由于SLAM系统可能会在某个时间丢失,因此对所有有效位姿进行APE/RPE/ARE/RRE的评估,排JinyuLIetall:针对移动计算的SLAMalgorithm的Sure yyydevationonon ol Arvisu-inertialarialgorithmsforaugme der it y t i tit
下载后可阅读完整内容,剩余1页未读,立即下载
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)