两分钟理解RAFT光流中的相关层

RAFT: Recurrent All-Pairs Field Transforms for Optical Flow是ECCV 2020的Best paper,在看文章时对这个4D相关层感到非常困惑,发现网上也没有很好的资料,思考后聊一聊自己的理解,希望可以帮到大家。
图1.建立correlation volumes
此图说,对两张特征图取内积就可以得到4D volume,其维度为 H ∗ W ∗ H ∗ W H*W*H*W HWHW。在我以往学到的知识中,内积就是两向量对应相乘再相加,此处无法通过以往知识去想象两张图片的内积为什么能生成4D的张量。
文中公式描述

一、相关性计算

本文的correlation volumes叫full correlation volumes,也就是Image1的每个点与Image2的所有点都计算相关性。这一对图片都是3维图片(彩色图片)。
在这里插入图片描述
其中 i , j i,j i,j为Image1的行列, k , l k,l k,l为image2的行列, h h h为通道数。
C 1111 = C_{1111}= C1111= 两图第一个通道 ( 1 , 1 ) (1,1) (1,1)位置相乘 + 两图第二个通道 ( 1 , 1 ) (1,1) (1,1)位置相乘 + 两图第三个通道 ( 1 , 1 ) (1,1) (1,1)位置相乘。
如果Image1 ( 1 , 1 ) (1,1) (1,1)与Image2的所有点计算相关,现在可以想象结果是一个 H ∗ W H*W HW的矩阵。
那么如果Image1所有的点(也就是 H ∗ W H*W HW个点)与Image2的所有点计算相关-> H ∗ W H*W HW H ∗ W H*W HW矩阵->4D张量 H ∗ W ∗ H ∗ W H*W*H*W HWHW
到这里就已经解释了为什么两张彩色图片计算full correlation volumes得出的是4D的张量。

二、相关金字塔

在这里插入图片描述
在这里插入图片描述
已知两张图片做相关性是4D张量,文中说对最后两个维度做pooling也就是 H ∗ W ∗ H ∗ W H*W*H*W HWHW中的第二个 H ∗ W H*W HW,此金字塔为4层的,每一层都只对后面两个维度做pooling。那么前三层如图所示,文中说此操作即可以保证图片的高分辨率信息(第一个 H ∗ W H*W HW不变)又可以保证追踪小位移运动(第二个 H ∗ W H*W HW池化)。

因为前两层应该是Image1第一个点对Image2所有点进行相关得到的,池化过后也就是相当于把Image1或者Image2做池化再进行计算全局相关。

参考文献:RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

猜你喜欢

转载自blog.csdn.net/xiufan1/article/details/122464954