光流的基本概念和原理-Lucas–Kanade光流算法

光流描述的是图像中像素强度的流动。光流法的目的是根据图像中像素点的灰度值强度变化估计出物体移动速度与方向。
光流估计是要给予一定 的假设基础上 才成立的:
(1)前后两帧中点的位移不大;这样才能利用相邻帧之间的位置变化引起的灰度值变化,去求取灰度对位置的偏导数。所有光流法都必须满足。
(2)灰度不变假设,这要求外界光强保持恒定;一个像素点随着时间的变化,其亮度值(像素灰度值)是恒定不变的。这是光流法的基本设定。所有光流法都必须满足。
(3)空间一致性,每个点的运动和邻近的点类似,即前一帧中相邻像素点在后一帧中也是相邻的。这是LK光流法独有的假定,因为为了求取x,y方向的速度,需要建立多个方程联立求解。而空间一致假设就可以利用邻域n个像素点来建立n个方程。
Lucas–Kanade光流算法是一种两帧差分的光流估计算法;就是基于以上假设的成立才会建立出相关的关系方程式;
假设前一帧时间为t, 后一帧时间为t+δt。则前一帧I的像素点I(x, y, z, t)在后一帧中的位置为I(x+δx, y+δy, z+δz, t+δt )。
① 根据亮度恒定假设得出:
前后两帧灰度值不变
② 根据前后两帧唯一相差不大的假设, 将上式右侧用泰勒级数展开:
泰勒以及展开方程式
根据以上得出:

同时对时间t做微分得到:
在这里插入图片描述

其中(dx/dt, dy/dt) = (u, v)为待解像素的光流,分别表示像素在x 轴和y 轴上的运动 速度,dI/dx和 dI/dy分别代表的是像素在x方向和y方向上的梯度,分别用用Ix和Iy比表示得到:

现在有两个未知数,只有一个方程。因此用到第三个假设:即空间一致性假设,LK算法是利用3x3窗口内的9个像素点建立9个方程。简写为下面的形式:
在这里插入图片描述

改写成矩阵为:
在这里插入图片描述

当然两个未知数,9个方程,这是一个超定问题,采用最小二乘法解决:
在这里插入图片描述
在这里插入图片描述
根据上式通过累加邻域像素点在两个维度的偏导数并做矩阵运算,即可算出该点的光流(Vx,Vy)。

求解方法可以使用求解超定方程组,也可以使用高斯牛顿等迭代操作完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值