ACE-G
Bruns 2025 · 论文
一句话总结 — 将场景坐标回归拆分为一个与场景无关的交叉注意力回归器和一个场景特定的”地图编码(map code)“,在数万个场景上以显式的建图-到-查询目标进行预训练,使重定位能够泛化到建图阶段未见过的查询条件(ICCV 2025)。
问题
经过数分钟的场景特定训练后,SCR模型能够高精度地估计查询图像的相机位姿——但在泛化能力上仍不及经典的基于特征匹配的方法。当查询图像的成像条件(光照、视角)与训练视角差异过大时,SCR模型就会失效。这是以往SCR框架固有的局限:它们的训练目标是将训练视角编码进坐标回归器本身的权重中,因此该回归器天生就会对训练视角过拟合。
方法与架构
ACE由一个与场景无关的卷积图像编码器加上一个场景特定的MLP头组成。ACE-G用一个以场景特定的地图编码 为条件的与场景无关的坐标回归器取代了该MLP:
其中是来自DINOv2图像编码器的图像块嵌入,是预测出的场景坐标。该回归器由个仅含交叉注意力的Transformer块堆叠而成——图像块嵌入充当查询token,地图嵌入充当键/值(不使用位置编码,因此地图编码具有置换不变性)——随后接一个两层MLP,输出以及一个Laplace不确定度。
建图/查询预训练。 训练集由一组建图缓冲区与不相交的查询缓冲区(不同的视角、光照、物体摆放)的元组构成,并带有真实坐标标签。训练交替进行两类迭代:
- 建图迭代在建图缓冲区上联合优化网络与地图编码,使用Laplace负对数似然:
- 查询迭代在查询缓冲区上最小化同样的损失,但只更新,地图编码保持冻结——从而明确迫使回归器将建图数据中蕴含的信息(存储于地图编码中)泛化到未见过的查询视角。
网络每10次迭代才更新一次(其余9次更新地图编码),并且场景会不断从一个活跃池中重新从零开始建图,以避免对特定地图编码过拟合。预训练使用了数万次扫描数据:ScanNet(1201)、ScanNet++(199)、ARKitScenes(4520)、MapFree(2×400)、BlendedMVS(462)以及WildRGBD(22359)。
新场景建图。 只优化一个随机初始化的地图编码,最小化二维重投影误差的不确定度加权NLL,即——因此建图阶段无需任何真实三维标签,且建图耗时仍与ACE一样只需数分钟。
重定位。 一次前向传播即可得到带不确定度的2D-3D对应关系;这些对应关系先用自适应阈值(不确定度的最低分位数,,)进行预筛选,再送入PnP + RANSAC——与经典SCR相同的输出接口。
实验结果
- Indoor-6(帧数占比,误差在5°/25厘米以内;各场景平均的中位数厘米/度):在5分钟建图组中,ACE-G取得95 / 4.5 / 0.8,而DINO-ACE(在DINOv2特征上接ACE头)为91 / 5.6 / 1.0,原始ACE为70 / 11.0 / 1.8——说明DINOv2特征与经过查询预训练的回归器均有贡献。建图时间延长到25分钟时,ACE-G达到96 / 3.7 / 0.7,与GLACE(93 / 3.5 / 0.6)相当,地图大小为12 MB,而MASt3R+Kapture(94 / 2.5 / 0.5,建图耗时5-10小时)则需要约5 GB。
- RIO10(物体摆放已改变的重复扫描场景;平均中位误差):ACE-G为41.1厘米/13.8°,DINO-ACE为83.8/15.9,ACE为358.4/58.7——在每个场景上中位误差均低于1米,而MASt3R在部分场景上有超过50%的图像无法估计出位姿。
- Cambridge Landmarks(室外场景,相对于以室内为主的预训练数据而言属于分布外):ACE-G(平均25.3厘米/0.4°)相较DINO-ACE有明显提升,但落后于GLACE(13.5厘米/0.3°),且略逊于ACE——这真实反映了当前预训练覆盖范围的局限。
对SLAM的意义
SCR这一脉络一直在持续降低部署成本:DSAC使SCR可端到端训练,ACE将单场景训练时间缩短到数分钟,ACE Zero去除了对已知位姿的需求,而ACE-G则针对剩下的弱点发力——场景特定回归器天生的过拟合问题。可泛化的重定位对于消费级AR以及机器人集群规模的应用意义重大,因为逐场景优化在这些场景下的运维成本很高。它也呼应了Level 5更广泛的趋势:用来自大型预训练模型的前馈推理取代逐场景优化。