视觉领域运动跟踪基础的算法-光流法

视觉领域运动跟踪基础的算法-光流法中提到L-K光流算法对于邻域窗口大小比较敏感,为了解决这个问题,可以采用图像金字塔的方法,即窗口固定,将图像生成金字塔,在每一层金字塔上都用同一个大小的窗口来进行光流计算。那么在图像较小的时候,窗口显得较大,此时的光流可以跟踪速度较快的目标,而在图像大的时候,光流窗口相对较小,得到的光流就更准确。

如何建立图像金字塔

建立图像金字塔的过程是对图像进行低通滤波的过程,具体步骤如下:

1) 第L-1层图像到第L层图像是通过如下模板对L-1层图像进行低通滤波。

计算公式如下:

2) 将滤波后的图像抽取偶数行偶数列的像素重组为第L层图像,因此最后L层的图像大小是L-1层的一半。

为解决图像滤波时边缘像素的问题,由于模板的半径是1,那么就首先将原始图像的像素扩展一圈,宽度为一个像素,扩展出来的像素值与其相近的原始图像边缘像素一致,即

根据金字塔逐层计算光流

对于一般的视频做光流而言,采用3*3的窗口,图像金字塔的层数有2-3层就够了。因为覆盖范围已经很广了。最后得到的原始图像的光流按照一下公式计算而来:

计算光流的基本方程

光流基本方程是一个最优化的问题,可以通过求导求其最优解。

求偏导:

计算两张图像的差:

这样就算出了LK光流。但是这一光流的假设是泰勒一阶展开足够精确。为了进一步使得计算出来的光流更加精确,我们采用牛顿逼近法进行迭代。

牛顿迭代优化

核心思想在于:在上一次计算出LK光流后,将得到的光流v(k)用来更新参考图像的像素位置(平移),之后再次计算光流。重新更新v(k)。如此循环直到迭代次数达到上限或者误差量ε小于设定的阈值时停止。

最终迭代结束后的精确光流量:

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();