Skip to content

Introduction

ZUXTUO edited this page May 21, 2026 · 3 revisions

项目介绍与愿景 (Project Introduction & Vision)

1. 项目概述 (Overview)

Android_ORB-SLAM2s 是一个专为 Android 平台打造的轻量化空间计算与增强现实(AR)应用。本项目在经典的 ORB-SLAM2 框架基础上进行了深度改造与优化,旨在使用单目摄像头在移动端有限的计算资源下,实现鲁棒的 6DoF 轨迹跟踪、稀疏环境重建、实时平面检测以及多地图管理等功能。

本系统不仅仅是一个 SLAM 算法库,更是一个完整的空间计算解决方案,集成了地图持久化、异步重定位、多地图加载与切换、AR 场景恢复、远程 Web 访问等实用功能。

核心能力 (Key Capabilities)

  • 高精度定位: 基于李代数的位姿优化与光束法平差(BA),提供亚像素级的跟踪精度。
  • 移动端极致优化: 半分辨率下采样(面积 1/4)、SIMD 指令集加速、编译期计算、内存预分配。
  • 多地图管理: 支持同时加载多个独立地图,动态切换与增量追加,适用于大规模空间。
  • 异步重定位: 独立的背景重定位线程,使用 BoW + EPnP + 平滑对齐算法实现坐标系无缝对齐。
  • AR 平面检测: 基于 SVD 分解的平面拟合算法,支持虚拟物体的稳定放置与交互。
  • AR 场景持久化: 平面与虚拟物体的状态独立保存于 .arinfo 文件,重定位后自动恢复。
  • 地图元数据管理: 每张地图附带 JSON 元数据(关键帧数、地图点数、创建时间、文件大小等)。
  • 远程 SLAM 访问: 内置 HTTPS Web 服务器,支持浏览器远程调用 SLAM 功能。
  • 3DoF 独立模式: 当 SLAM 丢失或关闭时,可降级为 3DoF 方向跟踪,保持基本空间感知。
  • SLAM 运行时开关: 支持运行中动态启用/禁用 SLAM,灵活管理功耗。
  • 点云显示控制: 可随时切换绿色点云(全地图)和蓝色点云(当前跟踪)的显示。

2. 技术规格 (Technical Specifications)

平台与硬件

  • 支持平台: 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)

3. 发展路线与愿景 (Roadmap & Vision)

技术定位:本地 SLAM 与云端 VPS 的协同

当前空间计算领域的技术路线主要分为"本地方案"与"云端方案":

  1. 本地方案 (Local SLAM): 无需网络依赖,隐私安全性高,响应延迟极低(毫秒级)。作为基础定位单元,解决中小范围内的即时定位与建图需求。本项目目前专注于打磨极致的本地方案。

  2. 云端方案 (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)支持

4. 适用场景 (Use Cases)

  • 增强现实 (AR) 游戏与营销: 在真实桌面上放置虚拟角色、家具,实现虚实遮挡与交互。地图持久化支持同一场景多次体验。
  • 室内导航与定位: 商场、博物馆、机场等 GPS 拒止环境下的手机端高精度导览。多地图切换支持不同楼层/区域。
  • 低成本的机器人/无人机: 为扫地机器人、巡检无人机提供不需要昂贵激光雷达的视觉里程计方案。
  • 远程巡检与协作: 通过内置 Web 服务器,远程浏览器即可使用 SLAM 功能,无需安装 APK。