-
-
Notifications
You must be signed in to change notification settings - Fork 3
Introduction
ZUXTUO edited this page May 21, 2026
·
3 revisions
Android_ORB-SLAM2s 是一个专为 Android 平台打造的轻量化空间计算与增强现实(AR)应用。本项目在经典的 ORB-SLAM2 框架基础上进行了深度改造与优化,旨在使用单目摄像头在移动端有限的计算资源下,实现鲁棒的 6DoF 轨迹跟踪、稀疏环境重建、实时平面检测以及多地图管理等功能。
本系统不仅仅是一个 SLAM 算法库,更是一个完整的空间计算解决方案,集成了地图持久化、异步重定位、多地图加载与切换、AR 场景恢复、远程 Web 访问等实用功能。
- 高精度定位: 基于李代数的位姿优化与光束法平差(BA),提供亚像素级的跟踪精度。
- 移动端极致优化: 半分辨率下采样(面积 1/4)、SIMD 指令集加速、编译期计算、内存预分配。
- 多地图管理: 支持同时加载多个独立地图,动态切换与增量追加,适用于大规模空间。
- 异步重定位: 独立的背景重定位线程,使用 BoW + EPnP + 平滑对齐算法实现坐标系无缝对齐。
- AR 平面检测: 基于 SVD 分解的平面拟合算法,支持虚拟物体的稳定放置与交互。
-
AR 场景持久化: 平面与虚拟物体的状态独立保存于
.arinfo文件,重定位后自动恢复。 - 地图元数据管理: 每张地图附带 JSON 元数据(关键帧数、地图点数、创建时间、文件大小等)。
- 远程 SLAM 访问: 内置 HTTPS Web 服务器,支持浏览器远程调用 SLAM 功能。
- 3DoF 独立模式: 当 SLAM 丢失或关闭时,可降级为 3DoF 方向跟踪,保持基本空间感知。
- SLAM 运行时开关: 支持运行中动态启用/禁用 SLAM,灵活管理功耗。
- 点云显示控制: 可随时切换绿色点云(全地图)和蓝色点云(当前跟踪)的显示。
- 支持平台: Android 7.0 (API Level 24) 及以上,推荐 Android 10+。
- CPU 架构: armeabi-v7a, arm64-v8a(NEON 强制启用)。
- 推荐硬件: Snapdragon 835 / Kirin 970 或更高性能处理器,至少 4GB RAM。
- Camera: 支持 Camera2 API 的后置摄像头。
| 层级 | 技术 | 用途 |
|---|---|---|
| 核心算法 | C++11 (OpenCV, Eigen, g2o, DBoW2) | SLAM 核心 |
| JNI 桥接 | C++ (JNI) | Java <-> C++ 互操作 |
| 应用层 | Java (Android SDK, CameraX) | UI 与相机控制 |
| 渲染层 | OpenGL ES 2.0/3.0 | AR 渲染与调试可视化 |
| 构建工具 | CMake 3.22.1 (NDK r26.3), Gradle (AGP 9.2.1) | 编译与打包 |
- compileSdk: 36 (Android 15)
- minSdk: 23 (Android 6.0) / 21 (VtonaxAR 模块)
- targetSdk: 37 (Android 16)
- NDK: r26.3
-
OpenCV: 4.x (预编译
.so)
当前空间计算领域的技术路线主要分为"本地方案"与"云端方案":
-
本地方案 (Local SLAM): 无需网络依赖,隐私安全性高,响应延迟极低(毫秒级)。作为基础定位单元,解决中小范围内的即时定位与建图需求。本项目目前专注于打磨极致的本地方案。
-
云端方案 (Cloud VPS): 大场景下,本地设备无法存储海量地图数据。未来将通过云端视觉定位系统(VPS)进行大范围空间校正。SLAM 提供连续平滑轨迹,VPS 提供绝对地理坐标校正。
发展愿景: 先打造鲁棒高效的 Android 本地 SLAM 系统,积累核心算法资产;未来通过标准化接口接入云端 VPS 服务,实现从"房间级"到"城市级"的空间计算能力跨越。
- 基于 ORB-SLAM2 的完整单目 SLAM 管道
- 地图持久化(二进制
.map格式) - AR 平面检测与虚拟物体放置
- AR 信息持久化(
.arinfo格式) - 多地图加载与切换
- 异步后台重定位(无缝地图融合)
- 动态分辨率适配(支持任意相机分辨率)
- SLAM 运行开关与点云显示控制
- 内置 Web 服务器(远程 SLAM 访问)
- 3DoF 独立跟踪模式
- 隐私协议与用户引导
- 设备兼容性处理(如 Rokid Glass 3)
- Ubuntu/Desktop 构建支持
- 性能分析器工具(Chrome Trace 格式)
- 稠密/半稠密地图重建
- 基于深度学习的特征点提升
- 多传感器融合(IMU + 视觉的紧耦合)
- 语义 SLAM(物体识别与场景理解)
- AR 云锚点(Cloud Anchor)支持
- 增强现实 (AR) 游戏与营销: 在真实桌面上放置虚拟角色、家具,实现虚实遮挡与交互。地图持久化支持同一场景多次体验。
- 室内导航与定位: 商场、博物馆、机场等 GPS 拒止环境下的手机端高精度导览。多地图切换支持不同楼层/区域。
- 低成本的机器人/无人机: 为扫地机器人、巡检无人机提供不需要昂贵激光雷达的视觉里程计方案。
- 远程巡检与协作: 通过内置 Web 服务器,远程浏览器即可使用 SLAM 功能,无需安装 APK。