知识库 › 定位仓库学习 › 核心算法 › 前端 › 金字塔光流法

前置知识:Lucas-Kanade光流法

之前提到的LK光流法有一个核心假设,就是画面中的特征点只进行极小位移,且同一窗口内的点的运动状态一致。对于很多情况,上述两个条件并不一定满足,所以需要对画面进行迭代等操作,逐步细化光流。于是就有了金字塔光流法:

金字塔光流法顾名思义,通过从下到上构建若干层分辨率由大到小的图像金字塔,每一层对分辨率减半,到了最上面一层往往只有之前的八分之一。此时在图像上的同一位移,在顶层的移动距离将同样变成之前的八分之一。通过对顶层图像进行初步LK,我们能够得到一个初步 $d_0$,接着对再下面一层进行同样的处理,只不过用上一层传下来的 $d$乘以2作为初始值。

$$\Delta d=(A^TA)^{-1}A^Tb$$

然后用 $d=d_{last}+\Delta d $ 就能够计算出新的光流,就这样一层一层传下去,直到光流在原始图像被精细到亚像素级别。