Announcements
|
|
|
|
more panorama slots available
now |
|
you can sign up for a 2nd
time if you’d like |
Motion Estimation
|
|
|
|
Today’s Readings |
|
Szeliski Chapters 7.1, 7.2, 7.4 |
Why estimate motion?
|
|
|
|
Lots of uses |
|
Track object behavior |
|
Correct for camera jitter
(stabilization) |
|
Align images (mosaics) |
|
3D shape reconstruction |
|
Special effects |
Motion estimation
|
|
|
|
Input: sequence of images |
|
Output: point correspondence |
|
|
|
Feature correspondence: “Feature Tracking” |
|
we’ve seen this already (e.g.,
SIFT) |
|
can modify this to be more
accurate/efficient if the images are in sequence (e.g., video) |
|
|
|
Pixel (dense)
correspondence: “Optical Flow” |
|
today’s lecture |
Optical flow
Problem definition: optical flow
|
|
|
How to estimate pixel motion
from image H to image I? |
Optical flow constraints (grayscale
images)
|
|
|
Let’s look at these constraints
more closely |
Optical flow equation
|
|
|
Combining these two equations |
Optical flow equation
|
|
|
Combining these two equations |
Optical flow equation
|
|
|
Q: how many unknowns and equations per pixel? |
Aperture problem
Aperture problem
Solving the aperture
problem
|
|
|
|
|
Basic idea: assume motion field is smooth |
|
|
|
Horn & Schunk: add smoothness term |
|
|
|
|
|
Lucas & Kanade: assume locally constant motion |
|
pretend the pixel’s neighbors
have the same (u,v) |
|
|
|
|
|
Many other methods exist. Here’s an overview: |
|
S. Baker, M. Black, J. P.
Lewis, S. Roth, D. Scharstein, and R. Szeliski. A database and evaluation
methodology for optical flow. In Proc. ICCV, 2007 |
|
http://vision.middlebury.edu/flow/ |
Lucas-Kanade flow
|
|
|
|
|
|
How to get more equations for a
pixel? |
|
Basic idea: impose additional constraints |
|
most common is to assume that
the flow field is smooth locally |
|
one method: pretend the pixel’s neighbors have the same
(u,v) |
|
If we use a 5x5 window, that
gives us 25 equations per pixel! |
RGB version
|
|
|
|
|
|
How to get more equations for a
pixel? |
|
Basic idea: impose additional constraints |
|
most common is to assume that
the flow field is smooth locally |
|
one method: pretend the pixel’s neighbors have the same
(u,v) |
|
If we use a 5x5 window, that
gives us 25*3 equations per pixel! |
Lucas-Kanade flow
|
|
|
Prob: we have more equations than unknowns |
Conditions for
solvability
|
|
|
|
Optimal (u, v) satisfies
Lucas-Kanade equation |
Observation
|
|
|
|
|
This is a two image problem BUT |
|
Can measure sensitivity by just
looking at one of the images! |
|
This tells us which pixels are
easy to track, which are hard |
|
very useful for feature
tracking... |
Errors in Lucas-Kanade
|
|
|
|
What are the potential causes
of errors in this procedure? |
|
Suppose ATA is
easily invertible |
|
Suppose there is not much noise
in the image |
|
|
Improving accuracy
|
|
|
Recall our small motion
assumption |
Iterative Refinement
Revisiting the small
motion assumption
|
|
|
|
Is this motion small enough? |
|
Probably not—it’s much larger
than one pixel (2nd order terms dominate) |
|
How might we solve this
problem? |
Reduce the resolution!
Coarse-to-fine optical
flow estimation
Coarse-to-fine optical
flow estimation
Optical flow result
Robust methods
|
|
|
|
L-K minimizes a sum-of-squares
error metric |
|
least squares techniques overly
sensitive to outliers |
Robust optical flow
|
|
|
Robust Horn & Schunk |
|
|
|
Robust Lucas-Kanade |
Benchmarking optical flow
algorithms
|
|
|
|
Middlebury flow page |
|
http://vision.middlebury.edu/flow/ |
|
|
Discussion: features vs. flow?
|
|
|
Features are better for: |
|
|
|
|
|
Flow is better for: |
Advanced topics
|
|
|
|
Particles: combining features and flow |
|
Peter Sand et al. |
|
http://rvsn.csail.mit.edu/pv/ |
|
|
|
State-of-the-art feature
tracking/SLAM |
|
Georg Klein et al. |
|
http://www.robots.ox.ac.uk/~gk/ |
|
|