光流是计算机视觉中非常重要的概念,它主要用于描述视频中连续帧之间像素的运动变化,可以应用于目标追踪、运动估计等场景。
光流方程的背景
光流法假设亮度恒定,即场景中的一个物体在运动过程中,其亮度是不变的。这个假设在实际中并不总是成立,但是在许多情况下,这个假设是合理的,因为在连续的图像帧中,物体的亮度变化通常是比较小的。
基于这个假设,我们可以得到光流方程。光流方程是在小范围内,连续的图像帧之间的运动变化的数学描述。
光流方程的原理与推导
为了推导光流方程,我们首先考虑在时间 t t t和 t + d t t + dt t+dt ( d t dt dt是非常小的时间间隔)两帧图像之间的亮度恒定假设。设 I ( x , y , t ) I(x, y, t) I(x,y,t)表示在时间 t t t,位置 ( x , y ) (x, y) (x,y)的亮度。
我们假设在时间 t + d t t + dt t+dt,这个像素点已经移动到了新的位置 ( x + d x , y + d y ) (x+dx, y+dy) (x+dx,y+dy),并且亮度仍然为 I ( x , y , t ) I(x, y, t) I(x,y,t),所以我们有:
I ( x , y , t ) = I ( x + d x , y + d y , t + d t ) I(x, y, t) = I(x+dx, y+dy, t+dt) I(x,y,t)=I(x+dx,y+dy,t+dt)
然后我们对右侧的 I ( x + d x , y + d y , t + d t ) I(x+dx, y+dy, t+dt) I(x+dx,y+dy,t+dt)做泰勒展开,得到:
I ( x + d x , y + d y , t + d t ) = I ( x , y , t ) + ∂ I ∂ x d x + ∂ I ∂ y d y + ∂ I ∂ t d t + O ( d t ) I(x+dx, y+dy, t+dt) = I(x, y, t) + \frac{\partial I}{\partial x}dx + \frac{\partial I}{\partial y}dy + \frac{\partial I}{\partial t}dt + O(dt) I(x+dx,y+dy,t+dt)=I(x,y,t)+∂x∂Idx+∂y∂Idy+∂t∂Idt+O(dt)
其中, ∂ I ∂ x \frac{\partial I}{\partial x} ∂x∂I, ∂ I ∂ y \frac{\partial I}{\partial y} ∂y∂I, ∂ I ∂ t \frac{\partial I}{\partial t} ∂t∂I分别表示关于 x x x, y y y, t t t的偏导数, O ( d t ) O(dt) O(dt)是高阶小量。
忽略高阶小量,将上面两个等式相减,我们可以得到:
∂ I ∂ x d x + ∂ I ∂ y d y + ∂ I ∂ t d t = 0 \frac{\partial I}{\partial x}dx + \frac{\partial I}{\partial y}dy + \frac{\partial I}{\partial t}dt = 0 ∂x∂Idx+∂y∂Idy+∂t∂Idt=0
这就是光流方程。其中, ∂ I ∂ x \frac{\partial I}{\partial x} ∂x∂I, ∂ I ∂ y \frac{\partial I}{\partial y} ∂y∂I, ∂ I ∂ t \frac{\partial I}{\partial t} ∂t∂I可以通过图像处理技术从图像中直接计算得到。 d x / d t dx/dt dx/dt和 d y / d t dy/dt dy/dt分别是 x x x和 y y y方向上的运动速度,也就是我们要求的光流。
实际上,一般我们将 d x / d t dx/dt dx/dt和 d y / d t dy/dt dy/dt定义为 u u u和 v v v,所以光流方程可以写为:
I x u + I y v + I t = 0 I_x u + I_y v + I_t = 0 Ixu+Iyv+It=0
其中, I x I_x Ix和 I y I_y Iy是图像在 x x x和 y y y方向的梯度, I t I_t It是图像在时间维度的变化, u u u和 v v v是我们要求的光流。
但是要注意,光流方程是一个关于 u u u和 v v v的一元方程,而 u u u和 v v v有两个未知数,所以我们无法直接求解。这就是所谓的光流问题的“光流歧义性”。为了解决这个问题,我们需要引入其他的约束,比如平滑性约束,即假设相邻的像素的光流是相似的,或者使用更复杂的模型,如光流金字塔,光流法网等来求解。