Python · 项目报告

amap-cvlab/ABot-Recon

Streaming 3D reconstruction from only video input: Revisiting Local Context for Long-Horizon Streaming 3D Reconstruction

已完成 打开 GitHub
A
363星标
23Fork
1Issue
Apache-2.0许可证

分析结果

项目分析

ABot-Recon 是高德/AMAP CVLab 开源的流式长序列视频 3D 重建项目,核心目标是仅从连续视频帧中进行相机轨迹估计和稠密点云重建。它采用固定 12 帧局部上下文,而不是维护随时间增长的长期记忆,通过预测当前帧点图和相邻帧相对位姿,再进行顺序位姿组合来生成全局轨迹与点云。项目提供推理代码、公开模型权重、Python API、命令行 Demo、可选回环检测以及 Hugging Face / ModelScope 在线 Demo,适合研究和工程原型验证。

适用领域 计算机视觉 / 三维重建 / SLAM / 视觉里程计 / 机器人感知 / 自动驾驶与高精地图 / AR/VR 空间感知 / 视频理解 / 点云生成与场景建模
配置难度 较高。该项目属于前沿学习式 3D 重建/SLAM 方向,使用门槛主要来自 CUDA/PyTorch 环境、GPU 资源、模型权重管理、视频序列预处理和点云/位姿结果解释。对于熟悉深度学习推理和三维视觉的开发者,可以较快运行 Demo;若要集成到机器人、自动驾驶或生产系统,需要进一步处理鲁棒性、实时性、尺度、坐标系、存储和可视化等工程问题。
商业价值 该项目对需要从普通视频中恢复空间结构的业务有较高探索价值,尤其适合高精地图预研、机器人建图、巡检场景重建、AR 空间理解、数字孪生素材生成和自动驾驶感知研究。其固定局部上下文设计有利于控制长序列推理成本,公开权重和 API 也降低了原型验证成本。不过,由于训练代码尚未完整发布、部署依赖较重、模型权重许可需单独确认,并且真实业务场景鲁棒性仍需验证,当前更适合作为研发验证、算法基线或内部 PoC,而不是直接无改造投入生产。
01

技术亮点

  • 仅依赖视频帧输入即可进行相机轨迹与点云重建,不要求额外深度传感器。
  • 固定 12 帧局部上下文,使模型状态内存和单帧计算量不随序列长度增长。
  • 支持长序列流式重建,适合在线/准在线处理场景。
  • 提供公开模型权重、推理代码、Python API、命令行 Demo 和在线 Demo,便于快速试用。
  • 可选回环检测模块可在存在重访区域时进行轨迹优化。
  • 支持输出 camera_poses、relative_poses、local_points、world_points、confidence 等结果,方便后续可视化和工程集成。
  • 提供 PLY 导出脚本,可生成 RGB 点云和 BEV 轨迹图。
  • Apache-2.0 源码许可证对工程使用较友好。
  • 在 README 报告中,Oxford Spires 位姿 ATE 为 4.35m,RPE-R 为 0.12°;KITTI-02 流式效率为 24.45 FPS。
02

目标用户

  • 从事 3D 重建、SLAM、视觉定位研究的算法工程师和研究人员
  • 需要从视频流恢复相机轨迹和场景点云的机器人/自动驾驶团队
  • 希望评估长序列流式重建模型的高校实验室和科研机构
  • 需要快速验证视频到点云原型的三维视觉开发者
  • 关注高德 CVLab、DUSt3R/Pi3/CroCo 相关工作的开发者
  • 具备 CUDA/PyTorch 环境配置能力的深度学习工程师
03

配置要求

  • 操作系统:官方发布配置面向 Linux。
  • Python:3.10 或更高版本,README 示例使用 Python 3.11。
  • 深度学习框架:PyTorch 2.5.1,torchvision 0.20.1。
  • CUDA:目标环境为 CUDA 12.1。
  • GPU:需要 NVIDIA GPU;官方验证环境为 A100,论文效率测试使用 H100。
  • 显存:README 中 KITTI-02 流式效率示例为 504×280 分辨率下约 6.71 GiB,不含输入存储;更高分辨率或更长序列可能需要更多显存/内存。
  • 模型权重:基础模型权重可从 Hugging Face 或 ModelScope 获取;离线推理需放置到 checkpoints/abot_recon.safetensors。
  • 输入格式:输入为图片序列,按文件名字典序排序,建议使用 000001.jpg、000002.jpg 这类零填充命名。
  • 可选加速:FlashInfer 用于 paged KV-cache;不可用时回退到 PyTorch SDPA。
  • 可选回环:需要 DINOv2-SALAD 相关 checkpoint,包括 dino_salad.ckpt 和 dinov2_vitb14_pretrain.pth。
04

适用场景

  • 从车载、机器人或手持相机视频中估计相机运动轨迹
  • 将连续图片序列转换为局部点图或全局点云
  • 长距离、长时间视频流的在线或准在线 3D 重建实验
  • 对比传统 SLAM、视觉里程计和学习式 3D 重建方法
  • 在有重复访问区域的序列上使用可选回环检测进行轨迹优化
  • 生成 PLY 点云并进行三维可视化或后处理
  • 作为研究基线用于 KITTI、Oxford Spires、7Scenes、TUM-Dynamic 等数据集评测
  • 构建面向机器人导航、地图构建或空间理解的上游感知模块
05

部署与配置

  • 准备 Linux 环境、NVIDIA GPU、CUDA 12.1 兼容驱动,建议使用 A100/H100 或同级别显存较大的 GPU。
  • 创建 Conda 环境:conda create -n abot-recon python=3.11 -y
  • 激活环境:conda activate abot-recon
  • 安装 PyTorch 2.5.1 和 torchvision 0.20.1:pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
  • 克隆仓库并在项目根目录执行:pip install -e .
  • 可选安装 FlashInfer 加速注意力 KV-cache:pip install flashinfer-python,然后运行 flashinfer show-config 检查配置。
  • 可选编译 cuRoPE 加速旋转位置编码:进入 abot_recon/modeling/pi3/models/curope,安装 ninja,并执行 python setup.py build_ext --inplace。
  • 首次运行时模型会自动从 Hugging Face 下载;离线使用时手动下载权重并放到 checkpoints/abot_recon.safetensors。
  • 运行最小 Demo:python demo.py --image-dir examples/images --output-dir outputs/demo --attention-backend auto --no-loop-closure。
  • 如需回环检测,执行 pip install -e ".[loop]" 并运行 python scripts/download_loop_assets.py --output-dir checkpoints/loop 下载额外资产。
06

风险与注意事项

  • 训练代码和训练配方尚未完全发布,当前更适合推理、复现和二次开发,不适合直接训练自定义模型。
  • 项目依赖较新的 PyTorch、CUDA 和可选底层加速库,环境配置门槛较高。
  • 主要面向高性能 NVIDIA GPU,普通消费级显卡在长序列或高分辨率输入下可能遇到显存和速度瓶颈。
  • 基础模型无持久长期记忆和默认无全局优化,长距离位姿组合仍可能产生累积漂移。
  • 回环检测是可选模块,需要额外模型资产和依赖,部署复杂度增加。
  • 模型权重有单独的 MODEL_LICENSE.md,商业使用前需要单独确认权重许可条款,而不仅是源码 Apache-2.0。
  • README 中的性能数据来自特定数据集和硬件,实际业务视频、低纹理场景、动态物体、多曝光变化下效果需自行验证。
  • 评测协议位于 eval 分支,完整复现实验需要切换分支并准备多个公开数据集和第三方 checkpoint。
  • 论文和项目时间标注为 2026 年,生态成熟度、社区案例和长期维护情况仍需观察。

历史记录

热榜历史快照

2026-09-02 第26名 新收录 · github_search