Grounding Image Matching in 3D with MASt3R
问题描述
给定两张图像 $I^1$ 和 $I^2$ ,分别由未知参数的相机 $C^1$ 和 $C^2$ 采集,恢复出一组像素对应点 ${(i,j)}$
Method
由于gt pointmaps是metric的,所以为了得到metric的预测,将原本的nomalize的因子设置为 $z:= \hat{z}$
Matching prediction head and loss
回归的方法固有地会受到噪声地影响,且DUSt3R没有显式地针对matching任务做训练。
Matching head
Head是一个简单的两层MLP以及非线性GELU激活函数,最后,将每个局部feature 归一化。
Matching objective
一张图像中的每一个local desriptor至多和另一个图像中的单个descriptor想匹配,表示场景中相同的三维点。
infoNCE loss
total loss
Fast reciprocal matching 快速相互匹配
首先在图像 $I^1$ 上的grid上初始化kW个像素的稀疏点集
然后每一个像素映射到$I^2$的NN上,得到的像素同样映射回$I^1$:
在下一次迭代的时候,已经匹配的像素被滤除,设定迭代次数,知道大多数的对应点收敛。
得到的相互匹配集为
输出的对应点集合是所有匹配集的总和
通过快速相互匹配不仅显著提高了匹配的速度,还具备离群值的过滤特性,最终的精度比用全部对应集要更高
Coarse-to-fine matching
在高分辨率的图像上生成多个重叠的窗口,然后选择覆盖最多coarse correspondences 的窗口对子集。具体而言,通过贪心的形式逐步添加窗口对,直到90%的correspondences被覆盖。最后对每一个窗口对进行匹配。