为何你的补全模型其实是对应关系专家: ZeroCo 揭秘

如果你最近一直在关注计算机视觉研究,你一定知道“掩码图像建模” (Masked Image Modeling,如 MAE) 已经彻底改变了模型学习表征的方式。其核心思想很简单: 遮蔽图像的一部分,然后要求模型填补空白。

但是,如果你将这一概念扩展到两张图像上会发生什么呢?这被称为跨视图补全 (Cross-View Completion, CVC) 。 在这种设置下,模型通过观察源图像 (Source Image) 来重建被掩码遮挡的目标图像 (Target Image) 。为了有效地做到这一点,模型必须隐式地理解场景的 3D 几何结构——它需要知道源图像中的哪个像素对应于目标图像中缺失的像素。

在一篇引人入胜的新论文中,来自 KAIST、高丽大学和三星电子的研究人员揭示了这些 CVC 模型 (特别是 CroCo) 实际上是零样本对应关系估计器 (Zero-shot Correspondence Estimators) 。 在从未经过显式点匹配训练的情况下,它们内部的交叉注意力图 (cross-attention maps) 比专门为特征提取设计的模型 (如 DINOv2) 能更好地对齐图像。

在这篇文章中,我们将详细剖析其工作原理,解释为何交叉注意力是其中的秘诀,并介绍所提出的方法 ZeroCo 如何在几何匹配和深度估计任务中取得最先进 (SOTA) 的结果。


问题: 在复杂世界中寻找匹配

密集对应关系 (Dense correspondence) ——即为两张图像之间的每一点找到匹配像素——是计算机视觉的基石。它支撑着立体视觉、光流和 3D 重建等技术。

传统上,我们通过两种方式解决这个问题:

  1. 监督学习: 在带有真实光流 (ground-truth flow) 的昂贵数据集 (如 Flying Chairs 或合成场景) 上进行训练。
  2. 自监督学习: 利用几何约束 (如极线几何) 在没有标签的情况下训练模型。

最近,像 DINOv2 或 Stable Diffusion 这样的基础模型也被用于此任务。我们从编码器中提取“特征” (代表图像块的向量) 并计算相似度。虽然效果不错,但这些特征往往是“语义上的”——它们知道这只狗是狗,但可能无法确切知道在旋转视图中哪个像素是狗的左眼。

这就是 ZeroCo 登场的地方。

Given a pair of images consisting of target (left) and source (right) images, we visualize the attended region in the source image corresponding to a query point marked in the target image in blue, where the point with the highest attention is marked in red.

如上图所示,作者发现 CVC 模型可以纯粹以零样本的方式,非常精确地定位查询点 (蓝点) 的确切匹配点 (红点) 。


洞察: CVC 是伪装的对应关系学习

要理解其工作原理,我们需要查看跨视图补全模型的架构。

在 CVC 中,模型接收一个目标图像 (大部分被遮挡) 和一个源图像 (完全可见) 。它会对两者进行编码。然后,一个解码器尝试重建目标图像。

这就是“顿悟”时刻: 为了重建目标图像中缺失的补丁 (patch) ,解码器必须查看源图像。它是通过交叉注意力层 (Cross-Attention Layer) 来实现的。该层计算目标查询 (\(Q\)) 与源键 (\(K\)) 之间的相似度得分。

研究人员注意到 CVC 与传统匹配方法之间存在惊人的结构相似性。

Analogy of cross-view completion and self-supervised matching learning. The cost volume learned by (b) the cross-attention layers closely resembles that of (a) traditional self-supervised matching methods.

在传统匹配 (左侧,a) 中,我们计算“代价体 (Cost Volume) ”来查看像素对齐的程度。在 CVC (右侧,b) 中, 交叉注意力图的作用完全就像一个代价体。它告诉网络: “要修复目标图像中的这个像素,请从源图像中的那个像素复制信息。”

为何交叉注意力优于特征

以前的大多数方法 (如 DUSt3R 或 MASt3R) 使用编码器或解码器的特征来寻找匹配。ZeroCo 的作者认为特征只是原材料; 交叉注意力图才是对齐的实际配方。

让我们直观地比较一下从同一模型的三个不同部分得出的“注意力” (或相关性) :

Visualization of matching costs. We visualize the matching costs of the (d) encoder, (e) decoder, and (f) cross-attention maps. The cross-attention exhibits the sharpest attention, while the encoder and decoder correlations exhibit broader attention.

看看清晰度上的差异:

  • (d) 编码器相关性: 非常模糊。它知道大概区域,但噪点很多。
  • (e) 解码器相关性: 依然模糊。
  • (f) 交叉注意力: 极其清晰。它精准定位了匹配的几何位置。

交叉注意力图 (\(C_{att}\)) 背后的数学原理是对查询和键的点积进行 softmax 操作:

Equation for cross-attention map calculation.

模型正是利用这张图将信息从源“变换 (warp) ”到目标。因为训练目标是重建,模型被迫使这张图在几何上准确无误。如果图是错的,重建就会失败。


介绍 ZeroCo: 方法论

作者提出了 ZeroCo , 一种在无需任何微调的情况下提取和优化这些交叉注意力图以获得高质量对应关系的方法。

1. 处理 “Register Token” 伪影

Transformer 通常使用“寄存器 token” (Register Token) ——即作为全局信息工作区的额外 token。研究人员发现,原始注意力图经常错误地聚焦于这些 token (一种被称为捷径学习的现象) ,从而产生伪影。

Visualization of the attention map with and without the register token. The initial cross-attention map often contains artifacts due to the register tokens as in (c). After correcting this, the proper attending point is identified as in (d).

通过简单地抑制这些特定的 token (将其值截断为最小值) ,注意力图瞬间变得干净,如上图从 (c) 到 (d) 的转变所示。

2. 强制互易性 (Enforcing Reciprocity)

在几何匹配中,如果点 A 匹配到点 B,那么点 B 也应该能反向匹配回点 A。为了强制这种一致性并提高鲁棒性,ZeroCo 运行模型两次: 一次照常运行 (\(I_t, I_s\)),一次交换输入运行 (\(I_s, I_t\))。

他们结合这些图来创建一个“互易”的代价体:

Equation for combining cross-attention maps to enforce reciprocity.

这个简单的平均技巧显著去除了噪声,并使匹配对输入交换具有不变性。


超越零样本: 基于学习的扩展

虽然零样本性能令人印象深刻,但作者也展示了可以在这些冻结的注意力图之上训练轻量级的“头 (heads) ”,以在特定任务中实现最先进的结果。

架构

研究人员设计了两种变体:

  1. ZeroCo-flow: 用于光流和几何匹配。
  2. ZeroCo-depth: 用于多帧深度估计。

这两种架构遵循相似的模式: 获取冻结的交叉注意力图,将其输入聚合模块 (以细化代价) ,然后使用上采样模块获得高分辨率预测。

Main architecture for our learning-based experiments. (a) ZeroCo-flow and (b) ZeroCo-depth architectures extend the original zero-shot architecture by incorporating learnable heads.

这种设置非常高效,因为繁重的工作——理解几何结构——已经由预训练的 CVC 模型完成了。可学习的头只是对结果进行润色。


实验结果

该论文在三个主要领域验证了 ZeroCo: 零样本匹配、监督匹配和深度估计。

1. 零样本密集匹配

在 HPatches 基准测试中,ZeroCo 完全碾压了其他基础模型。

Table showing Zero-shot matching results on HPatches. ZeroCo outperforms DINOv2, DIFT, and SD-DINO by a significant margin in Average End-Point Error (AEPE).

  • DINOv2 的误差 (AEPE) 为 28.08。
  • ZeroCo 的误差为 9.41

误差的大幅降低证明了 CVC 中的几何线索比 DINOv2 或 Stable Diffusion (DIFT) 中的语义线索强得多。

从视觉上看,差异是鲜明的。在下面的热图对比中,可以看到 ZeroCo (g 列) 提供了一个聚焦的、单一的红点 (高置信度匹配) ,而 DIFT 或 SD-DINO 则呈现出弥散的云团状。

Visualization of matching costs in previous zero-shot matching methods versus ZeroCo. ZeroCo provides much tighter, cleaner matching heatmaps.

2. 多帧深度估计

这也许是最实用的应用。标准的多帧深度估计依赖于极线几何 (epipolar geometry) ——假设随着相机的移动,静态点会沿着特定的线移动。

缺陷: 极线几何在移动物体上会失效。如果一辆车在你旁边行驶,它打破了极线约束,传统模型通常会错误地估计其深度 (通常认为它在无穷远处) 。

ZeroCo 的修正: 因为 ZeroCo 使用交叉注意力图 (充当完整的代价体) ,它不严格依赖于静态假设。它能够匹配这辆车,仅仅是因为这辆车在两帧中看起来是一样的。

Qualitative results for multi-frame depth estimation on the Cityscapes dataset. Comparison of ManyDepth, DynamicDepth, and ZeroCo-depth.

在上图 (Cityscapes 数据集) 中,请看动态汽车 (移动的车辆) 。

  • ManyDepth (b) 难以清晰地定义它们。
  • ZeroCo-depth (d) 为移动车辆生成了清晰、准确的深度图,无需语义分割掩码即可优雅地处理“动态物体”问题。

KITTI 数据集上的定量结果证实了这一性能,显示 ZeroCo-depth 达到了与最先进的专用网络相媲美的指标。

Table showing Depth estimation results on the Eigen split of KITTI. ZeroCo-depth achieves state-of-the-art results among multi-frame methods.


结论

论文《Cross-View Completion Models are Zero-shot Correspondence Estimators》为神经网络实际学习到的内容提供了全新的视角。通过强迫模型从不同视角重建场景 (跨视图补全) ,我们无意中将其训练成了几何和对应关系的大师。

主要收获:

  1. 不要忽视注意力图: 解码器内部的交叉注意力权重往往比特征向量本身包含更精确的几何信息。
  2. CVC \(\approx\) 对应关系: 跨视图补全任务在数学和结构上类似于自监督对应关系学习。
  3. ZeroCo 开箱即用: 你可以直接提取这些图进行高质量的零样本匹配。
  4. 鲁棒性: 由于不依赖严格的极线约束,ZeroCo 在处理深度估计中的动态场景和噪声方面具有显著优势。

对于学生和研究人员来说,这表明下一次当你需要对齐图像或寻找密集匹配时,可能不需要从头开始训练一个新模型——答案可能已经隐藏在预训练修复模型的注意力层中。