☰
从一段视频重建三维世界:Every-Embodied LingBot-Map流式三维重建完整教程
2026/9/26 3:16:44 网站建设 项目流程

从一段视频重建三维世界:Every-Embodied LingBot-Map流式三维重建完整教程

【免费下载链接】every-embodied仅需Python基础,从0构建自己的具身智能机器人;从0逐步构建VLA/OpenVLA/SmolVLA/Pi0, 深入理解具身智能项目地址: https://gitcode.com/gh_mirrors/ev/every-embodied

Every-Embodied 是一个只需 Python 基础、从 0 构建具身智能机器人的开源教程项目。本篇教程聚焦其中的LingBot-Map 流式三维重建模块:输入一段连续视频,它就能边"看"边估计相机轨迹、逐帧深度和点云地图——不需要深度相机、不需要激光雷达。跟着本文,你也能用自己的手机视频快速重建出一个三维世界。

为什么值得学"视频流式三维重建"

传统三维重建(摄影测量、SfM)要先把整个场景拍完,再离线等待数小时;而机器人真正需要的是边走边建图:

  • 📹流式推理:视频逐帧输入,空间表示持续更新,不用等视频拍完再处理;
  • 🗺️直接产出可用几何:相机位姿 + 深度 + 点云/体素渲染视频,可作为 SLAM、导航、3DGS 的前端输入;
  • 🪶门槛低:一段普通单目视频即可,仓库自带官方示例,几分钟跑通。

小提示:LingBot-Map 的输出更接近"流式相机位姿 + 深度 + 点云/体素渲染",并不是一个可直接编辑的 3DGS 场景模型,两者的区别后文会讲。

下图是官方示例university(校园雪景连续行走镜头)流式推理逐步生成的点云地图关键帧:

快速上手:3 步跑通官方示例

  1. 建独立环境:建议单独建 mamba/conda 环境,安装 PyTorch 2.8.0 + CUDA 12.8,再pip install -e .并安装渲染依赖(完整命令见 03-LingBot-Map视频流式三维重建.md)。
  2. 下载权重:把长视频权重lingbot-map-long.pt放到checkpoints/目录(长视频、大场景优先用它)。
  3. 跑官方university场景:
python demo_render/batch_demo.py \ --input_folder example --scenes university \ --image_range 0:240:2 \ --output_folder outputs/official_university_scan \ --model_path checkpoints/lingbot-map-long.pt

常用参数速查:

参数作用首次运行建议
--image_range帧采样范围与步长0:240:2(约 120 帧)
--num_scale_frames尺度参考帧数4
--video_width / --video_height输出视频分辨率640 / 360
--use_sdpa注意力加速开启
--save_predictions保存中间预测结果开启

120 帧的 smoke test 推理速度约十几 FPS,并生成百万级点云/体素,速度会随 GPU 与分辨率变化。

扫描自己的环境:4 条拍摄技巧 🎬

拿到自己的视频后,重建质量一半取决于"怎么拍":

  1. 单场景连续移动:剪辑视频会瞬间切换视角,模型会把不连续的空间关系硬接在一起,产生漂移和破碎点云;
  2. 让相机有视差:可以转弯、环绕、轻微俯仰,但纯原地旋转或纯远景平移很难恢复稳定尺度;
  3. 减少纯天空占比:室外扫描时尽量压低天空占比,必要时启用 sky mask;
  4. 先短后长:先用 60~120 帧验证管线稳定,再逐步加长视频。

LingBot-Map 只需要单目 RGB 视频,不依赖深度相机的主动测距结构:

流式三维重建是怎么工作的

LingBot-Map 不孤立地处理每一帧,而是维护跨帧流式状态,把前面看到的内容作为后续帧的上下文,可以拆成三层能力:

层次做什么
视觉编码把每一帧图像转成视觉特征
时序聚合用流式状态保留历史帧信息,避免长视频重复计算
几何输出预测相机位姿、深度与世界点,再转成点云/体素渲染

其中"深度"是最核心的中间产物——每一帧都会得到一张对应的深度图,深度叠加相机位姿后就还原出了三维空间:

点云渲染 vs 3DGS:别搞混这两个概念

很多人第一反应是"这不就是 3D Gaussian Splatting 吗?"区别在于:

  • LingBot-Map(本文):流式输出几何估计 + 点云/体素渲染,可接近实时,产物是"可用于导航和检查的三维结构";
  • 3DGS:需要显式高斯参数优化或训练流程,产物是可交互渲染的高质量场景,见下图示意:

所以定位要清晰:LingBot-Map 回答的是"从机器人视角的视频流中持续恢复三维结构",3DGS 回答的是"把场景做成一张可编辑的高保真渲染地图",两者可以串联使用。

Web demo:上传视频,直接看点云

教程仓库内置了一个极简 Web 包装器 tools/lingbot_map_web_demo/,三步出结果:

  1. 克隆教程仓库获取 demo(git clone https://gitcode.com/gh_mirrors/ev/every-embodied);
  2. 用环境变量指向你的 LingBot-Map 项目、权重和 Python 解释器,然后运行python app.py;
  3. 浏览器打开127.0.0.1:7860,上传一段连续视频,页面即可展示原始视频 / 点云渲染 / 原视频与点云对照三段结果和执行日志。

下方动图左为点云渲染、右为原始视频,可以直观看到流式重建与拍摄轨迹的对应关系:

⚠️ 注意:该 Web demo 定位为教程展示与 smoke test,长视频推理占用显存和磁盘较多,不建议直接作为生产服务公开部署。

常见问题 FAQ

Q1:输出是"实时 3DGS"吗?不是。它是流式几何估计 + 点云/体素渲染,3DGS 还需要额外的高斯参数优化流程。

Q2:为什么剪辑视频重建效果差?重建依赖相邻帧的几何一致性,剪辑会造成空间关系突变,点云容易漂移、错位。

Q3:没有 CUDA 12.8 / 新架构 GPU 怎么办?若 CUDA kernel 或 CUDA 扩展编译失败,再考虑升级 CUDA Toolkit,并保证 PyTorch、驱动与依赖版本一致;smoke test 本身通常不受影响。

Q4:权重和大体积输出文件要提交到仓库吗?不建议。原始视频、权重和.npz预测文件放在本地数据目录或对象存储即可。

延伸阅读

  • 📘 完整复现教程(环境安装、CUDA 注意事项、论文与代码对应关系):04-具身场景的计算机视觉、3D重建/03-LingBot-Map视频流式三维重建.md
  • 🌐 Web demo 入口与部署说明:tools/lingbot_map_web_demo/README.md、tools/lingbot_map_web_demo/app.py
  • 👁️ 深度估计与 SAM 分割前置知识:04-具身场景的计算机视觉、3D重建/01-sam和深度估计.md
  • 🧭 把重建的地图用起来——导航算法入门:08-具身导航及VLN/01快速入门导航算法详解及实战/具身导航算法基本介绍.md

一段视频、一台带 GPU 的机器,就能让机器人"看见"三维世界——这就是流式三维重建的魅力,也是 Every-Embodied 具身智能学习路径中空间理解的关键一环。

【免费下载链接】every-embodied仅需Python基础,从0构建自己的具身智能机器人;从0逐步构建VLA/OpenVLA/SmolVLA/Pi0, 深入理解具身智能项目地址: https://gitcode.com/gh_mirrors/ev/every-embodied

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询