要理解机器人或自动驾驶汽车是如何知道自己所处位置的,请想象它在黑暗的房间里闭着眼睛行走,仅凭自身脚步的感觉和对经过墙壁的模糊记忆来辨别方向。这就是视觉惯性里程计(visual-inertial odometry)所面临的挑战,这项技术允许机器仅通过一个摄像头和一个运动传感器来绘制周围环境的地图并追踪其运动。摄像头充当眼睛,不断扫描世界中独特的兴趣点,比如桌角或路面的裂缝。随后,机器尝试在连续图像之间追踪这些点,根据这些点的位移来计算它移动了多远。几十年来,实现这一目标的常用方法是一种被称为 KLT 的方法,它的工作原理就像一双眼睛试图锁定一颗尘埃并逐帧跟随它。这种方法快速且高效,但有一个弱点:如果房间过于单调,或者摄像头移动得太快,那颗尘埃就会消失,导致机器迷失方向,在不知不觉中偏离航线。
上海交通大学的研究人员开发了一种名为 KLTNet 的新系统来解决这个问题。该系统不再只是盯着一个点并寄希望于它保持可见,而是在放大细节之前先进行更广泛的观察。它首先观察整个场景,以获取相机移动的大致概念,就像一个人在专注于特定物体之前,先扫视整个房间以确定方位一样。这种初步的、宏观的观察有助于系统即使在相机快速旋转或墙壁过于平滑、缺乏细节的情况下也能保持追踪。一旦系统对一个点应该在的位置有了大致了解,它就会利用包含原始起点、前一位置和当前位置的小图像块进行精确的微调。通过将原始起点固定作为参考,该系统防止了通常随时间累积的小误差破坏整个计算过程。
团队通过将这个新的追踪器接入机器人和无人机使用的现有导航系统来测试它。他们将其置于各种具有挑战性的环境中进行测试,包括传统系统经常失效的长距离、白墙空旷走廊,以及涉及快速、颠簸运动的序列。在这些测试中,新系统始终优于旧方法。在用于衡量机器人导航的标准基准测试中,这种新方法在一组测试中将总距离误差减少了 34%,在另一组测试中减少了 49%。或许最重要的一点是,该系统在纹理稀疏的走廊中保持了稳定性(而旧方法在此类环境下会发生显著漂移),同时在较简单的条件下表现得与旧方法一样出色。研究人员还教会了系统为它追踪的每个点分配一个置信度分数,使机器人能够信任那些看起来清晰的点,并忽略那些模糊或令人困惑的点。这种额外的判断层帮助机器人对其自身位置做出更好的决策。
这项工作的成功在于它能够将简单追踪的速度与更复杂的计算机视觉技术的鲁棒性结合起来,同时运行速度之快足以用于小型电池驱动设备。研究人员证明,他们的系统可以在只有一本小书大小的嵌入式计算机上实时运行,这证明了它不需要庞大且耗电的服务器即可运行。通过用这种新的混合方法取代旧的、脆弱的追踪方法,他们为机器提供了一种更可靠的观察世界的方式,确保机器能够在我们物理环境中的杂乱空间和空旷空间中都能找到自己的路。
技术摘要:KLTNet
问题陈述
基于特征的视觉惯性里程计(VIO)系统高度依赖稀疏特征跟踪来进行状态估计。经典的 Kanade–Lucas–Tomasi (KLT) 追踪器因其高效性和帧间准确性而被广泛使用。然而,KLT 主要依赖局部图像块,这使得它在低纹理环境或快速运动(此时局部上下文信息不足)的情况下容易失效。虽然近期的稠密光流方法(如 RAFT、SEA-RAFT)通过利用全图上下文提供了鲁棒的全局对应关系,但直接用稠密光流的稀疏采样来替换 KLT 会引入一个新的局限性:递归地链接独立估计的成对流(pairwise flows)会导致随时间累积微小的跟踪误差,从而降低长期里程计的精度。此外,现有的多帧学习系统(如 DROID-SLAM、DPVO)与它们的后端紧密耦合,难以作为现有基于 KLT 的 VIO 前端的即插即用替代方案进行集成。
方法论
作者提出了 KLTNet,一种轻量级、基于学习的、即插即用的稀疏特征追踪器,旨在替换现有 VIO 系统中的经典 KLT 追踪器。KLTNet 采用了一种由粗到精、由稠密到稀疏的架构,由三个主要部分组成:
1. 粗略稠密流初始化 (CoarseFlowNet)
为了解决在挑战性条件下局部图像块不可靠的问题,KLTNet 首先估计低分辨率的稠密光流,以捕捉全局运动线索。
- 架构: 该网络改编自 SEA-RAFT,处理降采样图像(1/4 分辨率)以降低计算成本。它利用特征提取网络(FEN)和上下文编码器网络(CEN)来构建代价体积(cost volume),并由一个轻量级 RNN 进行迭代优化。
- 功能: 它通过从稠密流场中提取稀疏流向量,为稀疏特征提供鲁棒的初始位置估计,作为后续精细化阶段的全局初始化。
2. 精细稀疏三元组图像块精细化 (TriPatchRefiner)
为了纠正从递归成对流传播中累积的误差并提高时间一致性,KLTNet 引入了一个包含固定参考图像块的精细化阶段。
- 三元组结构: 对于被追踪的特征,网络处理三个图像块三元组:
- X0 (参考): 在追踪初始化时提取的固定图像块。
- Xj−1 (前一帧): 来自前一帧的图像块。
- Xj (当前帧): 在当前帧粗略预测点周围提取的图像块。
- 机制: 与目标跟踪中参考点会更新不同,X0 在整个追踪生命周期内保持固定。这提供了一个稳定的锚点,用以约束累积漂移。网络对这些图像块和流先验进行编码,以回归精细偏移量 (Δfj) 和置信度权重矩阵 (Wj)。
3. 通过可微三角测量学习置信度权重
KLTNet 预测各向异性的置信度权重,以实现 VIO 估计器中的自适应观测加权。
- 监督: 网络并非仅依赖重投影损失,而是通过可微多视图三角测量进行监督。
- 过程: 网络预测一个 2D 特征位置和一个正定 2×2 权重矩阵。这些参数用于通过直接线性变换(DLT)进行 3D 点的三角测量,随后进行置信度加权的非线性精细化。
- 目标: 损失函数最小化三角测量误差,促使网络学习与多视图几何一致的权重。这使得 VIO 后端能够降低由于局部外观变化(如光照变化或视角偏移)导致的不可靠观测值的权重。
核心贡献
- KLTNet 追踪器: 一种独立的、即插即用的稀疏特征追踪器,结合了全局稠密流初始化与三元组图像块精细化。它在不要求对 VIO 系统进行大规模重构的前提下,提高了追踪的鲁棒性、准确性和时间一致性。
- 用于权重的可微三角测量: 引入了可微三角测量策略来学习各向异性的观测权重。这些权重为特征观测提供了方向性的置信度,从而使兼容的 VIO 估计器能够进行自适应加权。
- 集成与性能: 成功集成到 VINS-Mono 和 OpenVINS 中,证明了其在保持实时性能的同时,相比于经典 KLT 在里程计精度上有了显著提升。
实验结果
作者在多个公开基准测试(EuRoC、TUM-VI、Replica、KITTI-360)以及自收集的低纹理数据集上对 KLTNet 进行了评估。
- 特征追踪精度: 在 Replica 数据集上,KLTNet 在低误差阈值(1–3 像素)下,追踪精度始终高于经典 KLT 以及稀疏采样的 RAFT/SEA-RAFT。它还展示了比基准方法更慢的误差随时间累积速率。
- VIO 精度 (EuRoC & TUM-VI):
- 集成至 VINS-Mono 后,相比于经典 KLT,KLTNet 在 EuRoC 上的平均绝对轨迹误差(ATE)降低了 34%,在 TUM-VI 上降低了 49%。
- 集成至 OpenVINS 后,它在 EuRoC 上的 ATE 降低了 33%。
- 相比之下,仅仅将 KLT 替换为稀疏采样的 RAFT 或 SEA-RAFT 通常会导致性能下降或收益微乎其微,这凸显了精细化和固定参考机制的必要性。
- 鲁棒性:
- 低纹理环境: 在包含均匀白墙的自收集数据集上,KLTNet 保持了稳定的追踪,而经典 KLT 和其他方法(DM-VIO、DPVO)则出现了明显的漂移或失败。
- 户外/光照变化: 在 KITKI-360 和 UMA-VI(光照变化)上,KLTNet 实现了最低的相对平移和旋转误差,展示了强大的泛化能力。
- 效率: KLTNet 在 NVIDIA Jetson AGX Orin 嵌入式平台上实现了实时性能,且 GPU 显存消耗较低,验证了其在资源受限部署场景下的适用性。
意义与主张
本文声称 KLTNet 为经典 KLT 追踪器的局限性提供了一个切实可行的解决方案,且无需像端到端学习型 VIO 系统那样进行复杂的集成。通过将基于学习的前端与后端解耦,KLTNet 作为一个直接的、即插即用的替代品,在保留传统 VIO 系统基于追踪(track-based)接口的同时,增强了在挑战性场景(快速运动、低纹理)下的鲁棒性。作者强调,结合全局初始化、固定参考精细化以及几何监督的置信度权重,是实现稀疏特征追踪高精度和高时间一致性的关键。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。