100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Lucas-Kanade 算法原理以及应用

Lucas-Kanade 算法原理以及应用

时间:2024-01-03 22:05:00

相关推荐

Lucas-Kanade 算法原理以及应用

Lucas-Kanade 算法原理以及应用

Lucas-Kanade 算法原理以及应用一 算法原理1 目标函数2 一阶泰勒公式展开3 最小化目标函数条件下的pDelta p 二 LK算在跟踪的应用1 平移角度尺度版本2 平移版本3 平移尺度版本4 算法流程 三 小结四 参考文献

一 算法原理

1.1 目标函数

Lucas-Kanade Algorithm本质上是为了最小化目标函数:

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

类似高斯牛顿法。其中x为图像下标,可以是二维(对应图像像素的坐标),也可以是一维(此时为图像展成一维数组时对应的下标);p为目标状态变量,W为仿射变化函数,具体范例如下:

2D平移:

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

3D仿射变化

W(x;p)=(1+p1p2p31+p4p5p6)⎛⎝⎜xy1⎞⎠⎟

其中[p=(p1p2p3p4p5p6)T]

1.2 一阶泰勒公式展开

对公式1进行一阶泰勒公式展开可得

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

其中

[∇I=(IxIy)]

设I已经展开成一列n维向量,则∇I为I在W(x;p)的梯度;

1.3 最小化目标函数条件下的Δp

求公式2关于Δp的偏导数

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

让公式3等于0,则

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

其中

H=∑x[∇I∂W∂p]T[∇I∂W∂p]

二 LK算在跟踪的应用

这部分将LK算法应用到具体的目标跟踪中,假设跟踪目标用一个角度、尺度可变的矩形进行描述

将矩形框的位移、角度和尺度参数代入公式W(x;p)、x和p求得

2.1 平移、角度尺度版本

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

变换参数p=(Δx,Δy,θ,S)T,顺时针方向为正方向

则有以下推导

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

∇I∂W∂p=(∂I∂x∂I∂y)(1001−xSsinθ−yScosθxScosθ−ySsinθxcosθ−ysinθxsinθ+ycosθ)

=∂I∂x∂I∂y(−(xsinθ+ycosθ)∂I∂x+(xcosθ−ysinθ)∂I∂y)S(xcosθ−ysinθ)∂I∂x+(xsinθ+ycosθ)∂I∂y

所以∇I∂W(x;0)∂p=(∂I∂x∂I∂y−y∂I∂x+x∂I∂yx∂I∂x+y∂I∂y)

2.2 平移版本

[W(x;p)=(x+Δxy+Δy)],其中p=(Δx,Δy)T则有:

∂W∂p=(1001)\[∇I∂W∂p=(∂I∂x∂I∂y)(1001)=(∂I∂x∂I∂y)\]

所以可得:[∇I∂W(x;0)∂p=(∂I∂x∂I∂y)]

2.3 平移、尺度版本

[W(x;p)=(Sx+ΔxSy+Δy)],其中[p=(Δx,Δy,S)T],可得

\[∇I∂W∂p=(∂I∂x∂I∂y)(1001xy)=(∂I∂x∂I∂y)\]

所以\[∇I∂W(x;0)∂p=(∂I∂x∂I∂yx∂I∂x+y∂I∂y)\]

2.4 算法流程

根据p按W截取图像 I,并对I做归一化;生成模板的下标矩阵x,y;计算模板的梯度∇I计算∇I∂W(x;0)∂p计算H=∑x[∇I∂W∂p]T[∇I∂W∂p]计算误差[T(x)−I(W(x;p))]计算\[∑x[∇I∂W∂p]T[T(x)−I(W(x;p))]\]根据公式\[Δp=H−1∑x[∇I∂W∂p]T[T(x)−I(W(x;p))]\],求出状态参数的变化更新目标状态:\[p=p+Δp\]判断结果是否收敛,若不收敛,则返回步骤1

三 小结

1、本文的方法本质上是通过梯度下降方法来寻找局部最优解,因此需要初始位置要在最优解的领域内。也就是说,前后两帧目标状态不发发生明显变化的情况。

2、克服目标的大范围运动,可以通过图像金字塔的方法进行跟踪

3、在opencv中,其LK光流算法是实现图像子块的位置跟踪,子块大小一般为5*5.opencv的这个函数是结合图像金字塔,实现对子块的大范围跟踪。但这个函数不能直接得到子块的尺度和角度变化。

4、opencv的LK目标跟踪算法不能应用于光照突变的情况。但是如果目标函数的I和T如果是经过标准化的,相信能提高对光照变化的抗干扰能力

四 参考文献:

Lucas-Kanade 20 Years On: A Unifying Framework IJCV 基于Lucas-kanade目标跟踪算法(本文算法实现代码)基于光流法的目标跟踪(代码):使用opencv的稀疏光流法实现的跟踪算法,是一个基于点跟踪的目标跟踪算法基于前向后向光流的目标跟踪(代码)(Forward-Backward Error: Automatic Detection of Tracking Failures):基于光流法的目标跟踪的改进算法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。