引言

想象一下,你正试图利用游客拍摄的数百张照片来构建一座大教堂的 3D 模型。你将这些图像输入计算机,软件开始匹配特征: 这里的一扇拱窗,那里的一块砖纹。但是出现了一个问题。这座大教堂是对称的。北面看起来和南面几乎一模一样。

对人类来说,上下文线索表明这是建筑的两个不同侧面。但对算法来说,它们看起来就像是同一个表面。被这种“视觉混叠 (visual aliasing) ”迷惑的软件将北面和南面拼接在了一起。结果生成的 3D 模型向内塌陷,产生了一种扭曲的、不可能存在的几何结构。

在计算机视觉中,这些视觉上相似但截然不同的结构被称为 Doppelgangers (分身)

多年来,运动恢复结构 (Structure-from-Motion, SfM) 流水线——一种从 2D 图像重建 3D 场景的技术——一直难以区分真实的匹配和这些虚幻的“分身”。过去解决这个问题的尝试主要使用在著名地标上训练的卷积神经网络 (CNN) ,但在应用于办公园区或居民街道等日常场景时,它们往往会失败。

在最近的一篇论文中,来自康奈尔大学和 Visym Labs 的研究人员推出了 Doppelgangers++ , 这是一种显著推进视觉消歧技术发展的新方法。通过放弃传统的 2D CNN,转而利用来自 Transformer 模型的 3D 感知特征,并通过更加多样化的数据集进行训练,他们创建了一个能够以惊人的准确度区分建筑物“邪恶双胞胎”的系统。

图 1. 视觉混叠 (或称分身) 给 3D 重建带来了严峻挑战。第一行显示了 Doppelgangers++ 集成到 SfM 中,成功地对场景进行了消歧。中间一行将其与之前的成果 (DG-OG) 进行了比较,显示出更高的鲁棒性。最下面一行突出显示了在新 VisymScenes 数据集上的表现。

核心问题: SfM 中的视觉混叠

要理解为什么需要 Doppelgangers++,我们首先需要了解标准 3D 重建流水线的脆弱性。

像 COLMAP 这样的经典流水线通过检测图像中的局部特征 (如角点或斑点) 并使用 SIFT 等算法对其进行描述来工作。然后,它们在不同图像之间搜索匹配的描述符。如果找到足够多的匹配项,系统就会假设这些图像描绘的是同一个物理空间,并计算相机的几何关系。

然而,现代建筑和城市环境中充满了重复的模式。对称的建筑物、重复的窗户设计和相同的路灯都会产生 视觉混叠 。 特征匹配器可能会自信地将建筑物左侧的窗户与右侧完全相同的窗户连接起来。这些虚假的匹配在场景图中创造了“虫洞”,将几何体中本不相连的部分拉在了一起。

虽然之前的工作,特别是一种被称为“Doppelgangers” (在本文中称为 DG-OG )的方法,试图使用二分类器来修剪这些错误的边,但它有很大的局限性:

  1. 脆弱性: 它需要仔细调整阈值。
  2. 范围有限: 它主要是在著名地标 (如大本钟或特莱维喷泉) 的互联网照片上训练的,这意味着它无法泛化到“枯燥”的日常场景。
  3. 2D 局限: 它依赖于 2D 图像模式,忽略了可能有助于区分相似表面的丰富几何上下文。

解决方案: Doppelgangers++

研究人员提出了一项三管齐下的策略来克服这些限制: 更好的数据、更好的架构以及更好的成功衡量标准。

1. VisymScenes: 超越地标的数据

AI 模型在现实世界中失败的主要原因之一是域漂移 (domain shift) 。如果一个模型只在特征鲜明、高对比度的历史古迹上进行训练,它将在面对现代商业区玻璃和钢铁的重复结构时陷入困境。

为了解决这个问题,作者引入了 VisymScenes 数据集。该数据集不再依赖精心策划的互联网照片集,而是利用 Visym Collector 平台专门为此任务采集的数据。它包含来自 42 个城市 149 个地点的 258,000 张图像。

至关重要的是,这些图像带有 GPS 和 IMU (指南针) 元数据。这些元数据允许研究人员挖掘“困难负样本 (hard negatives) ”——即视觉上看起来完全相同但在地理位置上相距甚远的图像对。

图 2. VisymScenes 数据集示例。顶行显示图像子集。底行显示视觉上相似但地理位置不同的图像对 (分身) 及其地图位置,证明视觉混叠在日常场景中普遍存在。

如上图所示,该数据集捕捉了平凡但具有挑战性的环境: 砖砌的住宅区、无尽的办公室窗户和重复的街道结构。通过在此数据上进行训练,模型学会了视觉相似性并不总是等于物理同一性。

2. 架构: 利用 MASt3R

Doppelgangers++ 最显著的技术飞跃是从标准 CNN 转向了利用 MASt3R 的基于 Transformer 的架构。

MASt3R 是 3D 几何领域的最新“基础模型”。它是一个经过训练的 Transformer,可以接收图像对并输出密集的 3D 点云和匹配图。由于 MASt3R 经过训练以理解 3D 结构,其内部特征包含深度的几何理解——这对于区分分身至关重要。

Doppelgangers++ 并没有从头开始训练模型,而是冻结了一个预训练的 MASt3R 模型,并从其内部解码器层提取特征。

流水线

该过程的工作原理如下:

  1. 对称化 (Symmetrization) : Transformer 对输入顺序很敏感。对于网络来说,图像 A 和图像 B 的关系可能与 B 和 A 的关系略有不同。为了处理这个问题,系统创建了一个对称对 (同时输入 A-B 和 B-A) 。
  2. 特征提取: 图像对通过冻结的 MASt3R 骨干网络。系统从解码器块中提取多层特征。这些特征编码了一个图像中的像素如何在 3D 上下文中与另一个图像中的像素相关联。

图 3. 模型设计。左侧显示输入到冻结 MASt3R 模型中的对称化图像对。右侧详细说明了多层解码器特征的提取,这些特征被连接并传递给基于 Transformer 的分类头。

解码器特征在数学上表示为一系列操作,其中两个分支 (每个图像一个) 交换信息:

描述解码器块输出的公式,显示分支 1 和分支 2 的特征如何交互。

  1. 分类头: 这些复杂的 3D 特征随后被输入到轻量级的、可训练的 Transformer 头中。这些头负责最终的二元决策: 这是一个真实的匹配,还是一个分身?

预测头输出的公式。

投票机制

由于系统使用两个不同的内部头在两个方向 (A 到 B 和 B 到 A) 上分析图像对,因此最终会得到四个不同的分数。为了做出最终的稳健决策,Doppelgangers++ 使用了一种投票机制。

如果大多数头发出“正匹配”信号,系统将取最大置信度分数。如果大多数发出“负匹配” (分身) 信号,则取最小分数。这有效地推动决策趋向共识,过滤掉微弱或不确定的预测。

描述基于多数共识的最终投票机制的公式。

3. 新的基准标准

过去,评估视觉消歧的过程出奇地不科学。研究人员会运行重建,并手动检查 3D 点云,看它是否看起来“坏了”。这是主观的且难以扩展。

Doppelgangers++ 引入了一种使用 地理对齐 (Geo-alignment) 的定量指标。

该方法使用第三方带有地理标签的图像 (来自 Mapillary) 作为“探针”。

  1. 系统使用 Doppelgangers++ 流水线重建场景。
  2. 它将 Mapillary 图像注册到此重建模型中。
  3. 然后,它将这些图像计算出的相机位置与其现实世界的 GPS 坐标进行比较。

如果模型是正确的,计算出的位置将通过刚性变换与 GPS 数据完美对齐。如果模型因分身而折叠或扭曲,这些点将无法对齐。研究人员计算 内点率 (Inlier Ratio, IR) 来量化这种对齐。

内点率 (IR) 的公式,基于 RANSAC 内点数与总注册图像数的比值计算。

图 4. 评估方法。上图: 带有地理标签的图像注册到 SfM 模型并通过 RANSAC 对齐。下图: 损坏的模型 (左) 导致相机向一侧塌陷,导致对齐度低。校正后的模型 (右) 与地理标签对齐良好。

实验结果

研究人员对 Doppelgangers++ 进行了一系列严格的测试,将其与之前的最先进技术 (DG-OG) 和标准 COLMAP 进行了比较。

成对消歧

第一个测试是简单的分类: 给定一对图像,模型能否正确识别它们是否是真实的匹配?

结果表明,Doppelgangers++ 显著优于基线,特别是在域外数据上。当在 Mapillary 数据集 (两个模型在训练期间均未见过) 上进行测试时,Doppelgangers++ 保持了较高的精确率和召回率,而基于 CNN 的 DG-OG 模型的性能则严重下降。

SfM 重建质量

然而,终极测试是 3D 模型的质量。研究人员将他们的分类器集成到 SfM 流水线中,以便在计算几何结构之前修剪错误的匹配。

视觉结果令人震惊。在下面来自 MegaScenes 数据集的示例中,基线方法 (DG-OG) 未能分离建筑物的两侧,导致蓝色和绿色的相机路径相互重叠。Doppelgangers++ 正确地将模型拆分为两个干净的部分。

图 5. MegaScenes 上的 SfM 消歧。基线 DG-OG (左) 未能分离场景,导致几何结构塌陷和低内点率 (0.451)。Doppelgangers++ (右) 正确地将模型拆分为两个干净的部分,并具有高验证分数。

该方法的鲁棒性在具有挑战性的 VisymScenes 数据上表现得更加出色。这些日常街道场景通常缺乏著名大教堂的显著特征,这对于传统算法来说是一场噩梦。

图 6. VisymScenes 上的 SfM 消歧。DG-OG 为日常街道场景创建了错误的几何结构 (左上) 。Doppelgangers++ 有效地拆分了纠缠的组件 (右下) ,实现了高内点率 (0.985, 0.968) 。

与 MASt3R-SfM 集成

有趣的是,即使是 MASt3R 模型本身——尽管它为这种新方法提供了特征——在用于其自身的原生 SfM 流水线 (MASt3R-SfM) 时,也不能幸免于分身问题。因为 MASt3R 经过训练以寻找对应关系,它有时会“过于急切”,匹配那些看起来相似但不应该匹配的窗户。

研究人员表明,Doppelgangers++ 可以插入 MASt3R-SfM 流水线来修剪这些匹配,证明分类器已经学到了原始基础模型中不存在的特定消歧逻辑。

图 7. MASt3R-SfM 也遭受分身问题 (上行) 。Doppelgangers++ 有效地修剪了误报,从而产生了更清晰的重建 (下行) 。

为什么它有效? (消融研究)

为了确保改进不仅仅是因为新数据集或随机运气,作者进行了消融研究。他们将基于 Transformer 的头与简单的 MLP (多层感知机) 进行了比较,并测试了仅使用最后一层特征与使用多层特征的区别。

下面的精确率-召回率曲线清楚地说明了这一点。所提出的方法 (深红线) 始终紧贴右上角,表明在高召回率下具有高精确率。研究证实:

  1. 多层特征很重要: 分类器需要来自解码器的深层和浅层信息。
  2. Transformer 胜过 MLP: 头部中的注意力机制对于处理复杂的几何关系是必要的。
  3. 专用头: 在冻结特征上训练轻量级头与微调庞大的基础模型效果一样好,甚至更好,而且效率更高。

图 8. 精确率-召回率曲线。所提出的方法 (Ours,红线) 在 DG、Visym 和 Mapillary 测试集中始终优于 MLP 头或单层特征等变体。

结论

视觉混叠长期以来一直是 3D 重建的一大痛点。随着我们迈向更大规模的数字孪生和复杂城市环境中的自主导航,区分“相似”与“相同”的能力变得至关重要。

Doppelgangers++ 通过结合三个关键见解提供了一个稳健的解决方案:

  1. 上下文为王: 用于检测混叠的 3D 几何特征 (来自 MASt3R) 远优于 2D 模式。
  2. 多样性数据: 在带有 GPS 验证的杂乱日常场景上进行训练,创建了一个可以在现实世界中工作的模型,而不仅仅是用于明信片地标。
  3. 客观验证: 使用地理对齐进行评估,使该领域从主观的“目测”转向硬性指标。

通过无缝集成到 COLMAP 和 MASt3R-SfM 等现有流水线中,Doppelgangers++ 为我们周围世界更可靠、准确和可扩展的 3D 重建铺平了道路。