光流计算方法及编程

    选自维基百科http://zh.wikipedia.org/wiki/%E5%85%89%E6%B5%81%E6%B3%95

    光流(Optical flow or optic flow)是关于视域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的运动。光流法在模式识别计算机视觉以及其他图像处理中非常有用,可用于运动检测、物件切割、碰撞时间与物体膨胀的计算、运动补偿编码,或者通过物体表面与边缘进行立体的测量等等。

[编辑]光流的测算

一系列的图像可以检测出运动的瞬时速度或离散图像位移。每一个时刻均有一个二维或多维的向量集合,如(x,y,t),表示指定坐标在t点的瞬时速度。设I(x,y,t)为t时刻(x,y)点的强度,在很短的时间Δt内,xy分别增加Δx, Δy ,可得:、

I(x+\Delta x,y+\Delta y,t+\Delta t) = I(x,y,t) + \frac{\partial I}{\partial x}\Delta x+\frac{\partial I}{\partial y}\Delta y+\frac{\partial I}{\partial t}\Delta t

同时,考虑到两帧相邻图像的位移足够短,因此:

I(x,y,t) = I(x+\Delta x, y + \Delta y, t + \Delta t)

因此

\frac{\partial I}{\partial x}\Delta x+\frac{\partial I}{\partial y}\Delta y+\frac{\partial I}{\partial t}\Delta t = 0
\frac{\partial I}{\partial x}\frac{\Delta x}{\Delta t}+\frac{\partial I}{\partial y}\frac{\Delta y}{\Delta t}+\frac{\partial I}{\partial t}\frac{\Delta t}{\Delta t} = 0

最终可得出结论:

\frac{\partial I}{\partial x}V_x+\frac{\partial I}{\partial y}V_y+\frac{\partial I}{\partial t} = 0

这里的 V_x,V_y 是 x和 y 的速率,或称为I(x,y,t)的光流。\tfrac{\partial I}{\partial x}\tfrac{\partial I}{\partial y} 和 \tfrac{\partial I}{\partial t} 是图像 (x,y,t)在t时刻特定方向的偏导数。 I_x I_y 和  I_t 的关系可用下式表述:

I_xV_x+I_yV_y=-I_t

\nabla I^T\cdot\vec{V} = -I_t

stanford作者源码以及所用的视频文件可以在下面网址找到:
http://ai.stanford.edu/~dstavens/cs223b/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值