[CS131] Lecture 18 Tracking

根据 Stanford CS131 课程写的笔记(大部分为 note 翻译),英语水平一般,如有错误请评论指正

Lecture 18 Tracking

Introduction: What is tracking?

Definition

定位在连续时间下移动的物体的过程

Objective

在连续视频帧下关联目标物体并评估目标状态

Applications

  • 人机互动
  • 安全
  • AR
  • 交通
  • 医疗图像

Challenges

因为视频的大量数据,耗时较长。并依赖于物体识别算法,在以下情况可能会失败:

  • 几何改变,例如物体的尺度改变
  • 光方面的改变
  • 图像帧中遮挡
  • 非线性移动
  • 分辨率低的模糊视频
  • 同框的相似物体

Feature Tracking

Definition

特征追踪是检测并追踪在连续时间下视觉特征点

Challenges of feature tracking

  • 找出哪些特征可被追踪
  • 随着帧追踪——一些点可能产生明显变化(例如,因为旋转,光照改变)
  • 平移:随着模型升级,小错误可能积累成大错误
  • 点可能会消失,需要能够删除、添加点

What are good features to track?

通常我们会避开选择光滑区域和边缘作为特征。为了选出 “高质量” 的特征,一种方法是检测 Harris Corners 作为关键点,这样能够保证较小的错误敏感性。

一旦选好了特征,接下来就可以使用光流算法来解决移动测量问题。

Example

Tracking methods

Simple Kanade–Lucas–Tomasi feature tracker

The Kanade–Lucas–Tomasi (KLT) 特征追踪器是一种特征提取方法。KLT 使用空间强度信息来引导位置的搜索,从而找到最佳匹配位置。算法如下:

  1. 找到一个好的点来追踪 (Harris corner)

    Harris corner 点有较大特征值,所以光流方程可解

  2. 对每个 Harris corner 计算帧之间的运动(平移或仿射)

  3. 在连续帧内连接运动向量来得到每个 Harris corner 的轨迹。

    如果新点周围和旧点差距太大,则抛弃这些点

  4. 对每 10 或 15 帧应用 Harris 检测器,引入新的 Harris 点。

下图的箭头表示 Harris corners 的运动追踪。

2D Transformations

Types of 2D Transformations

有多种类型的 2D 转换。可以通过摄像机(放置位置、移动、视角…)和物体来选择正确的 2D 转换。上图是几种 2D 转换的例子:

  • 平移 (translation) 变换(例如,固定吊顶相机)
  • 相似变换(例如,篮球赛固定相机)
  • 仿射变换(例如,行人检测中的人)
  • 射影变换(例如,移动相机)

Translation

平移运动是一个点平移到另一个点。假设我们有一个在左边 (x,y) ( x , y ) 的点 m m 。应用平移运动将m从点 (x,y) ( x , y ) 移动到 (x,y) ( x ′ , y ′ )

x=x+b1y=y+b2 x ′ = x + b 1 y ′ = y + b 2

可以写成用其次坐标的矩阵变换:
(xy)=(1001b1b2)xy1 ( x ′ y ′ ) = ( 1 0 b 1 0 1 b 2 ) ( x y 1 )

定义 W W
W(x;p)=(10b101b2)

其中因子向量 p=(b1 b2) p = ( b 1   b 2 )

W W p的偏导数为

Wp(x;p)=(1001) ∂ W ∂ p ( x ; p ) = ( 1 0 0 1 )

上式被称作雅克比行列式 (Jacobian)

Similarity Motion

相似运动是一种刚体运动,包括缩放和平移。

我们可以定义相似性为

x=ax+b1y=ay+b2 x ′ = a x + b 1 y ′ = a y + b 2

定义 W,p W , p
W=(a00ab1b2)p=(ab1b2)T W = ( a 0 b 1 0 a b 2 ) p = ( a b 1 b 2 ) T

W W p的偏导数,即雅克比行列式 (Jacobian) 为
Wp(x;p)=(xy1001) ∂ W ∂ p ( x ; p ) = ( x 1 0 y 0 1 )

Affine motion

仿射运动包括放缩,旋转,平移。我们可以表达为

x=a1x+a2y+b1y=a3x+a4y+b1 x ′ = a 1 x + a 2 y + b 1 y ′ = a 3 x + a 4 y + b 1

定义 W,p W , p
W=(a1a3a2a4b1b2)p=(a1a2b1a3a4b2)T W = ( a 1 a 2 b 1 a 3 a 4 b 2 ) p = ( a 1 a 2 b 1 a 3 a 4 b 2 ) T

W W p的偏导数,即雅克比行列式 (Jacobian) 为
Wp(x;p)=(x0y0100x0y01) ∂ W ∂ p ( x ; p ) = ( x y 1 0 0 0 0 0 0 x y 1 )

Iterative KLT tracker

Problem formulation

给定视频顺序,找到对应每帧相连的变化顺序。要求能够处理任意类型的运动。

Approach

与 KLT 追踪器不同之处在于连接帧的方式:用特征数据和线性相似直接解决相关的变换,而不是用光流连接运动向量并追踪运动。这种方式允许我们处理更加复杂(例如,仿射和投射)转换,并更加稳健的连接物体。

步骤:

  1. 用 Harris corner 检测找到特征

  2. 对于每个在位置 x=[x,y]T x = [ x , y ] T 的特征:选择一个特征描述子,并用这个描述子创建一个特征的初始模板(常用附近的像素): T(x) T ( x )

  3. 求出一个 p p ,能够最小化下一帧中在x2=W(x;p)周围(假设是在特征的新位置)的特征描述的错误。用公式描述则是

    x[T(W(x;p))T(x)]2 ∑ x [ T ( W ( x ; p ) ) − T ( x ) ] 2

  4. 迭代的重复以上步骤,将帧之间相连接,随着转换的不断应用,储存特征的坐标。这样能够得到关于物体如何在帧之间移动的测量。

  5. 像之前一样,每 10-15 帧引入一个新 Harris corner 来加入新特征,去除之前不好的特征。

Math

在上面第三步中,我们实际上可以近似计算 p p 。假设有一个关于p,p0的初始猜测,其中 p=p0+Δp p = p 0 + Δ p

现在

E=x[T(W(x;p))T(x)]2=x[T(W(x;p0+Δp))T(x)]2 E = ∑ x [ T ( W ( x ; p ) ) − T ( x ) ] 2 = ∑ x [ T ( W ( x ; p 0 + Δ p ) ) − T ( x ) ] 2

使用泰勒逼近,我们可以看出错误项约等于
Ex[T(W(x;p0))+TWpΔpT(x)]2 E ≈ ∑ x [ T ( W ( x ; p 0 ) ) + ∇ T ∂ W ∂ p Δ p − T ( x ) ] 2

为了最小化此项,我们对 p0 p 0 求偏导,并设为 0,求出 p0 p 0
Epx[T(Wp)T][T(W(x;p0))+TWpΔpT(x)]=0Δp=H1x[T(Wp)T][T(x)T(W(x;p0))]H=x[TWp]T[TWp] ∂ E ∂ p ≈ ∑ x [ ∇ T ( ∂ W ∂ p ) T ] [ T ( W ( x ; p 0 ) ) + ∇ T ∂ W ∂ p Δ p − T ( x ) ] = 0 Δ p = H − 1 ∑ x [ ∇ T ( ∂ W ∂ p ) T ] [ T ( x ) − T ( W ( x ; p 0 ) ) ] H = ∑ x [ ∇ T ∂ W ∂ p ] T [ ∇ T ∂ W ∂ p ]

迭代地设置 p0=p0+Δp p 0 = p 0 + Δ p ,我们可以最终收敛于一个精确的、最小化错误值的 p p ,告诉我们转换的类型。

对平移运动,

Wp(x;p)=(1001)

容易得到,
H=(I2xIxIyIxIyI2y) H = ( I x 2 I x I y I x I y I y 2 )

但是,Harris corner 检测器假设只要 H H ​ 有大特征值(即稳定可逆),那么该点就是一个角。因此,角可能是一个用于计算平移的好特征,恰恰因为角计算出的矩阵是稳定可逆的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值