> ## Documentation Index
> Fetch the complete documentation index at: https://kensou.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapanything dissection

# MapAnything 解构 (MapAnything Dissection)

> **发布时间**: 2025-09 (arXiv v1) / 2026-01 (v2 revised) · 发表 **3DV 2026**
> **论文**: *MapAnything: Universal Feed-Forward Metric 3D Reconstruction* · [arXiv:2509.13414](https://arxiv.org/abs/2509.13414)
> **作者**: Nikhil Keetha (1st), Norman Müller, Johannes Schönberger, Lorenzo Porzi, Yuchen Zhang, Tobias Fischer, Arno Knapitsch, Duncan Zauss, Ethan Weber, Nelson Antunes, Jonathon Luiten, Manuel Lopez-Antequera, Samuel Rota Bulò, Christian Richardt, Deva Ramanan, Sebastian Scherer, Peter Kontschieder（共 17 位 · Meta + 合作团队）
> **核心定位**: feed-forward 3D 第一次**原生输出米制 (metric)** —— 通过 factored representation（depth maps + local ray maps + camera poses + **metric scale factor**），把"单次前向"扩展到 12+ 个 3D 重建任务（SfM / MVS / 单目度量深度 / 定位 / depth completion / 等）。

**Status:** v0.7 — 解构基于论文摘要 + Hugging Face model card + 项目页元数据。已确认开源（GitHub + HF），1B 参数，CC-BY-NC-4.0。详细 benchmark 数字、训练 dataset list、推理 latency 待维护者从论文正文补完后升 v1。
**TL;DR:** MapAnything 是 feed-forward 3D 谱系（DUSt3R → VGGT → VGGT-Ω → MapAnything）**第一个解决米制问题的成员**。它的关键架构动作 = **factored representation**：把 3D 重建拆成 (depth × local ray × pose × **metric scale factor**) 四件可独立监督但**联合一致**的输出。可选输入（intrinsics / pose / partial depth）让它在 calibrated 和 uncalibrated 设定下都跑得通。**对 aerial：这是 [`vggt_vs_drone_vio.md` §9](../../crossing/slam-vio-migration/vggt_vs_drone_vio.md) 预测的 "metric-aware feed-forward variant" 第一次落地 —— 但 streaming / IMU coupling / sub-10 ms latency 仍未解。**

**X-Ray.** VGGT 谱系（v1 → Ω）都把 3D 当一个 entangled 输出 —— 一个 transformer 出 pose + depth + pointmap，但这些输出**几何上 entangled 且非米制**（scale 模糊）。MapAnything 的关键洞见：**把 3D 重建分解成可独立监督的几何 primitives**（depth map / local ray map / camera pose / metric scale），再通过一个 transformer 共同预测。这样每个 primitive 可以从不同数据源监督（mono depth datasets / stereo / RGB-D / SfM / metric mapping），最终联合给出**米制的**全局一致 3D。对 spatial AI 工程师：**米制 feed-forward 3D 终于可用** —— 但要看清它没解决的：仍 batch-mode、仍没原生 IMU 耦合、仍是 ViT 类对运动模糊敏感。

## 📍 研究全景时间线

```
   2020      2023        2024        2025-03           2025-09             2026-01          2026-05         2027?
   NeRF ───► 3DGS ─────► DUSt3R ───► VGGT v1 ──────► MapAnything v1 ───► v2 revised ────► VGGT-Ω ───────► streaming
   per-scene per-scene   2-view FF   CVPR best       arXiv 2509.13414    metric solved!    1 head +        + metric +
                                     (N-view, 4 head,                    factored repr,    register attn   on-edge?
                                      un-metric)                          12+ tasks ★      30% memory,
                                                                                            动态原生
   └─ offline ─────► forward ────────────► metric + universal ────────► efficient + scale ─────────►
                                          (MapAnything 的押注)            (Ω 的押注)
```

MapAnything 与 VGGT-Ω **是 Meta 2025-2026 同期的两条并行 feed-forward 3D 路线**：

* **MapAnything 解 metric**（factored repr 是关键）
* **VGGT-Ω 解 efficiency + dynamic**（register attn 是关键）

两者**互补不竞争**。下一代很可能是 "metric + register attn + streaming" 三件一起。

***

## 1 · 架构（factored representation 是核心）

### 1.1 Factored 3D Geometry

VGGT 谱系把 "3D 重建" 当作一个 entangled tensor 输出；MapAnything 把它拆成 4 个**独立可监督但联合输出**的 primitives：

| 因子                             | 几何意义                          | 监督来源（推测）                                    |
| ------------------------------ | ----------------------------- | ------------------------------------------- |
| **Depth maps** `D_i`           | per-view 像素级 depth            | mono depth datasets / RGB-D                 |
| **Local ray maps** `R_i`       | per-view 像素的相机射线              | 内参数据                                        |
| **Camera poses** `T_i ∈ SE(3)` | 相机间的相对位姿                      | SfM / 标注 pose 数据                            |
| **Metric scale factor** `s`    | **全局尺度**（把 per-view 局部重建升到米制） | metric mapping datasets / stereo / RGB-D 米制 |

**几何上的合成关系**：`p_world_i,j = T_i · (D_i,j · R_i,j) · s`

`s` 单独建模是关键 —— 它把 "几何形状对" 和 "尺度对" 解耦。这意味着模型可以在 *no metric data* 上学几何（pose + depth + rays），同时在 *small amount of metric data* 上学 `s` 的标定。

### 1.2 ⚡ Eureka Moment

> **把 metric scale 从隐式纠结里抽出来当独立 head** —— 几何对就用几何数据学，米制对就用米制数据学。这让 feed-forward 3D 第一次能在标注稀疏的 metric data 上"补"米制能力，而不需要把所有训练数据都标米。

VGGT v1 / Ω 的 un-metric 缺陷来自一个错误假设：所有训练数据都要"米制对齐"，但**这违反了大规模 web 视频的真实状态**（YouTube 视频没有标注米制）。MapAnything 的 factored repr 让 web 视频继续训几何，metric anchor 来自少量精确标注数据。**数据策略 + 架构 双重设计**。

### 1.3 输入灵活性 — 适配 12+ 任务

```
                                  MapAnything 输入接口
                                                                          
   Required:                                                              
   ─────────────                                                          
   📷 1 张或多张 RGB                                                       
                                                                          
   Optional (任意组合):                                                    
   ───────────────                                                        
   📐 Camera intrinsics K     ── 若有 → calibrated 模式                   
   📍 Camera poses T_i        ── 若有 → 帮 metric anchor 推               
   🌫️ Partial depth maps      ── 若有 → depth completion 任务              
   🗺️ Partial 3D reconstruction ── 若有 → registration 任务               
                                                                          
   ↓
                                                                          
                          单次前向 → 4 factored outputs                    
                                                                          
                                  ↓
                                                                          
   12+ 任务用同一个模型 share:                                              
   • Uncalibrated SfM                                                     
   • Calibrated MVS                                                       
   • Monocular metric depth                                               
   • Camera localization                                                  
   • Depth completion                                                     
   • Multi-image SfM                                                      
   • Registration                                                         
   • Camera pose estimation                                               
   • Covisibility estimation                                              
   • Image-to-3D reconstruction                                           
   • ... (12+ tasks 总共)                                                  
```

这是从 **architecture × data × task** 三个轴一起广义化的 unification。

***

## 2 · 数学层

### 📌 Napkin Formula

```
   World point     ≈        T_i_global  ·  ( D_i,j  ·  R_i,j )  ·  s
   (米制 3D)              ↑              ↑      ↑                ↑
                       camera pose   per-view  per-view       global metric
                                     depth     ray map        scale factor
                       (SE(3))       (scalar)  (unit vector)  (scalar)
```

**因子化的意义**：

* `T_i_global` 来自跨视图 attention（VGGT 谱系的强项继承）
* `D_i,j` per-pixel depth（mono depth foundation 谱系的强项）
* `R_i,j` 由相机内参决定（若 intrinsics 给定则直接读，未给定则与 pose 共同估）
* `s` 是**单一标量**全局 scale —— 它把"几何形状正确"映射到"米制坐标正确"

可独立监督 + 联合一致 —— 这是 universal 多任务 + metric output 的核心。

### 2.1 比较 vs VGGT 谱系的 entangled 输出

```
   VGGT v1 / Ω:
   ──────────────────────────────────────
   transformer(N RGB) → { pose_i, depth_i, point_i, track }     ← entangled
                          └────────── un-metric (scale 模糊) ─────┘
   
   MapAnything:
   ──────────────────────────────────────
   transformer(N RGB + 可选 K/T/D/recon)
   → { T_i, D_i, R_i, s }                                        ← factored
     └─────────── × ─────────── = world points in meters ────────┘
                                  (米制!)
```

***

## 2.5 · 带数字走一遍：Worked Example — 4 视图桌面重建到米制点云

场景：桌面（mug + laptop + keyboard），手持手机拍 4 张 RGB（约每 30° 一张）。目标：直接拿到 **米制坐标系下的稠密点云**，喂给 manipulation policy。

| 步骤                           | 张量形状                     | 数值                               |
| ---------------------------- | ------------------------ | -------------------------------- |
| 输入                           | `4 × 3 × 518 × 518` RGB  | 4 帧                              |
| 可选附加                         | intrinsics K（手机 EXIF 已给） | `4 × 3 × 3`                      |
| Transformer 前向               | shared trunk + 4 heads   | \~150–250 ms (A100) `UNVERIFIED` |
| 输出 `T_i_global`              | `4 × SE(3)`              | 首帧设世界系                           |
| 输出 `D_i,j` (per-pixel depth) | `4 × 518 × 518`          | 相对深度                             |
| 输出 `R_i,j` (ray map)         | `4 × 518 × 518 × 3`      | 单位方向                             |
| 输出 `s` (global scale)        | scalar                   | 例：`s = 0.42 m`                   |

**回到世界点**：`P_world = T_i_global · (D_i,j · R_i,j · s)`，按 batch matmul 一次到 `4 × 518 × 518 × 3` 米制点。

**Sanity check**：测 keyboard 长度 ≈ 0.32 m（实际 standard ANSI keyboard ≈ 0.45 m）→ 若比例偏离 >20%，说明 `s` 标定数据外，需要补 metric anchor（已知尺寸物体或 RGBD 一帧）。

**与 VGGT 对比**：同一场景，VGGT 输出 entangled pointmap **up-to-scale**，必须额外的 anchor 才能 grasp；MapAnything 直接给米制 → manipulation 工程师省一个 calibration loop。

***

## 3 · 数据层

### 3.1 12+ 任务靠数据多样性训出来

`UNVERIFIED` 具体 dataset list 待论文 §4 补。从 "12+ 任务" 反推训练数据应该至少覆盖：

| 任务                     | 训练 dataset 候选                 |
| ---------------------- | ----------------------------- |
| Uncalibrated SfM       | MegaDepth, ScanNet++, Co3D    |
| Calibrated MVS         | ScanNet, ETH3D, DTU           |
| Monocular metric depth | NYUv2, KITTI, Waymo           |
| Camera localization    | 7-Scenes, Cambridge Landmarks |
| Depth completion       | NYU-D, ScanNet sparse         |
| Registration           | 3DMatch, ETH3D                |

**关键**：MapAnything 训练 = "把每个 dataset 都用上"，让 factored heads 各自从相应数据源学（depth 从 mono datasets，pose 从 SfM, scale 从 metric datasets）。

### 3.2 米制数据是稀缺资源

`s` head 的训练数据是整个 pipeline 最稀缺的：

* ScanNet / KITTI / NYU 等有标注米制深度
* 大部分 web 视频 / YouTube / Internet 数据**没有米制**

**factored repr 的妙处：** 米制 anchor 用小但精确的标注数据训 `s`；其他 primitives 用大规模无标注 / 弱标注数据训几何 —— 是 metric foundation model 的 *data-strategy breakthrough*，不只是架构。

***

## 4 · 代码层 (开源 + 可用)

### 4.1 已经开源（与 VGGT-Ω 不同 —— 后者论文 2026-05 出，代码未确认）

| 资源                 | 状态                                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ |
| **arXiv 论文**       | [2509.13414](https://arxiv.org/abs/2509.13414)（v2 revised 2026-01）                                                 |
| **GitHub**         | [https://github.com/facebookresearch/map-anything（Meta](https://github.com/facebookresearch/map-anything（Meta) 官方） |
| **HuggingFace 模型** | [facebook/map-anything](https://huggingface.co/facebook/map-anything) · **1B 参数 · F32** · 46k 下载/月                 |
| **License**        | CC-BY-NC-4.0（非商用 OK）                                                                                               |
| **HF Spaces**      | 32 个 active spaces 用它（应用场景广）                                                                                       |

### 4.2 部署关键

| 关键问题            | 状态                                                                    |
| --------------- | --------------------------------------------------------------------- |
| 模型大小            | **1B parameters · F32 ≈ 4 GB** weight                                 |
| 推理 GPU 需求       | `UNVERIFIED` 论文未明说；1B F32 推断需 1× consumer GPU（RTX 3090 / 4090 / A100） |
| 推理 latency      | `UNVERIFIED` 待论文 §5 / GitHub README 补                                 |
| Streaming 模式    | ❌ 仍 batch（与 VGGT 谱系同）                                                 |
| Edge (Orin) 可跑? | `UNVERIFIED` 1B F32 可能需要 distill / quantize 到 INT8 才上 Orin Nano       |

***

## 5 · 评测层（benchmark）

`UNVERIFIED` 具体 benchmark 数字待论文 §5 补。从摘要 + 项目页推断：

| 任务                     | 候选 benchmark         | MapAnything 角色               |
| ---------------------- | -------------------- | ---------------------------- |
| Uncalibrated SfM       | MegaDepth, ScanNet++ | 主战场                          |
| Calibrated MVS         | ETH3D, DTU, ScanNet  | 主战场                          |
| Monocular metric depth | NYUv2, KITTI         | 与 Metric3D / DA v2 比         |
| Camera localization    | 7-Scenes, Cambridge  | 与 NeRF-Loc 等比                |
| Depth completion       | NYUv2 sparse         | 与 NLSPN / CompletionFormer 比 |

`TODO` 维护者补全 vs VGGT v1 / Ω / DUSt3R / MASt3R / Metric3D 的具体数字。

***

## 6 · Issues & Hidden Assumptions

### 6.1 论文 / 模型公开 limitations `UNVERIFIED`

详细 limitations 论文未在摘要披露 —— 待正文 §6 / §7 补。

### 6.2 Hidden Assumptions（推测）

* **Factored heads 互不干扰** —— Multi-task interference 经典问题：4 个 head 的损失权重 `λ` 设定影响哪个 task 受益最多。论文应该有 ablation；正文补
* **Metric scale `s` 是单一标量** —— 这隐含假设 *场景内尺度均匀*。如果一个场景里有"远 buildings + 近 desk"，单 `s` 可能折中
* **Optional inputs 不会让模型耍懒** —— 给了 intrinsics 后，模型可能完全信任输入而不自己估计；如果输入有噪声，输出会被污染
* **CC-BY-NC-4.0 License** —— **非商用**！商业产品要用需要谈许可；这是与 Apache 2.0 模型（Cosmos 等）的关键差别
* **训练分布外失败** —— 训练数据偏 indoor / 城市场景；水下 / 太空 / 极端 OOD 预期失败

### 6.3 仍未解决的（与 VGGT-Ω 共同盲点）

| 项                                | MapAnything  | VGGT-Ω               | 下一代要解                     |
| -------------------------------- | ------------ | -------------------- | ------------------------- |
| Metric output                    | ✅ ★          | ❌                    | —                         |
| Streaming                        | ❌ batch      | ❌ batch              | ✅ 押注                      |
| Native IMU coupling              | ❌            | ❌                    | ✅ 押注                      |
| Edge real-time (\<20 ms on Orin) | ❌ 1B 模型仍重    | ⚠️ 30% memory 但延迟未量化 | ✅ 押注（蒸馏 / 量化）             |
| 抗振动训练先验                          | ❌            | ❌                    | ✅ 押注（与 event camera fuse） |
| 动态场景原生                           | `UNVERIFIED` | ✅                    | —                         |

### 6.3.x GitHub-validated 失败模式（atlas 联动，2026-05）

facebookresearch/map-anything 半年从 0 涨到 3.4k stars + 28 open issues，处于 *stabilization* 阶段；社区已经压出几个真实部署痛点：

* **GitHub-validated**：**reprojection consistency 是真正的暗坑而非 metric scale** —— 点云投影回 2D 看着对，跨视图一致性差，对应 [issue #147](https://github.com/facebookresearch/map-anything/issues/147)；这正是 §1.1 factored repr (D/R/T/s) 解 metric 之外留下的另一条几何代价，**manipulation grasp / drone control 这种亚厘米要求场景必须自测**，不能只信 metric loss。详见 [`github_failure_atlas.md`](./github_failure_atlas.md#mapanything)。
* **GitHub-validated**：ASE dataset metadata mismatch（[#155](https://github.com/facebookresearch/map-anything/issues/155)）+ WAI conversion 文档 gap（[#153](https://github.com/facebookresearch/map-anything/issues/153)）—— 印证 §3.1 训练数据 list 的工程债务，自定义数据接入需自己补脚本。
* **GitHub-validated**：external predictions pipeline 跑不通（[issue #141](https://github.com/facebookresearch/map-anything/issues/141)）—— 自定义输入接口不稳定，下游 pipeline 集成需预留 debug 时间。

**对 aerial real-time 应用**：MapAnything 解了 **#2 大障碍（metric）** 但 **#1 大障碍（latency）仍在**。所以 [`crossing/slam-vio-migration/vggt_vs_drone_vio.md`](../../crossing/slam-vio-migration/vggt_vs_drone_vio.md) 结论 *部分* 改变：

* **慢速巡检 drone (5 m/s 以下)**：MapAnything 给 metric depth 让 manipulation-style hybrid 更靠谱
* **高速 aerial racing (15-30 m/s)**：仍要经典 VIO，operational envelope 没动

***

## 7 · 比较 & 面试 Tip

| 模型                | Metric? | 输入                         | 输出任务                              | Memory (训练) | 已开源?            | 主要差异化                              |
| ----------------- | ------- | -------------------------- | --------------------------------- | ----------- | --------------- | ---------------------------------- |
| VGGT v1           | ❌       | N RGB                      | poses + depth + pointmap + tracks | baseline    | ✅ Meta          | 4-head N-view 范式开创                 |
| **VGGT-Ω**        | ❌       | N RGB                      | 同 v1，效率改进                         | 30% of v1   | ✅ likely        | register attn + 动态 + 自监督           |
| **MapAnything** ★ | **✅**   | N RGB **+ 可选 K/T/D/recon** | **12+ 任务 unified**                | 1B 参数       | **✅ Meta + HF** | **factored repr + 米制 + universal** |
| DUSt3R / MASt3R   | ❌       | 2-view pair                | pointmap                          | low         | ✅ Naver         | 2-view 基础                          |
| Depth Anything v2 | ❌ 相对    | 1 RGB                      | per-pixel depth                   | low         | ✅               | 单目深度专精                             |
| Metric3D          | ✅       | 1 RGB                      | metric depth                      | low         | ✅               | 单目米制专精                             |
| Classical VIO     | ✅       | 视频 + IMU                   | pose @ 200 Hz                     | embedded    | ✅               | 实时控制环唯一                            |

> **🎤 Interview Tip.** "VGGT-Ω 和 MapAnything 我应该用哪个？" 正确答：**"看你需要解什么。VGGT-Ω 的 register attention 解的是训练效率 + 动态场景；MapAnything 的 factored repr 解的是米制输出 + 任务统一。如果你的下游需要 *米* 才能 grasp / 控制（manipulation / drone），MapAnything 是 strict upgrade。如果你做大规模 sim2real 数据生产，VGGT-Ω 训练成本是关键，更适合你。** 两个是互补的不是 vs 关系 —— 下一代可能合二为一（factored repr + register attn）。" 错答："MapAnything 更新所以用它" —— 它不一定更高效。

### 7.1 Falsifiable predictions

1. **2027-06 前**：会有"MapAnything + register attn"的合并工作，统一 metric + efficiency 两条线
2. **2027-12 前**：第一篇 streaming + metric feed-forward 3D 论文落地（MapAnything 后继 + Streaming Visual Geometry Transformer 谱系融合）
3. **2027-12 前不会**：MapAnything 蒸馏到 \< 20 ms on Orin Nano（1B 参数实在太重）—— 需要 quant + arch 改 才能 edge real-time

***

## 8 · For the reader

* **Manipulation 工程师** —— **immediate upgrade**。manipulation 最痛的就是"我要米才能 grasp"，MapAnything 直接给。从 D435 / Metric3D 迁过去测一次。
* **Aerial 慢速巡检 (\<5 m/s)** —— Hybrid MapAnything (1-5 Hz metric output) + VINS-Fusion (200 Hz state) 现在比 v1 / Ω 谱系更有意义 —— metric anchor 不需要外部 stereo / RTK 了。
* **Aerial racing (>15 m/s)** —— 没变。仍 200 Hz / 5 ms 限制锁死，MapAnything inference latency 量级不对。
* **AD 工程师** —— MapAnything 在 AD 离线 4D reconstruction（仿真 / data factory）有用；不替代 production AD perception stack（量产 stack 仍 BEV + occupancy + radar + LiDAR）。
* **Marine 工程师** —— 与 v1 / Ω 一样，单目 RGB 在水下退化前，无米可言。
* **Research 学生** —— **factored representation 是关键洞见**。任何"foundation model 解决米制"问题都该研究 MapAnything 怎么把 metric scale 抽出来当独立 head。

***

## References

* **MapAnything** — Keetha et al. *3DV 2026* · [arXiv:2509.13414](https://arxiv.org/abs/2509.13414) · [项目页](https://map-anything.github.io/) · [GitHub](https://github.com/facebookresearch/map-anything) · [HuggingFace](https://huggingface.co/facebook/map-anything)
* VGGT v1 — Wang et al. *CVPR 2025* · [arXiv:2503.11651](https://arxiv.org/abs/2503.11651)
* **VGGT-Ω** — Wang et al. 2026-05 · [arXiv:2605.15195](https://arxiv.org/abs/2605.15195) · [本仓 dissection](./vggt_omega_dissection.md)
* DUSt3R — *CVPR 2024* · [arXiv:2312.14132](https://arxiv.org/abs/2312.14132)
* MASt3R — *ECCV 2024* · [arXiv:2406.09756](https://arxiv.org/abs/2406.09756)
* Metric3D — Yin et al. *ICCV 2023* · [arXiv:2307.10984](https://arxiv.org/abs/2307.10984)
* Depth Anything v2 — Yang et al. 2024 · [arXiv:2406.09414](https://arxiv.org/abs/2406.09414)

***

## Boundary

* 与 VGGT v1 完整解构 → [`./vggt_cvpr2025_dissection.md`](./vggt_cvpr2025_dissection.md)
* 与 VGGT-Ω 完整解构 → [`./vggt_omega_dissection.md`](./vggt_omega_dissection.md)
* 跨 embodiment "VGGT vs VIO"（要更新加 MapAnything）→ [`crossing/slam-vio-migration/vggt_vs_drone_vio.md`](../../crossing/slam-vio-migration/vggt_vs_drone_vio.md)
* 与 VLA 接口（MapAnything 解决 metric 后 feature cloud → action 的 silent bug 消失）→ [`bridge-to-vla/feature-cloud-to-action.md`](../../bridge-to-vla/feature-cloud-to-action.md)
* 与 Metric3D 比较（单目 metric depth vs MapAnything universal）→ [`./depth-foundation/metric3d_dissection.md`](../depth-foundation/metric3d_dissection.md)

***

## ✍️ 维护者注（v0.7 → v1 升级清单）

本 v0.7 基于摘要 + HF model card + 项目页 metadata。下次有时间打开论文正文（[PDF](https://arxiv.org/pdf/2509.13414)）时补：

1. ⏳ 17 位作者的具体 affiliation（Meta vs CMU vs 其他）
2. ⏳ Transformer 层数 / encoder dim / head 数（注意 MapAnything 是 single backbone 但 multi factored head）
3. ⏳ Factored output 的具体损失 + λ 权重
4. ⏳ 完整训练 dataset list + 每个 task 的数据规模
5. ⏳ vs VGGT v1 / Ω / DUSt3R / MASt3R / Metric3D 的完整 benchmark 表
6. ⏳ 推理 latency / GPU memory（Orin Nano / RTX 4090 / A100 各档）
7. ⏳ 论文 §6 stated limitations
8. ⏳ Status v0.7 → v1，删本节

***

[← Back to Feed-Forward 3D](./overview.md)
