1. 程式人生 > >Lucas-Kanade 演算法原理以及應用,正向、反向、additive、Compositional光流法

Lucas-Kanade 演算法原理以及應用,正向、反向、additive、Compositional光流法

先祭出一片神級總結性的文章:Lucas-Kanade 20 Years On: A Unifying Framework

Lucas-Kanade 演算法原理以及應用

一 演算法原理

1.1 目標函式

Lucas-Kanade Algorithm本質上是為了最小化目標函式:

x[I(W(x;p+Δp))T(x)]2        1∑x[I(W(x;p+Δp))−T(x)]2        (1)

類似高斯牛頓法。其中xx為影象下標,可以是二維(對應影象畫素的座標),也可以是一維(此時為影象展成一維陣列時對應的下標);

pp為目標狀態變數,WW為仿射變化函式,具體範例如下:

2D平移:

W(x;p)=(x+p1y+p2),p=[p1p2]TW(x;p)=(x+p1y+p2),p=[p1p2]T

3D仿射變化

W(x;p)=(1+p1p2p31+p4p5p6)xy1W(x;p)=(1+p1p3p5p21+p4p6)(xy1)
其中 [p=(p1p2p3p4p5p6)T][p=(p1p2p3p4p5p6)T]

1.2 一階泰勒公式展開

對公式1進行一階泰勒公式展開可得

\[x[I(W(x;p))+
IWpΔpT(x)
]
2
\]       2
\[∑x[I(W(x;p))+∇I∂W∂pΔp−T(x)]2\]       (2)

其中
[I=(IxIy)][∇I=(IxIy)]

II已經展開成一列n維向量,則I∇IIIW(x;p)W(x;p)的梯度;

1.3 最小化目標函式條件下的ΔpΔp

求公式2關於ΔpΔp的偏導數

2x[IWp]T[I(W(x;p))+IWpΔpT(x)]      32∑x[∇I∂W∂p]T[I(W(x;p))+∇I∂W∂pΔp−T(x)]      (3)

讓公式3等於0,則

Δp=H1x[IWp]T[T(x)I(W(x;p))]      4Δp=H−1∑x[∇I∂W∂p]T[T(x)−I(W(x;p))]      (4)
其中
H=x[IWp]T[IWp]H=∑x[∇I∂W∂p]T[∇I∂W∂p]

二 LK算在跟蹤的應用

這部分將LK演算法應用到具體的目標跟蹤中,假設跟蹤目標用一個角度、尺度可變的矩形進行描述
將矩形框的位移、角度和尺度引數代入公式W(x;p)W(x;p)xxpp求得

2.1 平移、角度尺度版本

\[W(x;p)=(xScosθySsinθ+ΔxxSsinθ+yScosθ+Δy)\]\[W(x;p)=(xScos⁡θ−ySsin⁡θ+ΔxxSsin⁡θ+yScos⁡θ+Δy)\]

變換引數p=(Δx,Δy,θ,S)Tp=(Δx,Δy,θ,S)T,順時針方向為正方向
則有以下推導

Wp=(1001xSsinθyScosθxScosθySsinθxcosθysinθxsinθ+ycosθ)∂W∂p=(10−xSsin⁡θ−yScos⁡θxcos⁡θ−ysin⁡θ01xScos⁡θ−ySsin⁡θxsin⁡θ+ycos⁡θ)

IWp=(IxIy)(1001xSsinθyScosθxScosθySsinθxcosθysinθxsinθ+ycosθ