核心思想:使用4D 卷积运算获取dense的匹配
pipeline:
解释:输入为两张image,输出为dense的特征匹配。算法共分为三部分,分别是:特征提取模块、4d卷积模块、coarse和fine融合模块
1> 特征提取模块。
输入两张image,然后使用经典的cnn提取多个分辨率的feature map层次,将高分辨率的feature map称为fine feature,将低分辨率的
feature map称为coarse feature,由于本文想要使用4d卷积元算,为了减少运算量和显存消耗,因此在coarse feature map上进行4d卷积
2>4d卷积
2.1将1中生成的两个coarse feature map计算,其中f表示在(I, j)位置的特征,通过上述计算可以得到
一个Ha * Wa * Hb * Wb的相关性矩阵,矩阵中每个位置的元素代表对应的位置的匹配相似性。
2.2 根据邻域一致性原则(正确匹配的邻域之间匹配相惯性更高)使用4d卷积核对其进行卷积元算(解释:2d卷积是将整个通道进行融合,3d卷积
就可以将在通道上进行分组融合,4d卷积就可以对其邻域进行融合处理)
2.3 在进行卷积运算的时候为了保证一致性(A中的点匹配到了B中,同样B中的这个点也应该匹配到A中的一样的点),4d卷积使用:
,其中
3>coarse 和 fine 融合模块
2中生成的score相关性矩阵是在coarse上进行的运算,为了提高精度,本文使用1中生成的高分辨率feature map进行融合处理。
首先对1中的fine feature map用相同的方法生成,然后对coarse下的
进行上采样,然后:,最终选取channel上的max即为正确的匹配。
loss:
增加一致性约束:
最终loss: