optical flow与场景中的实际运动是不一样的
场景中的实际运动是3D的运动,而optical flow描述的2D图像之间像素的运动(即相同像素值之间的运动矢量)。
optical flow和场景中的运动并不是一一对应的,会存在两种情况:
场景运动为0,但是optical flow不为0. 比如静止的camera,静止的场景,但是随着场景中光照情况的变化,可能光流会有变化。比如一个亮斑从静止场面上的A点移动到B点,会有光流。
场景运动不为0, 但是optical flow为0. 比如一个桶颜色一模一样,在相机镜头前绕轴心转动,光流为0, 因为2维的图像平面显示桶的投影一致为长方形
基于光流是可以做分割的,就是把动态场景分割,有光流的地方,光流比较大的地方和无光流的地方(静止)分割开’
- 另外一种推导方式是基于最优化求导和泰勒展开来实现的
- 由于标准LK算法的前提是泰勒展开足够近似,也就是说pixel displacement is small 光流较小。所以为了足够精确,采用了迭代的方法。事实上没迭代一次,就更新一下图的位置,让两张track的图的位置接近一次,然后再根据此时的图的位置加上标准光流方法重新计算光流,更新光流。根据光流方程的残差是否小于设定精度以及迭代次数小于设定阈值来决定停止光流。