+ All Categories
Home > Documents > Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT...

Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT...

Date post: 22-May-2019
Category:
Upload: doandang
View: 249 times
Download: 2 times
Share this document with a friend
24
Kanade-Lucas-Tomasi (KLT) Tracker 16-385 Computer Vision (Kris Kitani) Carnegie Mellon University
Transcript
Page 1: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Kanade-Lucas-Tomasi (KLT) Tracker16-385 Computer Vision (Kris Kitani)

Carnegie Mellon University

Page 2: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

https://www.youtube.com/watch?v=rwIjkECpY0M

Page 3: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Feature-based tracking

How should we select features?

How should we track them from frame to frame?

Up to now, we’ve been aligning entire images but we can also track just small image regions too!

Page 4: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

An Iterative Image Registration Technique with an Application to Stereo Vision.

1981

Lucas Kanade

Detection and Tracking of Feature Points.

1991

Kanade Tomasi

Good Features to Track.

1994

Tomasi Shi

History of the

Kanade-Lucas-Tomasi (KLT) Tracker

The original KLT algorithm

Page 5: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Method for aligning (tracking) an image patch

Kanade-Lucas-Tomasi

Method for choosing the best feature (image patch)

for tracking

Lucas-Kanade Tomasi-KanadeHow should we select features?How should we track them from frame

to frame?

Page 6: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

What are good features for tracking?

Page 7: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

What are good features for tracking?

Intuitively, we want to avoid smooth regions and edges. But is there a more

is principled way to define good features?

Page 8: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Can be derived from the tracking algorithm

What are good features for tracking?

Page 9: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Can be derived from the tracking algorithm

What are good features for tracking?

‘A feature is good if it can be tracked well’

Page 10: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Recall the Lucas-Kanade image alignment method:X

x

[I(W(x;p))� T (x)]2

X

x

[I(W(x;p+�p))� T (x)]2incremental update

error function (SSD)

Page 11: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Recall the Lucas-Kanade image alignment method:X

x

[I(W(x;p))� T (x)]2

X

x

[I(W(x;p+�p))� T (x)]2incremental update

error function (SSD)

X

x

I(W(x;p)) +rI

@W

@p�p� T (x)

�2linearize

Page 12: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Recall the Lucas-Kanade image alignment method:X

x

[I(W(x;p))� T (x)]2

X

x

[I(W(x;p+�p))� T (x)]2incremental update

error function (SSD)

X

x

I(W(x;p)) +rI

@W

@p�p� T (x)

�2linearize

H =X

x

rI

@W

@p

�> rI

@W

@p

�p = H�1X

x

rI

@W

@p

�>[T (x)� I(W(x;p))]

Gradient update

Page 13: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Recall the Lucas-Kanade image alignment method:X

x

[I(W(x;p))� T (x)]2

X

x

[I(W(x;p+�p))� T (x)]2incremental update

error function (SSD)

X

x

I(W(x;p)) +rI

@W

@p�p� T (x)

�2linearize

H =X

x

rI

@W

@p

�> rI

@W

@p

�p = H�1X

x

rI

@W

@p

�>[T (x)� I(W(x;p))]

Gradient update

Update p p+�p

Page 14: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Stability of gradient decent iterations depends on …

�p = H�1X

x

rI

@W

@p

�>[T (x)� I(W(x;p))]

Page 15: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Stability of gradient decent iterations depends on …

H =X

x

rI

@W

@p

�> rI

@W

@p

�p = H�1X

x

rI

@W

@p

�>[T (x)� I(W(x;p))]

Inverting the Hessian

When does the inversion fail?

Page 16: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Stability of gradient decent iterations depends on …

H =X

x

rI

@W

@p

�> rI

@W

@p

�p = H�1X

x

rI

@W

@p

�>[T (x)� I(W(x;p))]

Inverting the Hessian

When does the inversion fail?

H is singular. But what does that mean?

Page 17: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Above the noise level

�1 � 0

�2 � 0

Well-conditioned

both Eigenvalues are large

both Eigenvalues have similar magnitude

Page 18: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

Concrete example: Consider translation model

W(x;p) =

x+ p1

y + p2

�W

@p=

1 00 1

H =X

x

rI

@W

@p

�> rI

@W

@p

=X

x

1 00 1

� Ix

Iy

� ⇥Ix

Iy

⇤ 1 00 1

=

Px

Ix

Ix

Px

Iy

IxP

x

Ix

Iy

Px

Iy

Iy

Hessian

How are the eigenvalues related to image content?

Page 19: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

interpreting eigenvalues

λ1

λ2

λ2 >> λ1

λ1 >> λ2�1 ⇠ 0

�2 ⇠ 0

What kind of image patch does each region represent?

Page 20: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

interpreting eigenvalueshorizontal edge

vertical edge

flat

corner

λ1

λ2

λ2 >> λ1

λ1 >> λ2

λ1 ~ λ2

Page 21: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

interpreting eigenvalueshorizontal edge

vertical edge

flat

corner

λ1

λ2

λ2 >> λ1

λ1 >> λ2

λ1 ~ λ2

Page 22: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

What are good features for tracking?

Page 23: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

What are good features for tracking?

min(�1,�2) > �

Page 24: Kanade-Lucas-Tomasi (KLT) Tracker - cs.cmu.edu16385/s17/Slides/15.1_Tracking__KLT.pdf · KLT algorithm 1. Find corners satisfying 2. For each corner compute displacement to next frame

KLT algorithm1. Find corners satisfying

2. For each corner compute displacement to next frame using the Lucas-Kanade method

3. Store displacement of each corner, update corner position

4. (optional) Add more corner points every M frames using 1

5. Repeat 2 to 3 (4)

6. Returns long trajectories for each corner point

min(�1,�2) > �


Recommended