视觉惯性导航系统综述

视觉惯性导航系统综述

    • 摘要
    • 介绍
    • 2 视觉惯性导航
      • 2.1IMU运动模型
      • 2.2相机测量模型
    • 3状态估计
      • 3.1基于滤波器/基于优化的估计
      • 3.2传感器的紧耦合和松耦合
      • 3.3 VIO和SLAM
      • 3.4 直接/间接的视觉处理
      • 3.5惯性预积分
      • 3.6状态初始化
    • 4传感器标定
    • 5可观性分析
    • 6讨论和总结


Paper:VISUAL-INERTIAL NAVIGATION : A CONCISE REVIEW
author:Guoquan (Paul) Huang


摘要

由于惯性传感器和视觉传感器变得无处不在,视觉惯性导航系统不管是从移动增强现实、空中导航或者是自动驾驶都得到广泛的应用,这多亏了互补的感知能力、不断下降的成本和传感器的大小。在这篇论文中,我们彻底地调查了这个领域的研究成果,并努力地提供了一个简洁但完整的相关工作综述——这是在文献中所没有的但一直被研究者和工程师所要求的事情——希望能够加速VINS的研究并且超越我们整个社会。

介绍

很多年前,惯性导航系统(INS)已经被广泛地应用于6自由度的姿态(位置和方向)估计,特别是,在GPS无法使用的环境下比如水下、室内还有都市峡谷(都市中密集的高楼),甚至在其他星球上。大多数INS系统依赖于六轴惯性测量单元(IMU),IMU测量出与之刚性连接平台的局部线性加速度和角速度。随着近年来硬件设计和制造的进步、低成本轻量微电子机械(MEMS)的IMU已经变得无处不在,这使得手机设备和微型飞行器(MAVS)拥有高精度定位,这对于移动增强现实(AR)和虚拟现实(VR)到自动驾驶这些新生应用有着巨大的意义。不幸的是,简单地将高速率IMU测量值与噪声和偏差进行集成,往往会导致对长期导航的位姿估计不可靠。
尽管存在一种高端战术级IMU,但对于广泛部署来说,它的成本仍然高得令人望而却步。另一方面,一个小的、轻的、高效的摄像头可以提供有关于环境的丰富信息并且可以作为INS系统上的一个帮助来源,从而产生了视觉惯性导航系统。

由于缺少全局信息去长时间积累的降低运动漂移,这个问题是一个挑战(如果使用低成本低质量的传感器会更糟),VINS在最近十年吸引了大量的注意。迄今为止,很多VINS算法用于视觉惯性SLAM和视觉惯性里程计,例如扩展卡尔曼滤波(EKF),无味卡尔曼滤波,批处理或增量平滑,(窗口)优化方法。在这几种方法,扩展卡尔曼此方法仍然流行由于它的高效性。例如,作为一个用于手机的VINS最先进的解决方案,Project Tango(或者AR Core)使用了EKF来融合用于运动跟踪的视觉和惯性测量。然而,最近的预集成的进展也允许在基于图优化的公式中有效地包含高速率IMU测量。

很明显,VINS技术正在兴起,主要是由于对移动感知/导航应用的需求,这已经在这一领域有了大量的文献。但是,尽我们所知,没有当代的VINS文献综述,虽然最近有一些调查是关于SLAM,但不是专门针对VINS的。这使得学术界的研究者和工业界的工程师很难高效地发现和知道他们高兴去的最重要的相关工作,这也是那些年当我们研究这个问题时所遇到的。基于此原因,我们努力弥合这一个空隙通过以下:1、提供一个剪短(由于空间限制)但是完整的VINS综述同时关注状态估计的关键方面;2、提供我们关于最重要相关工作的认知;3、开始讨论未解决的问题。这是由于希望(至少)帮助研究者/工程师更加有效和高效地跟踪和了解最先进的VINS算法/系统,以此来加速VINS在我们整个社会的研究和发展。

2 视觉惯性导航

在这一个章节,我们通过描述EKF框架下的IMU传播和摄像头测量模型提供一些规范的VINS基础背景。

2.1IMU运动模型

扩展卡尔曼滤波EKF使用IMU(陀螺仪和加速度计)测量状态传播,状态向量包含了IMU状态 x I x_I xI和特征点 G p f ^{G} \mathbf{p}_{f} Gpf
视觉惯性导航系统综述_第1张图片
G I q ‾ _{G}^{I} \overline{\mathbf{q}} GIq是代表从世界参考帧{G}到IMU帧旋转的单元四元数
(也就是旋转矩阵的不同参数化: C ( G I q ‾ ) = : I G C \mathbf{C}\left(_{G}^{I} \overline{\mathbf{q}}\right)=: _{I}^{G} \mathbf{C} C(GIq)=:IGC); G p ^{G} \mathbf{p} Gp G v G_{\mathbf{v}} Gv是IMU在世界帧的位置和速度;
b g b_g bg b a b_a ba分别表示陀螺仪和加速度计的偏差。

注意到特征是静态的(与微不足道的动力学),并使用IMU运动动力学[37],状态(的连续时间动力学由下面的式子 (1式) 得出:
G I q ‾ ˙ ( t ) = 1 2 Ω ( I ω ( t ) ) G I q ‾ ( t ) , G p ˙ ( t ) = G v ( t ) , G v ˙ ( t ) = G a ( t ) b ˙ g ( t ) = n w g ( t ) , b ˙ a ( t ) = n w a ( t ) , G p ˙ f ( t ) = 0 3 × 1 \begin{array}{l}{\stackrel{I}{G} \dot{\overline{\mathbf{q}}}(t)=\frac{1}{2} \Omega\left(^{I} \boldsymbol{\omega}(t)\right)_{G}^{I} \overline{\mathbf{q}}(t),^{G} \dot{\mathbf{p}}(t)=^{G} \mathbf{v}(t),^{G} \dot{\mathbf{v}}(t)=^{G} \mathbf{a}(t)} \\ {\dot{\mathbf{b}}_{g}(t)=\mathbf{n}_{w g}(t), \dot{\mathbf{b}}_{a}(t)=\mathbf{n}_{w a}(t),^{G} \dot{\mathbf{p}}_{f}(t)=\mathbf{0}_{3 \times 1}}\end{array} GIq˙(t)=21Ω(Iω(t))GIq(t),Gp˙(t)=Gv(t),Gv˙(t)=Ga(t)b˙g(t)=nwg(t),b˙a(t)=nwa(t),Gp˙f(t)=03×1

I ω = [ ω 1 ω 2 ω 3 ] T ^{I} \omega=\left[\begin{array}{lll}{\omega_{1}} & {\omega_{2}} & {\omega_{3}}\end{array}\right]^{T} Iω=[ω1ω2ω3]T是IMU的旋转速度,用{I}表达;
G a ^{G} \mathbf{a} Ga是在世界参考帧下的IMU加速度;
n w g \mathbf{n}_{w g} nwg n w a \mathbf{n}_{w a} nwa是导致IMU误差的白色高斯噪声;
Ω ( ω ) = [ − ⌊ ω × ⌋ ω − ω T 0 ] \boldsymbol{\Omega}(\boldsymbol{\omega})=\left[\begin{array}{cc}{-\lfloor\boldsymbol{\omega} \times\rfloor} & {\boldsymbol{\omega}} \\ {-\boldsymbol{\omega}^{T}} & {0}\end{array}\right] Ω(ω)=[ω×ωTω0]中的 ⌊ ω × ⌋ \lfloor\omega \times\rfloor ω×是反对称矩阵。
一个典型的IMU提供了陀螺仪和加速度以测量,在IMU局部帧{I}下的 w m w_m wm a m a_m am可以被表示成以下式子:
ω m ( t ) = I ω ( t ) + b g ( t ) + n g ( t ) a m ( t ) = C ( G I q ‾ ( t ) ) ( G a ( t ) − G g ) + b a ( t ) + n a ( t ) \begin{aligned} \boldsymbol{\omega}_{m}(t) &=^{I} \boldsymbol{\omega}(t)+\mathbf{b}_{g}(t)+\mathbf{n}_{g}(t) \\ \mathbf{a}_{m}(t) &=\mathbf{C}\left(_{G}^{I} \overline{\mathbf{q}}(t)\right)\left(^{G} \mathbf{a}(t)-^{G} \mathbf{g}\right)+\mathbf{b}_{a}(t)+\mathbf{n}_{a}(t) \end{aligned} ωm(t)am(t)=Iω(t)+bg(t)+ng(t)=C(GIq(t))(Ga(t)Gg)+ba(t)+na(t)
G g ^Gg Gg是世界参考帧下的重力加速度;
n g n_g ng n a n_a na是均值为0的高斯白噪声。
在当前状态估计的线性化得到持续时间状态估计传播模型:
G I q ^ ˙ ( t ) = 1 2 Ω ( I ω ^ ( t ) ) G I q ^ ( t ) , G p ^ ˙ ( t ) = G v ^ ( t ) , G v ^ ˙ ( t ) = G a ^ ( t ) _{G}^I \dot{\hat{\mathbf{q}}}(t)=\frac{1}{2} \boldsymbol{\Omega}\left(^{I} \hat{\boldsymbol{\omega}}(t)\right)_{G}^{I} \hat{\mathbf{q}}(t),^{G} \dot{\hat{\mathbf{p}}}(t)=^{G} \hat{\mathbf{v}}(t), \quad^{G} \dot{\hat{\mathbf{v}}}(t)=^{G} \hat{\mathbf{a}}(t) GIq^˙(t)=21Ω(Iω^(t))GIq^(t),Gp^˙(t)=Gv^(t),Gv^˙(t)=Ga^(t)
b ^ ˙ g ( t ) = 0 3 × 1 , b ^ ˙ a ( t ) = 0 3 × 1 , G p ^ ˙ f ( t ) = 0 3 × 1 \dot{\hat{\mathbf{b}}}_{g}(t)=\mathbf{0}_{3 \times 1}, \dot{\hat{\mathbf{b}}}_{a}(t)=\mathbf{0}_{3 \times 1},^{G} \dot{\hat{\mathbf{p}}}_{f}(t)=\mathbf{0}_{3 \times 1} b^˙g(t)=03×1,b^˙a(t)=03×1,Gp^˙f(t)=03×1

其中 a ^ = a m − b ^ a \hat{\mathbf{a}}=\mathbf{a}_{m}-\hat{\mathbf{b}}_{a} a^=amb^a ω ^ = ω m − b ^ g \hat{\omega}=\omega_{m}-\hat{\mathbf{b}}_{g} ω^=ωmb^g。因此定义尺寸18×1的误差状态为(可看1式):
x ~ ( t ) = [ I θ ~ T ( t ) b ~ g T ( t ) G v ~ T ( t ) b ~ a T ( t ) G p ~ T ( t ) G p ~ f T ( t ) ] T \widetilde{\mathbf{x}}(t)=\left[\begin{array}{ccc}{I} & {\widetilde{\boldsymbol{\theta}}^{T}(t)} & {\widetilde{\mathbf{b}}_{g}^{T}(t)} & {G \widetilde{\mathbf{v}}^{T}(t)} & {\widetilde{\mathbf{b}}_{a}^{T}(t)} & {G \widetilde{\mathbf{p}}^{T}(t)} & {G \widetilde{\mathbf{p}}_{f}^{T}(t)}\end{array}\right]^{T} x (t)=[Iθ T(t)b gT(t)Gv T(t)b aT(t)Gp T(t)Gp fT(t)]T
我们使用了乘法误差模型的四元数。四元数 q ‾ \overline{\mathbf{q}} q\hat{\overline{\mathbf{q}}} 的 误 差 是 一 个 3 × 1 的 角 误 差 向 量 的误差是一个3×1的角误差向量 3×1{^I}\tilde{\boldsymbol{\theta}}$,有误差四元数的隐式定义:
δ q ‾ = q ‾ ⊗ q ‾ ^ ≃ [ 1 2 I θ ~ 1 ] \delta \overline{\mathbf{q}}=\overline{\mathbf{q}} \otimes \hat{\overline{\mathbf{q}}} \simeq\left[\begin{array}{c}{\frac{1}{2} ^I \widetilde{\boldsymbol{\theta}}} \\ {1}\end{array}\right] δq=qq^[21Iθ 1]
δ q ‾ \delta \overline{\mathbf{q}} δq描述了导致真实和估计状态重合的小旋转。这种参数化的优势是在状态不确定下允许一个最小的展示,3×3的协方差矩阵 E [ I θ ~ I θ ~ T ] \mathbb{E}\left[\begin{array}{ll}^{I}{\widetilde{\boldsymbol{\theta}} {^{I} \widetilde{\boldsymbol{\theta}}^{T}}}\end{array}\right] E[Iθ Iθ T]
现在持续时间误差状态传播是:
x ~ ˙ ( t ) = F c ( t ) x ~ ( t ) + G c ( t ) n ( t ) \dot{\tilde{\mathbf{x}}}(t)=\mathbf{F}_{c}(t) \widetilde{\mathbf{x}}(t)+\mathbf{G}_{c}(t) \mathbf{n}(t) x~˙(t)=Fc(t)x (t)+Gc(t)n(t)
n = [ n g T n w g T n a T n w a T ] T \mathbf{n}=\left[\begin{array}{cccc}{\mathbf{n}_{g}^{T}} & {\mathbf{n}_{w g}^{T}} & {\mathbf{n}_{a}^{T}} & {\mathbf{n}_{w a}^{T}}\end{array}\right]^{T} n=[ngTnwgTnaTnwaT]T是系统的误差;
F c F_c Fc是持续时间误差状态转置矩阵;
G c G_c Gc是输入噪声矩阵,可以有以下表示:
视觉惯性导航系统综述_第2张图片
系统噪声被建模为具有自相关的零均值白高斯过程 E [ n ( t ) n ( τ ) T ] = Q c δ ( t − τ ) \mathbb{E}\left[\mathbf{n}(t) \mathbf{n}(\tau)^{T}\right]=\mathbf{Q}_{c} \delta(t-\tau) E[n(t)n(τ)T]=Qcδ(tτ),这取决于IMU噪声的特性。
我们描述了使用IMU测量的持续时间传播模型。但是,在任何实际的EKF实现中,分立时间状态过渡矩阵, Φ k : = Φ ( t k + 1 , t k ) \mathbf{\Phi}_{k} :=\mathbf{\Phi}\left(t_{k+1}, t_{k}\right) Φk:=Φ(tk+1,tk)是必须的,为了能够从时间 t k t_k tk时刻到 t k + 1 t_{k+1} tk+1传播误差协方差。它通常是通过解下列矩阵微分方程得到的:
Φ ˙ ( t k + 1 , t k ) = F c ( t k + 1 ) Φ ( t k + 1 , t k ) \dot{\mathbf{\Phi}}\left(t_{k+1}, t_{k}\right)=\mathbf{F}_{c}\left(t_{k+1}\right) \mathbf{\Phi}\left(t_{k+1}, t_{k}\right) Φ˙(tk+1,tk)=Fc(tk+1)Φ(tk+1,tk)
在初始条件下 Φ ( t k , t k ) = I 18 \mathbf{\Phi}\left(t_{k}, t_{k}\right)=\mathbf{I}_{18} Φ(tk,tk)=I18。这可以使用数值化或分析化解决。计算完成后,EKF将协方差传播为:
P k + 1 ∣ k = Φ k P k ∣ k Φ k T + Q d , k \mathbf{P}_{k+1 | k}=\mathbf{\Phi}_{k} \mathbf{P}_{k | k} \mathbf{\Phi}_{k}^{T}+\mathbf{Q}_{d, k} Pk+1k=ΦkPkkΦkT+Qd,k
Q d , k Q_{d,k} Qd,k是分立时间系统噪声协方差矩阵,可以这样计算:
Q d , k = ∫ t k t k + 1 Φ ( t k + 1 , τ ) G c ( τ ) Q c G c T ( τ ) Φ T ( t k + 1 , τ ) d τ \mathbf{Q}_{d, k}=\int_{t_{k}}^{t_{k+1}} \mathbf{\Phi}\left(t_{k+1}, \tau\right) \mathbf{G}_{c}(\tau) \mathbf{Q}_{c} \mathbf{G}_{c}^{T}(\tau) \mathbf{\Phi}^{T}\left(t_{k+1}, \tau\right) d \tau Qd,k=tktk+1Φ(tk+1,τ)Gc(τ)QcGcT(τ)ΦT(tk+1,τ)dτ

2.2相机测量模型

摄像机观察视觉角点特征,利用角点特征同时估计感知平台的自我运动。假设有一个校对过的相机,在时间步长k处对特征量的测量为从当前相机帧{ C k C_k Ck}到像素平面三维点的透视投影 C k p f ^{C_{k}} \mathbf{p}_{f} Ckpf,也就是:
z k = 1 z k [ x k y k ] + n f k [ x k y k z k ] = C k p f = C ( I C q ‾ ) C ( G I q ‾ k ) ( G p f − G p k ) + C p I \begin{aligned} \mathbf{z}_{k} &=\frac{1}{z_{k}}\left[\begin{array}{l}{x_{k}} \\ {y_{k}}\end{array}\right]+\mathbf{n}_{f_{k}} \\\left[\begin{array}{c}{x_{k}} \\ {y_{k}} \\ {z_{k}}\end{array}\right] &=C_{k} \mathbf{p}_{f}=\mathbf{C}\left(_{I}^{C} \overline{\mathbf{q}}\right) \mathbf{C}\left(_{G}^{I} \overline{\mathbf{q}}_{k}\right)\left(^{G} \mathbf{p}_{f}-^{G} \mathbf{p}_{k}\right)+^{C} \mathbf{p}_{I} \end{aligned} zkxkykzk=zk1[xkyk]+nfk=Ckpf=C(ICq)C(GIqk)(GpfGpk)+CpI
n f k n_{f_k} nfk是协方差为 R k R_k Rk零均值的白高斯测量噪声。 { I C q ‾ , C p I } \left\{_{I}^{C} \overline{\mathbf{q}},^{C} \mathbf{p}_{I}\right\} {ICq,CpI}是相机和IMU之间的旋转和转换。这个转换可以被获得,例如,离线执行相机和IMU的外部校准。但是,在实际中完美的校准是很难得,将这些标定参数包含在状态向量中,并与IMU/摄像机姿态同时进行估计,有利于VINS的一致性。
对于EKF的使用,12式子( z k = 1 z k [ x k y k ] + n f k \mathbf{z}_{k}=\frac{1}{z_{k}}\left[\begin{array}{l}{x_{k}} \\ {y_{k}}\end{array}\right]+\mathbf{n}_{f_{k}} zk=zk1[xkyk]+nfk)的线性化得到以下剩余测量量(看6式):
z ~ k = H k x ~ k ∣ k − 1 + n f k = H I k x ~ I k ∣ k − 1 + H f k G p ~ f k ∣ k − 1 + n f k \widetilde{\mathbf{z}}_{k}=\mathbf{H}_{k} \widetilde{\mathbf{x}}_{k | k-1}+\mathbf{n}_{f_{k}}=\mathbf{H}_{\mathbf{I}_{k}} \widetilde{\mathbf{x}}_{I_{k | k-1}}+\mathbf{H}_{\mathbf{f}_{k}}^{G} \widetilde{\mathbf{p}}_{f_{k | k-1}}+\mathbf{n}_{f_{k}} z k=Hkx kk1+nfk=HIkx Ikk1+HfkGp fkk1+nfk
测量值雅克比矩阵可以这么计算:
H k = [ H I k H f k ] = H p r o j C ( I C q ‾ ) [ H θ k 0 3 × 9 H p k C ( G I q ‾ ^ k ) ] \mathbf{H}_{k}=\left[\begin{array}{ll}{\mathbf{H}_{\mathbf{I}_{k}}} & {\mathbf{H}_{\mathbf{f}_{k}}}\end{array}\right] = \mathbf{H}_{\mathrm{proj}} \mathbf{C}\left(_{I}^{C} \overline{\mathbf{q}}\right)\left[\mathbf{H}_{\boldsymbol{\theta}_{k}}\right. \mathbf{0}_{3 \times 9} \quad \mathbf{H}_{\mathbf{p}_{k}} \quad \mathbf{C}\left(_{G}^{I} \hat{\overline{\mathbf{q}}}_{k}\right) ] Hk=[HIkHfk]=HprojC(ICq)[Hθk03×9HpkC(GIq^k)]
H p r o j = 1 z ^ k 2 [ z ^ k 0 − x ^ k 0 z ^ k − y ^ k ] \mathbf{H}_{\mathrm{proj}}=\frac{1}{\hat{z}_{k}^{2}}\left[\begin{array}{ccc}{\hat{z}_{k}} & {0} & {-\hat{x}_{k}} \\ {0} & {\hat{z}_{k}} & {-\hat{y}_{k}}\end{array}\right] Hproj=z^k21[z^k00z^kx^ky^k]
H θ k = ⌊ C ( G I q ^ ^ k ) ( G p ^ f − G p ^ k ) × ⌋ , H p k = − C ( G I q ‾ ^ k ) \mathbf{H}_{\boldsymbol{\theta}_{k}}=\left\lfloor\mathbf{C}\left(_{G}^{I} \hat{\hat{\mathbf{q}}}_{k}\right)\left(^{G} \hat{\mathbf{p}}_{f}-^{G} \hat{\mathbf{p}}_{k}\right) \times\right\rfloor,\mathbf{H}_{\mathbf{p}_{k}}=-\mathbf{C}\left(_{G}^{I} \hat{\overline{\mathbf{q}}}_{k}\right) Hθk=C(GIq^^k)(Gp^fGp^k)×,Hpk=C(GIq^k)
一旦测量值雅克比矩阵和剩余值被计算出来,我们可得到标准的EKF等式去更新状态估计和误差协方差。

3状态估计

从上一节可以清楚地看出视觉惯性导航系统(VINS)的核心是状态估计算法(看式子2和12),这个算法的目的是最好地融合IMUCeliaing之和摄像头图像去提供传感器平台的运动跟踪。在这一章节,我们通过估计引擎关注回顾一下VINS文献。

3.1基于滤波器/基于优化的估计

Mourikis和Roumeliotis 发展了一个最早之一且成功的VINS算法,被称为多估计限制卡尔曼过滤器(MSCKF),后来用于航天器下降与着陆和快速无人机自主飞机的应用。这个方法使用基于四元数惯性动态来进行状态传播,并与有效的EKF更新紧密耦合。具体地说,不是将通过摄像头图像检测和跟踪到的特征加到状态向量上,而是将它们的视觉方位测量值投影到特征雅可比矩阵的零空间上(即线性边缘化),因此保留在状态向量中仅与随机克隆相机姿态相关的运动约束。同时通过消除共同估计产生的潜在的成百上千个点特性来降低计算成本,这个操作避免了以后特征非线性测量的重复线性化,产生近似值会恶化它的性能。
标准的MSCKF最近在不同的方向上已经被扩展和提升。特别是利用我们先前工作中提出的基于观察性的方法,已经开发了不同的可观测性约束(OC)-MSCKF算法可以通过强制线性化VINS的正确可观测性来提高滤波器的一致性。一个MSCKF的平方根逆版本,即平方根逆滑动窗口滤波器(SR-ISWF),以提高计算效率和数值稳定性,使VINS能够在资源有限的移动设备上运行,同时不牺牲估计精度。我们介绍了最佳状态约束(OSC)-EKF,这个方法首先在滑动窗口最佳地提取关于相对相机姿态的视觉测量中包含的所有信息,然后在EKF更新中使用的相关姿态测量值。(右)不变的卡尔曼滤波器被用来提高滤波器的一致性,同时(迭代)卡尔曼也被用在机器人公式上的VINS。另一方面,在EKF框架中,除了点之外的不同的几何特征也可以用来提高VINS的性能,例如,线特征可以用在[64,65,66,67,68参考文献]中,面特征可以用在[69,70,71,72参考文献]中。另外,基于MSCKF的VINS也被扩展去使用不精确时间同步的滚动快门相机——RGBD相机、多目相机和多IMU。当基于滤波器的VINS显示出高精度的状态估计,它们也在理论上忍受一个限制:非线性测量值在初始化之前一定要有一次线性化,这可能会给估计器带来大的线性误差和降低性能。
相反的是,批优化方法在一组测量数据上解决了一个非线性最小二乘问题(集束调整或BA),允许通过再线性化降低误差,但计算成本较高。Indelman使用元素图去展现VINS的问题,然后用类推法逐步求解。为了在应用于VINS时实现恒定的处理时间,通常将近期状态的有界大小滑动窗口视为有效的优化变量,同时边缘化过去的状态和测量值。特别的是,Leutenegger提出了一个基于关键帧的优化方法(OKVIS),其中一组无序列过去的相机姿态和一系列最近的惯性状态,与惯性测量值相关联,被用于非线性优化已进行精准的轨迹估计。Qin等人最近提出了一个基于优化的单目SLAM,它可以在实时包含回环检测,而我们最近的VINS可以在线性复杂度的单个线程中有效利用回环检测。

3.2传感器的紧耦合和松耦合

有一些对于VINS去融合视觉和惯性测量值的方案可以广阔地分类为紧耦合和松耦合。具体地说,松耦合融合在滤波或基于优化的估计中,分别处理视觉和惯性测量,推断出各自的运动约束,然后融合这些约束。虽然该方法具有较高的计算效率,但视觉约束和惯性约束的解耦会导致信息丢失。相反地,紧耦合融合在一个过程中直接融合视觉和惯性测量值,因此能够达到更高的精度。

3.3 VIO和SLAM

通过联合估计传感器平台的定位和周围环境中的特征,SLAM估计其可以很容易地合并回环检测约束,从而建立有界的定位误差,这在国球的三十年吸引了重要的研究工作。VINS可以被当成一个SLAM的实例(使用特别的视觉和惯性传感器),并广泛包含视觉惯性SLAM(VI-SLAM)和视觉惯性里程计(VIO)。前者联合估计状态向量的特征位置和相机/IMU的姿态,后者不包括状态的特征但依然利用视觉测量值去提升相机和IMU姿态的运动约束。一般来说,通过执行建图(从而实现回环检测),VI-SLAM可以从特征图和可能的回环检测中得到更好的精度,但同时比VIO带来更高的计算复杂度,尽管已经提出了不同的方法来解决这个问题。但是,VIO估计器本质上是里程计(航迹推算)方法,它的定位误差可能会无限制地增加除非有一些全局信息(GPS或者是先验地图)或者是之前地址约束被使用(如回环检测)。很多方法利用来自不同关键帧特征观察来移植轨迹漂移。大多数有双线程系统,优化一个“局部”关键帧的小窗口,并在短期内限制漂移,而后台进程优化一个长期稀疏位形图,以实现长期一致性。例如,VINS-Mono在局部化床和全局批量优化中使用回环检测约束。具体地说,在局部优化中,从关键帧的特征观察提供了隐式回环约束,同时通过假设关键帧姿态是完美的(从而在优化中去除它们)这个问题是小的。
特别的,是否在VINS执行回环检测或是通过建图和位置识别是VIO和SLAM的关键区别之一。虽然利用闭环检测信息来纠正有界错误对VINS性能至关重要,但由于无法保持计算效率而无法作出不一致的假设(例如将关键帧姿势视为真,或者重要信息),因此具有挑战性。为了达到这个目的,一个混合的估计其被提出:使用MSCKF去执行实时局部估计,然后再回环检测中出发全局BA。这允许以一致的方式重新初始化和包含循环闭包约束,同时需要大量额外的开销时间,在此期间过滤器等待BA完成。最近,Lynen提出了一种大规模基于地图的VINS,该方案在之前的地图中使用包含特征位置的压缩先验地图,Lynen开发了一个大规模的基于地图的VINS,它使用一个压缩的包含特征位置及其不确定性的先验地图,并使用先验地图中的特征匹配来约束全局估计。DuToit使用了Schmidt KF的想法并提出了一种Cholesky-Schmidt EKF,但是它使用了完全不确定性的先验地图和放松了映射特征和当前状态变量之间的所有关系。同时我们最新的Schmidt-MSCKF将回环检测集成在一个线程里。此外,最近点线VIO将被边缘化的关键点的3D位置视为循环闭合的“真”,这可能会导致不一致。

3.4 直接/间接的视觉处理

对于任何一个VINS来说视觉处理管道是一个重点成分之一,负责将密集的图像数据转换为运动约束,并将其纳入估计问题中,其算法根据使用的视觉残差模型可分为直接算法和间接算法。间接法被视为经典技术,它在环境中解压和跟踪点特征,同时在估计时使用几何投影约束。现在一个最先进的例子就是间接视觉SLAM:ORB_SLAM2,这个使用3D特征点对应信息对相机姿态进行凸图优化。相反,直接法在公式中利用原始像素强度(灰度)并允许包含更大比例的可用图像信息。LSD-SLAM是一个最先进的直接法视觉SLAM例子,它基于最小化其强度误差来优化相机关键帧对之间的变换。这个方法也优化一个单独的且包含关键帧约束的图来允许合并高信息量的回环检测,以纠正漂移过长的轨迹。这个工作后来从单目相机被拓展成双目摄像头、立体摄像头来体高精度。其他流行的直接发包含[118]和[119],这两种方法以紧耦合的方式,估计关键帧的深度,并提供低漂移的结果。直接方法在VINS上的应用最近受到了关注,因为即使在低纹理环境中,它们也能够鲁棒跟踪动态运动。举个例子,Bloesch使用了一个基于补丁的直接发去提供迭代EKF的更新。Usenko引入了一种基于离散余积分和直接图像对齐的滑动窗口VINS。Ling和Eckenhoff为了动态运动估计将图像对齐和不同的IMU预积分整合在一起。由于图像光度一致性假设,直接图像对齐需要良好的初始猜测和较高的帧率,而间接视觉跟踪在提取和匹配特征时需要额外的计算资源。然而, 由于间接方法的成熟和鲁棒,使其更加广泛地被使用在实际的应用中,但直接法在无纹理的环境下有更大的潜力。

3.5惯性预积分

Lupton和Sukkarieh首先提出IMU预积分,是标准惯性测量积分的有效替代方案,它在局部参照帧中形成惯性测量动力学的离散积分,因此避免在每一次优化步骤中重新集成状态动态。由于这解决了计算复杂的问题,但这个方法由于在方向表示中使用欧拉角而有奇异性。为了提高预积分的稳定性,在[29,34]中引入一种李群表示,它在SO(3)李群上呈现了一个无奇异性的方向表示,将IMU预积分结合到基于图的VINS中。
Shen以连续的形式引入预积分,但他们仍不提供封闭形式的解决方案的情况下对测量动态进行离散采样,这从连续时间的角度在预积分理论的理论完整性上留下了显着的空隙。与先前方法中使用与积分测量和协方差计算的离散近似值相比,在我们前线的工作中,我们得到了测量和协方差预积分等式闭合形式解,并标明了这些解决方法提升了精度且超越了离散方法,特别是在高度动态运动的情况下。

3.6状态初始化

提供精确初始状态估计的鲁棒、快速初始化对于引导实时VINS估计器至关重要,它通常以线性闭合形式求解。具体来说,Martinelli引入了一种闭合形式的解决方法来解决单目视觉惯性初始化问题,后来又扩展到了包括陀螺仪偏差校准以及合作方案的情况。由于这些方法依赖于长时间内IMU测量值的双重积分,因此无法对惯性积分的不确定性进行建模。Faessler在松耦合估计框架中提出了一种基于SVO的重初始化和失败恢复算法,同时需要一个额外的向下的距离传感器来恢复计量尺度。Mur-Artal和Tardós提出了一种基于ORB_SLAM的高延时(约10秒)初始化程序,利用ORB_SLAM的一组关键帧,利用视觉惯性全BA计算初始化比例、速度和IMU偏差。在[7,84]中,最近提出了一种用于无噪声情况的线性方法,利用短期IMU(陀螺仪)预积分获得的相对旋转,但没有对陀螺仪偏差进行建模,这在现实世界中可能是不可靠的,特别是当观察到远处的视觉特征时。

4传感器标定

在高精度从不同的传感器中融合测量值时,高精度地确定空间和时间传感器的标定参数至关重要。具体地说,我们应该精确地知道相机和IMU刚体转换,这样才可以正确地融合从测量中解压出来的运动信息。另外,由于不适合的硬件触发、传输延时和时钟同步错误,每个传感器的时间戳传感数据可能有矛盾,因此,在视觉和惯性测量之间可能发生时间轴偏差(时间偏移),这最终将导致不稳定或不准确的状态估计。重要的是这些时间偏移量也应该校准。空间和/或时间参数的传感器标定问题一直是VINS研究的热点。例如,Mirzaei和Roumeliotis提出了摄像头和IMU的基于EKF的空间标定。对于标定参数的非线性观察分析显示出在给定随机运动的情况下这些参数是可观测的。类似地,Jones和Soatto基于无法区分的轨迹分析检查了相机和IMU空间标定的可识别性,并在嵌入式平台开发了一个基于滤波器的在线校准。Kelly和Sukhatme采用类icp的匹配方法对摄像机和IMU的旋转曲线进行对齐,解决了相机和IMU之间刚体转换的问题。

很多人的调查关注离线的处理,往往需要额外的标定辅助(基准信标)。特别是一个最先进的方法之一:Kalibr标定工具箱,这个工具箱使用传感器轨迹的连续时间偏差函数表示以批量方式标定一个多传感器系统的外部和内部参数。由于这种b样条表示方法可以直接计算出预测的局部角速度和局部线性加速度,因此预期惯性读数和测量惯性读数之间的差异在批量优化公式中被当成误差。离线标定的一个缺点是每次重新配置传感器套件时都必须执行离线校准。举个例子,如果传感器被移除进行维修然后装回来,放置误差会导致较差的性能,需要时间密集型的重新校准。

相比之下,在线校准方法在传感器套件的每次操作过程中估计校准参数,从而使它们在此类场景中更加健壮和易于使用。Kim通过将惯性读数从IMU帧转到第二帧而重新阐述了IMU预积分。这允许IMUs和其他传感器的标定,但是不包括短暂的标定,并且也依赖于陀螺仪测量的角加速度计算。Li和Mourikis在移动设备上使用使用的滤波器框架中同时校准单个相机和IMU之间的空间和时间外参来导航,后来扩展到包括相机和IMU的内参。Qin和Shen在他们之前急于批量单目VINS的工作上,通过在图像平面插入特征位置来包括相机和IMU之间的时间偏移。Schneider利用最丰富的动作提出了可观察性的在线校准。虽然我们最近也分析了时空校准的简并运动,但尚未完全理解如何对内在函数进行最优建模并同时校准它们与外在函数。

5可观性分析

系统可观察性在一致性状态估计的设计中很重要,它检验了现有测量数据所提供的信息是否足以不模糊地对状态/参数进行估计。当系统可观察时,可观测矩阵是可逆的,这也与Fisher信息(或协方差)矩阵密切相关。由于这个矩阵描述了测量中可用的信息,通过研究它的零空间,我们可以了解状态空间中估计器应该沿着哪个方向获取信息。在我们之前的工作[46,47,48,52,146,149,150],我们是第一个为了机器人定位问题设计可视化约束(OC)一致性估计器。从那时起,研究人员对VINS的可观测性分析进行了大量的研究。

特别是利用不同的非线性系统分析技术,对VINS的非线性可观测性分析进行了研究。例如,Jones和Soatto,Hernandez从可观察的视角检验了系统无法区别的轨迹。通过采用连续对称的概念,如[155],Martinelli分析推导了VINS的闭形式解,发现IMU偏差、三维速度、全局翻滚角和俯仰角是可以观测到的。他还研究了退化运动,最小可用的传感器,协同VIO和位置输入对系统可观测性的影响。基于李导数和可观测矩阵秩测试,Hesch分析表明,单目VINS有4个不可观察的方向,对应于全局偏航和外感受传感器的全局位置。Guo和Roumeliotis把这个方法扩展到RGBD相机辅助INS,如果点和面测量值都可用,则保留相同的无法观察的方向。类似的方法,在[74,129,160],对IMU-相机(单目、RGBD)标定的可观察性进行分析研究,显示出IMU和相机的外参转移在给定一般运动下是可以观测到的。另外,在[161,162],具有来自水平平面的向下看的相机测量点特征的系统可显示出具有传感器的可观察的全局z位置。

由于VINS估计器通常建立在线性系统上,因此对线性化的VINS进行可观测性分析显得尤为重要。特别地,在时间间隔[ k o , k k_o,k ko,k]上线性化VINS系统的可观测性矩阵具有理想地跨越四个方向的零空间(不可观察的子空间):
视觉惯性导航系统综述_第3张图片
注意,N的第一个快乐对应全局平移,第二个块列对应重力矢量的全局旋转。当为VINS设计一个非线性估计器时,我们希望估计器所使用的系统模型具有由这些方向张成的不可观测子空间。但是,像[19,38,39,40,51]这种保准EKF不是这种情况。特别是标准的EKF线性系统,在当前状态估计下对系统和测量函数进行线性化,其不可观测子空间由四维变为三维。这意味着过滤器从可用的度量中获得不存在的信息,从而导致不一致。为了解决这个问题,第一次估计雅克比矩阵的想法被采用来提高MSCKF的一致性,并且OC方法被用于开发OC-VINS。我们最近研究机器人VIO(R-VIO)保留了与线性化点无关的可观察属性。

6讨论和总结

由于惯性和视觉传感器变得无处不在,视觉惯性导航系统(VINS)在过去的十年间吸引了重要的研究工作和见证了大的进步,在实践中培养越来越多的创新应用。作为一个众所周知的SLAM问题的特殊例子,VINS的研究人员已经在SLAM的基础上迅速建立了一个丰富的文献体系。鉴于该领域发表的论文越来越多,跟上最新技术水平变得更加困难(特别是对于从业者而言)。然而,由于特定传感器特性,不了解文献中现有方法的优缺点的情况下从头开发VINS算法并非易事(每种方法都有自己的特定焦点,并且不一定能解释VINS评估的所有方面)。所有这些都激励我们对VINS进行回顾,据我们所知,遗憾的是关于VINS的综述在现有文献中缺乏,因此对于正在研究这个问题的研究人员/工程师来说应该是一个有用的参考。在我们之前在这一领域所做的大量工作的基础上,我们致力于通过关注构建VINS算法的关键方面,包括状态估计、传感器校准和可观测性分析,使本文简洁而完整。
虽然VINS在过去十年取得了重大进展,但仍有许多挑战有待解决,下面我们仅列出一些可供讨论的问题:
· 持续的定位:虽然现在的VINS能够提供精准的3D运动跟踪,但是仅限于在小范围友好的环境下,它们在长时间、大规模、安全关键、部署下不够鲁棒性,例如自动驾驶。部分原因是原因限制。因此,即使在极具挑战性的条件下(如光线和运动不佳),也需要能够持续使用VINS,例如:通过高效集成回环检测或者是建立和利用新地图。
· 语义定位和建图:虽然几何特征如点、线和面是现在的VINS系统定位主要使用的,但这些手工特征可能不适合导航,通过利用最近的深度学习的进步,能够学习VINS的最佳特性是非常重要的。此外,一些最近的研究工作也尝试去赋予VINS环境下的语义理解能力这一领域研究很少,潜力很大。
· 高纬度目标跟踪:当在动态复杂环境下导航时,除了高精度定位外,实时检测、表示和跟踪同时存在于同一空间的运动目标也是十分必要的,例如,自动导航中的3D目标跟踪。
· 分布合作的VINS:虽然合作VINS已经在[126,173]初步地研究,但是对于发展实时分布式VINS仍然是一个挑战,例如对于众包业务。最近合作建图的工作[174,175]可能会对这个问题如何解决提供一些启示。
· 不同辅助传感器的扩展:在很多应用中光学相机被认为是INS的理想辅助源,其他辅助传感器可能更适合某些环境和运动,例如,声呐可能适合用在水下;低成本的轻型激光雷达可能在低光条件下环境中工作得更好;事件相继可能更好地捕获动态运动。沿着这个方向,我们应该深入研究VINS的扩展,为手头的应用程序使用不同的辅助源。

你可能感兴趣的:(paper,VIO,VINS,SLAM,Paper)