Skip to content
ZUXTUO edited this page May 21, 2026 · 4 revisions

Android_ORB-SLAM2s

欢迎来到 Android_ORB-SLAM2s 的官方文档。本项目是一个面向 Android 平台的高性能、轻量化同步定位与地图构建(SLAM)系统,深度整合了增强现实(AR)能力。

关键特性: 单目 6DoF 跟踪 | 稀疏地图重建 | 平面检测 | 地图持久化 | 异步重定位 | 多地图管理


文档目录

项目概述、核心功能、技术规格与发展愿景。

三层系统架构详解、数据处理管道、核心状态机、多地图管理、AR 工作流、操作指南。

视觉里程计与位姿跟踪、局部建图与 BA、回环检测与 Sim3、平面检测算法。

ORB 特征提取深度优化、SIMD 加速、内存优化、编译期优化、Profiler 工具。

致谢原作者、学术引用规范、开源许可证说明。


关于项目

本项目在经典的 ORB-SLAM2 框架基础上进行了深度改造与优化,从算法理论到工程落地提供了完整的移动端空间计算参考。项目始于 2025 年 8 月,历经多个大版本的迭代,当前已发展成为融合 SLAM、多地图管理、异步重定位、AR 平面检测、Web 远程访问等多项功能的综合性平台。

核心特点:

  • 纯单目方案: 仅依赖手机摄像头,无需深度传感器或 LiDAR
  • 移动端极致优化: 半分辨率处理、SIMD 加速、编译期优化、内存池预分配
  • 地图持久化: 自定义二进制格式 (.map) 保存与加载,支持一次建图多次定位
  • 异步重定位: 后台线程持续运行全局重定位,实现坐标系无缝对齐
  • 多地图支持: 加载多个独立地图,支持动态切换与增量追加
  • AR 场景恢复: 平面与虚拟物体信息独立保存,重定位后自动恢复
  • 远程访问: 内置 Web 服务器,支持浏览器远程使用 SLAM

快速开始

请查阅 系统架构与操作 页面了解启动与初始化流程。

项目结构

Android_ORB-SLAM2s/
├── app/                    # 主应用模块 (Java UI + OpenGL 渲染)
│   └── src/main/java/com/orb/slam2s/
│       ├── ui/             # Activity 与相机视图
│       ├── rendering/      # OpenGL ES 2.0 渲染管线
│       ├── server/         # 内置 Web 服务器
│       ├── sensors/        # IMU/方向传感器
│       ├── utils/          # 工具类
│       └── compat/         # 设备兼容性处理
├── VtonaxAR/               # 核心算法模块 (所有 C++ 代码)
│   └── src/main/
│       ├── cpp/
│       │   ├── native-lib.cpp    # JNI 桥接层
│       │   ├── include/          # SLAM 核心头文件
│       │   ├── src/              # SLAM 核心实现
│       │   ├── Thirdparty/       # g2o, DBoW2, Eigen
│       │   ├── profiler/         # 性能分析器
│       │   ├── Plane.cpp/.h      # 平面检测
│       │   ├── Matrix.cpp/.h     # 矩阵运算
│       │   ├── UIUtils.cpp/.h    # OpenGL 绘制工具
│       │   └── 3dof.cpp          # 3DoF 跟踪库
│       └── java/                 # JNI 声明与传感器
└── OpenCVLibrary/          # OpenCV Android SDK
ORB-SLAM2s Girl Image