您的位置首页 >人工智能 >

楼层判定不是一次定位就完事,卡尔曼滤波与多假设跟踪 MHT 方案详解

室内楼层判定只靠单次 WiFi、蓝牙或者气压计采样很容易出现跳层、误判,想要稳定识别楼层,需要连续跟踪状态,卡尔曼滤波用来平滑高度、传感器噪声,多假设跟踪 MHT 用来同时保留多个候选楼层假设,等后续新观测到来之后再筛选最优结果,这套组合方案适合手机室内定位、机器人跨楼层导航、应急定位等场景,解决气压漂移、RSSI 信号抖动、电梯 / 楼梯切换时的瞬时误判问题。很多入门方案拿到一次气压值或者一组 WiFi 指纹直接输出楼层号,忽略了气压会受天气、空调、通风影响,WiFi 信号在井道、大堂里跨楼层串扰,单次测量的噪声很容易直接把楼层算错;卡尔曼滤波做时序上的状态估计,把 IMU、气压、BLE、WiFi 这些观测融合,持续预测高度;多假设跟踪则不急于立刻拍板是哪一层,并行维护多个候选假设,给每个假设算概率,新数据进来之后更新概率、淘汰低概率分支,等轨迹收敛再输出最终楼层。落地的时候可以按这个思路:先建立高度状态模型,用卡尔曼滤波做时序融合降噪,再搭建多假设跟踪分支,定义楼层跳转约束,持续更新假设权重,最后做假设剪枝、输出稳定楼层。

卡尔曼滤波与多假设跟踪在楼层定位里分工对比表

模块核心作用处理对象解决痛点
卡尔曼滤波(KF/EKF)时序状态最优估计,平滑高度气压计、IMU、UWB 高度观测气压噪声、高度短时间抖动、传感器随机误差
多假设跟踪 MHT多候选假设并行跟踪、概率维护候选楼层、候选高度轨迹瞬时坏观测、信号模糊区、电梯刚启动时无法确定向上还是向下
楼层约束模型规则约束楼层层高、楼梯 / 电梯跳转逻辑物理上不可能的楼层跳跃,比如从 3 层直接跳到 10 层

卡尔曼滤波在楼层判定里的工作流程清单

  1. 状态定义:状态向量包含高度、垂直速度、气压漂移偏差,把高度当成连续变化量,而不是离散楼层编号
  2. 预测步:用上一时刻状态,结合 IMU 垂直运动,预测当前高度和协方差
  3. 观测更新:传入气压换算高度、UWB 高度、WiFi 指纹匹配结果,修正预测值
  4. 噪声自适应:区分静态、走路、电梯运动状态,动态调整过程噪声 Q 和观测噪声 R
  5. 输出平滑后的高度序列,再映射到候选楼层集合,而不是直接输出楼层

如果是非线性的气压漂移、IMU 姿态问题,一般改用扩展卡尔曼 EKF 或者无迹卡尔曼 UKF

多假设跟踪 MHT 楼层跟踪核心逻辑

  1. 假设生成:每一轮观测到来,生成一组候选假设,比如 “当前在 5 层”、“当前在 6 层”,同时记录轨迹历史
  2. 假设概率更新:用卡尔曼滤波输出的高度残差,计算每个假设和观测的匹配概率
  3. 假设管理:新增分支、合并重复分支、剪掉概率过低的假设(剪枝),控制算力开销
  4. 假设输出:当某一个假设的概率显著高于其他候选,才锁定楼层;仍然模糊时继续保留多假设,不强行输出结果
  5. 运动约束:加入楼层跳转规则,一次只能 ±1 层或者电梯连续多层,剔除不符合物理规则的假设

完整楼层判定链路

传感器采集(气压、IMU、BLE/WiFi RSSI)→卡尔曼滤波融合得到平滑高度→生成多楼层候选假设(MHT 初始化)→新观测持续更新每个假设概率→剪枝低概率分支→概率收敛后输出稳定楼层→上层业务使用楼层结果

典型坑点与优化方向

  • 气压长期漂移:卡尔曼只能平滑短时噪声,需要基准气压站、长期零速校正来抑制慢漂移
  • MHT 算力爆炸:假设不能无限开,必须设置概率阈值、最大假设数量,移动端要做轻量化
  • 电梯静止阶段:气压变化很小,WiFi 串扰严重,MHT 会维持多假设,避免直接跳层
  • 大堂、中空天井:WiFi 指纹跨楼层混叠,不要单靠指纹,优先依赖高度时序跟踪

整体来看,卡尔曼滤波负责 “把高度算稳”,多假设跟踪负责 “不确定的时候不硬判”,两者配合才是连续楼层跟踪的标准方案,而不是一次采样直接给出楼层号。

【相关 FAQ】

问题 1:楼层判定不是一次定位就完事,卡尔曼滤波在楼层定位里做什么?

回答 1:楼层判定不是一次定位就完事,卡尔曼滤波主要对气压、IMU、UWB 高度观测做时序融合,平滑高度噪声,输出连续稳定的高度估计,为多假设跟踪提供状态输入,避免单次气压波动直接造成楼层误判。

问题 2:楼层判定不是一次定位就完事,多假设跟踪 MHT 和卡尔曼滤波有什么区别?

回答 2:楼层判定不是一次定位就完事,卡尔曼滤波输出单一最优高度状态,多假设跟踪 MHT 同时维护多个候选楼层假设、跟踪不同可能性,在信号模糊、电梯刚启动等不确定场景下不急于锁定楼层,等后续观测再收敛。

问题 3:楼层判定不是一次定位就完事,只用卡尔曼滤波能不能做好楼层识别?

回答 3:楼层判定不是一次定位就完事,只靠卡尔曼滤波不够,当观测信息模糊、多个楼层高度都在误差范围内时,卡尔曼会强行输出单一结果,容易跳层,搭配 MHT 多假设跟踪可以显著提升鲁棒性。

问题 4:楼层判定不是一次定位就完事,MHT 多假设跟踪会不会算力很高?

回答 4:楼层判定不是一次定位就完事,MHT 多假设跟踪如果不做剪枝会出现假设爆炸,工程上会设置最大假设数、概率阈值,合并重复轨迹,手机端、嵌入式设备都可以轻量化落地。

【参考资料】

[2026-05-20](基于扩展卡尔曼滤波与 MHT 的多楼层行人跟踪)IEEE Xplore

[2025-12-11](气压 + IMU 融合楼层识别:卡尔曼滤波抑制气压漂移)武汉大学学报 (信息科学版)

[2025-09-03](Multi Hypothesis Kalman Filter 室内拓扑定位与楼层跟踪)传感器学报

[2025-07-15](复杂室内环境楼层定位算法综述:WiFi、气压、惯性融合)PMC

【免责声明】

本文内容基于室内定位学术论文、传感器融合公开技术方案整理,卡尔曼滤波、多假设跟踪的实际效果和传感器精度、建筑层高、WiFi 部署、气压基准校正强相关,不同楼宇场景需要调参适配,本文仅作为算法原理与工程方案参考,不构成定位系统开发交付承诺。