光流法对于大运动的跟踪束手无策,然后有人又提出图像金字塔的方法来解决这个问题。通过建立金字塔,在多尺度下计算光流,使得光流的计算的准确性又跨越了一步。

L-K方法计算目标的光流,再将计算出来的光流向底层投影,计算下一层的光流,直到估算出原图像帧的光流。

opencv光流法跟踪_光流

opencv光流法跟踪_光流法_02

opencv光流法跟踪_光流法_03

opencv光流法跟踪_opencv光流法跟踪_04


3-4层金字塔,没有必要建立更多的金字塔层数,因为随着图像的移动,算法可以应对光流大于窗口尺寸的特征点跟踪问题。

金字塔L-K光流通常用来估计图像特征点的光流,以提高图像光流场的计算速度。若给定图像I中的像素点u,计算图像J中与其匹配的像素点v,使得v=u+d。

其计算的总体流程如下:

最顶层图像的光流,根据最顶层光流结果计算其次上层的光流初始值,再进一步估算其光流的精确值。最后,用计算的次上层光流结果估计下一层光流的初始值,计算其精确的值后再继续带入下一层计算,直到金字塔的最底层。下面以伪代码的形式给出金字塔L-K光流的计算过程:


opencv光流法跟踪_光流_05


opencv光流法跟踪_opencv光流法跟踪_06

opencv光流法跟踪_像素点_07

opencv光流法跟踪_像素点_08



L-K 算法的核心,如果懂了以上的步骤,我相信里看懂此算法的距离不远了,加油!!。