前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >特征点跟踪之LK光流法

特征点跟踪之LK光流法

作者头像
Mezereon
发布2020-08-24 14:56:20
1.1K0
发布2020-08-24 14:56:20
举报
文章被收录于专栏:MyBlogMyBlog

一般而言,LK光流用于特征点的跟踪,即前一帧中的关键像素到当前帧所对应的位置

LK光流会有一些假设:

  • 灰度不变假设:即真实世界的一个确定的点,反应到像素级别,其灰度是不变的
  • 微扰不变假设:即时间的微小扰动不会引起像素的剧烈变化
  • 空间一致假设:相同表面相邻的点具有相似的运动,像素级别时他们也比较接近

基于前两个假设,便有如下约束方程

I(x,y,z)=I(x+\delta x,y+\delta y,z+\delta z)
I(x,y,z)=I(x+\delta x,y+\delta y,z+\delta z)

其中

I(x,y,z)
I(x,y,z)

是指在

z
z

时刻,坐标

(x,y)
(x,y)

的灰度值

对约束方程做一阶泰勒展开可得

I(x+\delta x,y+\delta y,z+\delta z)=I(x,y,z)+\frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial z}\delta z + R
I(x+\delta x,y+\delta y,z+\delta z)=I(x,y,z)+\frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial z}\delta z + R

其中

R
R

是高阶余项,视为0

易得

\frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial z}\delta z = 0
\frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial z}\delta z = 0

两边除以

\delta z
\delta z

,有

\frac{\partial I}{\partial x}\frac{\delta x}{\delta z}+\frac{\partial I}{\partial y}\frac{\delta y}{\delta z}+\frac{\partial I}{\partial z} = 0
\frac{\partial I}{\partial x}\frac{\delta x}{\delta z}+\frac{\partial I}{\partial y}\frac{\delta y}{\delta z}+\frac{\partial I}{\partial z} = 0

其中

\frac{\delta x}{\delta z}
\frac{\delta x}{\delta z}

\frac{\delta y}{\delta z}
\frac{\delta y}{\delta z}

为像素点沿

x
x

y
y

方向的速度(位移对时间的导数)

简写成

I_xv_x+I_yv_y+I_z=0
I_xv_x+I_yv_y+I_z=0

化作矩阵形式

\left(\begin{matrix} I_x & I_y \end{matrix}\right) \left(\begin{matrix} v_x \\ v_y \end{matrix}\right) = -I_z
\left(\begin{matrix} I_x & I_y \end{matrix}\right) \left(\begin{matrix} v_x \\ v_y \end{matrix}\right) = -I_z

利用第三假设,可以假设在一个

m\times m
m\times m

的窗口内,光流是一个恒定的值,即

\begin{matrix}I_{x_1}v_x+I_{y_1}v_y=-I_{z_1} \\ ... \\ I_{x_{m^2}}v_x+I_{y_{m^2}}v_y=-I_{z_{m^2}} \end{matrix}
\begin{matrix}I_{x_1}v_x+I_{y_1}v_y=-I_{z_1} \\ ... \\ I_{x_{m^2}}v_x+I_{y_{m^2}}v_y=-I_{z_{m^2}} \end{matrix}

利用最小二乘可以直接得到解

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档