Stella-VSLAM
社区 2021 · 论文
一句话总结 — OpenVSLAM 因许可证问题重启后的社区维护继承者,延续了一个模块化、库风格的视觉 SLAM 框架,具备一流的透视、鱼眼和等距柱状(全景)相机支持。
问题
OpenVSLAM(Sumikura 等,ACMMM 2019)因其独有的多相机模型支持而被广泛采用,但其部分代码被怀疑源自采用 GPLv3 许可证的 ORB-SLAM2,却未携带相应的许可证,于是原始仓库于 2020 年从 GitHub 上撤下。这使得这个广受欢迎、面向部署的 SLAM 库的用户失去了一个有维护的上游版本——对于使用鱼眼镜头的无人机应用以及使用 360 度相机的室内扫描而言尤为痛苦,因为没有其他积极维护的系统能填补这一空缺。stella-cv 社区以 Stella-VSLAM 的名义延续了这个项目,解决了许可证问题,使该框架能够继续被嵌入使用,包括在 GPL 义务是真实制约因素的商业场景中。
方法与架构
Stella-VSLAM 并非一个有论文支撑的研究系统,而是对 OpenVSLAM 设计的工程延续,其本身遵循 ORB-SLAM2 的三线程架构(跟踪、局部建图、回环检测),并被重构为一个可调用的库:
- 统一的相机模型抽象——一个通用的相机接口支持透视(针孔 + 径向-切向畸变)、鱼眼(Kannala-Brandt 等距投影)以及等距柱状(360 度)投影。下游的所有模块——特征提取、地图点三角化、光束法平差——都通过这一接口运行,无需修改。
- 具备模型感知处理的 ORB 特征——ORB 关键点驱动跟踪、建图和重定位;对于等距柱状输入,图像的处理方式使特征匹配和极线几何在球面上依然有效。
- 双目深度集成——在双目配置下,每个左图关键点通过与右图对应点的极线块匹配获得深度,遵循 ORB-SLAM2 的方式:
其中 是焦距, 是双目基线, 是视差。
- DBoW2 地点识别与回环检测——与 ORB-SLAM2 相同的词袋流水线,回环约束在单目模式下通过 优化验证,在度量(双目/RGB-D)模式下通过 优化验证。
- 部署工具——地图保存/加载功能,以及用于地图复用部署的纯定位模式,加上 ROS1/ROS2 封装(启动文件、TF2 集成)、改进的构建系统,以及社区持续进行的错误修复与重定位/地图管理改进。
实验结果
目前没有独立的评测论文;结果继承并复现自 OpenVSLAM。根据本路线图书的介绍:Stella-VSLAM 复现了 OpenVSLAM 在 EuRoC、KITTI 和 TUM RGB-D 基准上已发布的结果;在使用鱼眼输入的 EuRoC 上,其 ATE 与 ORB-SLAM3 的鱼眼模式相当;其等距柱状模式成功地用 Ricoh Theta 360 度相机对室内环境完成了建图,而标准透视 SLAM 在此场景下会失败。社区的基准测试报告确认了它与 OpenVSLAM 在数值上的一致性。在实践中,它已成为可嵌入、支持 360 度全景、且许可证清晰的基于特征 SLAM 库的默认推荐选择。
对SLAM的意义
Stella-VSLAM 是一个实用、持续维护的基于特征视觉 SLAM 入门选择,尤其适合需要 360 度或鱼眼相机支持、或希望将 SLAM 嵌入更大系统中的场景。它的起源故事也是 SLAM 社区从中吸取教训的一个警示案例:当研究代码流入产品时,开源许可(GPL 与宽松许可证之间的差异)是一个真实的工程约束。它在第 7 层中还会作为一个支持双目的系统再次出现。