本研究由荷兰特文特大学地理信息科学与地球观测学院(Faculty of Geo-Information Science and Earth Observation, ITC)地球观测科学系(Department of Earth Observation Science, EOS)的Siavash Hosseinyalamdary研究员独立完成,并于2018年4月24日发表在学术期刊《sensors》上。
一、 学术背景与研究目标
本研究的核心科学领域为传感器融合、惯性导航与深度学习,具体聚焦于全球导航卫星系统(Global Navigation Satellite System, GNSS)与惯性测量单元(Inertial Measurement Unit, IMU)的组合导航。研究旨在解决当前该领域面临的关键挑战:高效、精确地建模和消除IMU的复杂误差,以提升其在GNSS信号失效环境(如城市峡谷)下的独立定位性能。
研究背景基于以下现实问题:GNSS在开阔环境下可提供厘米级定位,但在城市高楼区信号易受遮挡,导致定位中断或精度下降。IMU作为一种不依赖外部信号的自主导航传感器,可提供连续的航位推算,但其定位精度会因传感器误差(如零偏、尺度因子误差、随机游走等)随时间迅速发散。这些误差源复杂、非线性和时变,且因传感器制造商、技术(如微机电系统,MEMS)甚至个体而异。传统的解决方案主要依赖于贝叶斯滤波器(如卡尔曼滤波及其扩展形式)进行GNSS/IMU数据融合,并通过预定义的误差模型(如将零偏建模为随机常数或一阶高斯-马尔可夫过程)来估计IMU误差。然而,这些预定义模型往往基于简化的统计假设,难以准确刻画真实IMU误差的非线性、时变及高度相关性,从而限制了融合性能的提升。
本研究提出了一个根本性的解决方案:深度卡尔曼滤波器(Deep Kalman Filter)。其核心目标是在集成GNSS与IMU传感器的同时,直接从观测数据中学习并建立IMU的误差模型,而非依赖任何预先定义的模型。这样,模型可以自适应地捕捉传感器特有的、非线性的误差动态,从而在GNSS可用时进行更精确的校准,并在GNSS不可用时提供更可靠的预测,最终实现更高精度的IMU定位。
二、 详细工作流程
本研究的工作流程可分为五个主要环节:理论基础构建、深度卡尔曼滤波框架设计、算法实现(含期望最大化与循环神经网络)、模型训练与实验验证。
1. 理论基础与深度卡尔曼滤波框架设计: 作者首先回顾了标准卡尔曼滤波的原理及其在处理IMU误差时的局限性,特别是对线性、高斯噪声和已知模型的依赖。为克服这些局限,研究在传统卡尔曼滤波的预测和更新两步之外,创新性地引入了第三步:建模步骤。
在深度卡尔曼滤波框架中,系统状态向量不仅依赖于前一时刻的状态,还通过一个隐向量(latent vector, ht) 建立联系。隐向量ht可以理解为编码了IMU复杂误差动态和潜在影响因素(如温度等未观测变量)的内部状态。其工作机制是:当前隐向量ht由一个函数φ根据过去一系列状态向量和隐向量(xt-1:t-T, ht-1:t-T)计算得出;随后,当前状态向量的一个“建模后”预测值(x+−t)通过另一个函数λ基于当前隐向量ht生成。这样,模型学习的目标就是找到最优的函数φ和λ(或其参数化表示),使得x+−t尽可能接近基于精确GNSS观测得到的“真实”后验状态估计x+t。
为了实际学习这些函数,研究将φ和λ构建为一个神经网络。具体结构为: * 隐层动态:ht = σ( Wxh x+t-1:t-T + Whh ht-1:t-T ),这是一个循环结构,其中Wxh和Whh是需要学习的权重矩阵,σ是非线性激活函数。 * 状态预测:x+−t = σ( Wxx ht ) + μt,其中Wxx是另一组需要学习的权重矩阵,μt是模型噪声。
这实质上将IMU误差建模问题转化为了一个时间序列预测问题:利用过去的状态序列预测当前的状态。
2. 算法实现与训练: 为了从数据中同时学习状态向量和隐向量(即模型参数),研究采用了期望最大化(Expectation-Maximization, EM)算法的思路。在E步,基于当前的模型猜测,利用卡尔曼滤波(结合GNSS观测)估计出更准确的状态向量x+t。在M步,固定估计出的状态序列,通过最小化能量函数E(Wh, Wxx) = 1⁄2 (x+−t - x+t)^2来更新模型参数(Wh, Wxx)。这个能量函数衡量了模型预测与“地面真值”(来自GNSS辅助卡尔曼滤波)之间的差异。通过梯度下降法迭代优化此能量函数,最终学习到IMU误差的动态模型。
研究进一步探讨了使用循环神经网络(Recurrent Neural Network, RNN) 及其改进变体长短期记忆网络(Long Short-Term Memory, LSTM) 来实现上述框架。简单的RNN存在梯度消失/爆炸问题,难以学习长时间依赖关系。因此,作者重点采用了LSTM,其输入门、遗忘门和输出门机制能够有效记忆和利用长序列历史信息,非常适合对具有时间相关性的IMU误差进行建模。
3. 具体实施与实验设置: * 数据与基准:研究选用公开的KITTI基准数据集中的第34号数据集进行验证。该数据集采集于2011年10月3日,时长7分46秒,轨迹长度超过1.7公里,包含10Hz同步采集的GPS(采用双频实时动态,RTK技术,定位精度优于10厘米)和IMU(OXTS RT 3003系统)数据。高精度的RTK-GPS定位结果被用作训练和评估的“地面真值”。 * 状态向量定义:在卡尔曼滤波部分,状态向量定义为误差状态,包含:位置误差(δp)、速度误差(δv)、姿态误差(δθ)、加速度计零偏(bacc)和陀螺仪零偏(bgyro)。系统模型采用标准惯性导航误差模型,并假设零偏服从一阶高斯-马尔可夫过程。 * 网络训练:将轨迹数据分为训练集和测试集。在训练阶段,当GNSS信号可用时,利用扩展卡尔曼滤波获得高精度的后验状态估计x+t,并将其作为目标值。深度卡尔曼滤波的建模部分(LSTM网络)以前一序列的状态估计x+t-1:t-T作为输入,学习预测当前状态x+−t,并通过最小化其与目标值x+t的误差来训练网络权重。网络采用单隐层LSTM结构,每个隐向量包含3000个节点,使用小批量学习(批量大小800),初始学习率为0.05。 * 测试与比较:在测试阶段,模拟GNSS信号缺失的情况。比较两种策略的定位误差:1) 传统扩展卡尔曼滤波:仅使用预定义的IMU误差模型进行预测;2) 深度扩展卡尔曼滤波:使用训练好的LSTM模型来预测IMU误差并进行修正。通过计算两种方法修正后的IMU位置与“地面真值”(此时仍用GNSS计算得出,但不参与滤波)之间的均方根误差(Root Mean Square Error, RMSE) 来评估性能。
三、 主要研究结果
实验结果清晰地展示了深度卡尔曼滤波方法的优越性及其演变过程。
1. 简单RNN的性能与局限: 研究首先使用简单的RNN进行IMU建模,并考察了不同输入序列长度(T=10, 20, 50)的影响。结果显示,在所有序列长度下,深度扩展卡尔曼滤波器在GNSS信号缺失的初期(如前几秒内),其定位RMSE均显著低于传统的扩展卡尔曼滤波器。较长的序列长度(T=50)由于利用了更多的历史信息,在初期表现出更好的性能。这证明从数据中学习误差模型的有效性。然而,随着GNSS信号缺失时间的延长,简单RNN的优势逐渐消失,两种方法的RMSE曲线最终趋于重合。这明确验证了简单RNN存在的梯度消失问题,使其无法有效学习并利用长时间的误差依赖关系,限制了其在长时GNSS拒止环境下的应用潜力。
2. LSTM模型的卓越表现: 当使用LSTM网络(序列长度T=10)替代简单RNN后,深度卡尔曼滤波器的性能得到了质的提升。结果显示,在整个20秒的测试时间段内,基于LSTM的深度扩展卡尔曼滤波器在绝大部分时间都优于传统的扩展卡尔曼滤波器。虽然存在个别短暂时刻传统方法略优,但深度方法的整体精度更高。定量结果表明,20秒内,深度扩展卡尔曼滤波器的总RMSE为0.0100米,而传统扩展卡尔曼滤波器的总RMSE为0.0114米。这意味着,通过学习得到的IMU误差模型,能够比预定义的统计模型更有效地补偿误差,从而在长时间无GNSS辅助的情况下,仍能维持更高的定位精度。
四、 研究结论与价值
本研究得出结论:深度卡尔曼滤波器通过引入一个基于深度学习的建模步骤,能够成功地从GNSS/IMU融合数据中学习IMU的复杂误差动态,而无需任何先验的误差模型假设。 采用LSTM网络实现的深度卡尔曼滤波器,有效克服了长期依赖问题,在GNSS信号长时间不可用时,其IMU定位精度显著优于依赖传统预定义误差模型的卡尔曼滤波器。
本研究的科学价值在于:开创性地将深度学习(特别是RNN/LSTM)与经典的状态估计理论(卡尔曼滤波)深度融合,为解决传感器误差建模这一传统难题提供了一条数据驱动的新途径。它突破了传统方法对模型线性、高斯和先验知识的限制,能够处理非线性、时变、高相关的复杂误差源。
其应用价值巨大:对于自动驾驶、移动测绘、机器人导航、室内定位等严重依赖GNSS/IMU组合导航的领域,该方法可以显著提升在GNSS信号受干扰或完全失效期间的导航系统可靠性与精度,增强系统在复杂城市环境中的鲁棒性。此外,该框架具有通用性,原则上可扩展至其他需要在线学习系统动态的多传感器融合场景。
五、 研究亮点
六、 其他有价值内容