LingBot-Map:蚂蚁旗下流式三维重建模型,普通摄像头实时重建,4600 Star
让机器人只靠普通摄像头就能看懂三维世界,这个开源项目有点猛。2025 年 VGGT 火得一塌糊涂,最近 DUSt3R、MASt3R-SLAM 也悄无声息地崛起了,看来 AI 3D 重建的时代真的要来了。
以前大家为了让机器人、自动驾驶车看懂周围的三维空间,要拿靠谱的深度数据,基本都装激光雷达配合深度相机,不过成本和体积有点让人头大。传统 SLAM 精度其实还凑合,但一遇到光线变化大、墙面没纹理这些情况就容易翻车。深度学习方案泛化能力很强,不过跑长序列的时候特别容易漂移,越跑越偏,误差越来越大。
最近刷到蚂蚁集团旗下的具身智能公司 Robbyant 开源了一个项目 LingBot-Map,貌似有了新的解决方案。
一句话说清楚:它是一个流式三维重建模型,只要用普通 RGB 摄像头,就能在视频采集过程中实时完成相机位姿估计和场景三维重建,推理速度约 20FPS。项目 4 月 15 日才在 GitHub 上线,10 天就突破了 4600 Star。
实际效果
以 ETH3D 数据集为例,LingBot-Map 的重建 F1 分数达到 98.98,第二名 Wint3R 只有 77.28,差距超过 21 个百分点。
在 Oxford Spires 数据集上,它的轨迹精度比之前最优的流式方法提升了 2.8 倍,甚至超过了一些双向离线方法。
更夸张的是长序列表现。3840 帧的序列,绝对轨迹误差(ATE)增长不到 0.7 米,而竞争对手的方法误差增长是它的 2-3 倍。它在超过 10000 帧的长序列上依然能保持近乎恒定的误差,这对于机器人长时间作业、自动驾驶长距离行驶都是关键能力。
三招核心技术
不用反复算,一次就出结果:相比传统 3D 重建方法需要迭代优化(先估计初始值然后反复调整,计算量大还容易卡在局部最优),LingBot-Map 的思路是输入视频帧直接输出相机位姿和深度图,中间没有任何迭代优化步骤。结果是在 518×378 分辨率下,它能稳定跑到 20.29FPS,显存占用只有 13.28GB。
一个普通摄像头就够了:以前做 3D 重建要配深度相机或者上激光雷达,前者近距离还行远距离精度下降,后者成本高体积大很多场景根本装不下。LingBot-Map 只需要一个普通 RGB 摄像头,你手机上的摄像头、几十块钱的 USB 摄像头都能用。
只记关键信息,轻装上阵:核心是一个叫 GCA 的机制,把流式上下文分解成三种互补类型。传统方法每帧要记住约 500 个信息点,跑久了内存爆炸;GCA 每帧只记 6 个关键信息,轻装上阵,跑再远也不会忘。上下文增长率降低了 80 倍,显存占用直接砍到原来的三分之一。
官方案例
项目自带了四个示例场景:
- 法院建筑:典型的建筑重建场景,挑战在于建筑外立面的几何细节、窗户的重复纹理以及天空区域的干扰。LingBot-Map 内置了一个 ONNX 天空分割模型,会自动过滤掉天空区域的点
- 校园环境:结构复杂、遮挡多、光照变化大,从视频中可以看到建筑的几何结构清晰,树木的轮廓也能大致还原
- 闭环轨迹:专门用来测试闭环能力,相机绕了一大圈又回到起点,就算没有专门做回环检测,LingBot-Map 也能靠紧凑的 token 记忆在跑了这么远之后把坐标系保持得特别一致,几乎没漂
- 户外大规模场景:Oxford Spires 数据集出了名的难搞——场景超大,光照变化还特别剧烈。LingBot-Map 在上面的绝对轨迹误差只有 6.42 米,比之前最强的流式方法足足提升了 2.8 倍
安装步骤
LingBot-Map 支持主流的 CUDA 环境。先要创建一个 Python 3.10 的环境:
conda create -n lingbot-map python=3.10 -y
conda activate lingbot-map
安装 PyTorch,注意指定版本:
pip install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu128
安装项目依赖:
pip install -e .
如果想用 FlashInfer 加速(强烈推荐),再加一条:
pip install --index-url https://pypi.org/simple flashinfer-python
模型权重从 HuggingFace 或 ModelScope 下载,项目提供了三个版本:
- lingbot-map-long:针对长序列和大场景优化,推荐使用
- lingbot-map:平衡型,兼顾短序列和长序列
- lingbot-map-stage1:第一阶段训练检查点
运行 Demo:
python demo.py --model_path /path/to/lingbot-map-long.pt --image_folder example/courthouse --mask_sky
运行后会在浏览器打开一个可视化界面,可以实时查看重建的点云。如果你的视频比较长超过 320 帧,建议加上关键帧间隔参数:
python demo.py --model_path /path/to/lingbot-map-long.pt \
--image_folder /your/images --keyframe_interval 2
这样可以减少 KV 缓存的内存占用,同时保持重建质量。
限制说明
论文主要针对静态场景,动态物体可能影响重建质量;默认训练使用 320 帧,更长序列需要关键帧策略;显存要求 12GB 以上,移动端部署还需要优化。
LingBot-Map 不是让传感器变得更贵,而是让普通摄像头也能干大事;没有让模型变得更复杂,而是让每帧只记关键信息,轻装上阵。
项目地址:https://github.com/Robbyant/lingbot-map