pixel correspondence in optical flow
我对视频序列中的光流概念不了解,我已经阅读了有关光流的基础知识,并且我熟悉Horn
实际上,Horn,Schunk和Lucas,Kanade的方法以不同的方式处理以下等式:
1 | Fx*U + Fy*V = -Ft |
如您所见,该方程是方程的欠定系统。因此,Horn和Schunk建议整合一个次要假设。平滑度限制
1 2 | (Fx*U + Fy*V + Ft)?2 + lambda * (gradient(U)?2 + gradient(V)?2 = E E -> min |
使用该方程式
可以通过将
Lucas和Kanade提出,在定义的区域中,Lucas Kanade窗口仅计算一个运动矢量(或一个区域具有唯一一个运动/运动恒定约束),并将其放入最小二乘框架:
1 2 | sum(Fx*U + Fy*V + Ft)?2 = E E->min |
对定义区域中的每个像素进行求和。并且
使用这两个方程式,您可以看到像素对应关系是通过使用时间(
- 如果图像包含纹理(光圈问题),则此类方法只能计算运动矢量
-
Fx*U + Fy*V + Ft 是F(x, y, t) = F(x + U, y + V, t + 1) 的一阶泰勒近似值。这意味着您的图像信号必须是线性的。因此,您仅能够计算最多几个像素的运动。这就是为什么图像金字塔用于传递线性度的原因。 - 运动恒定性或平滑度约束可防止出现尖锐的运动边界。这在某些应用程序中可能很重要。
- 该框架不会阻止您出现经典的对应问题。
当Fx * U Fy * V = -Ft时,我们无法为一个像素求解此方程...因此在cvGoodFeaturesToTrack给您提供一组像素之后...在该组中的每个像素周围选择了一个窗口...根据假设强度恒定,即下一帧中的色块/窗口(以所选像素为中心)应该具有相同的强度。因此,假设在frameA中我们通过考虑一个点周围的一个窗口找出一个点的U和V ... U和V给出了该点应该在水平和垂直方向上通过的像素位移...使用U和V,我们在下一帧(即frameB)中找到该点的位置。根据恒定强度假设,帧B中预测点周围的斑块应具有与帧A中点周围的斑块相同的强度...在检查帧A和帧B中两个斑块之间的强度后,确定该点已低于是否尝试过。.我尽力解释一下...如果我在某些时候错了,请更正我..
在Horn和Schunk的方法中,不需要使用无关的方法来计算两个帧之间的像素对应关系。 H