核心思想:训练一个“指导器”,指导匹配的大致范围。
如下图所示:
假设特征是sift,正确的匹配是w,通过最近邻算法可能得到的匹配是p1,如果先有一个指导,告诉你大致正确的匹配
在p2附近,那么就有很大的可能找到w正确匹配。因此本文的重点是如果训练出一个这样的“指导”器。
整体pipeline:
-
和NC-NET中的4d卷积基本上一致,首先输入两张图,经过cnn网络会输出两张feature map。
-
然后通过计算一个4d的tensor,表示的是匹配的相关性score 矩阵。
-
然后运用4d卷积(请注意,由于4d卷积计算成本较大,因此这里在低分辨率的feature map上进行)。
-
输出最终的S矩阵,就可以通过判断score得到“粗”匹配。
那么重点是如何训练网络,本文提出了三种方式:image 级别,极线约束,点级别
其中s表示上述sore,L可以是用三种方式得到。
1.image pair:,其中y为正样本是1,负样本是-1
2.极线:
3.点(有深度的时候可以):