Title: Feature Tracking with H'264 Motion Vectors for Mobile Augmented Reality
1Feature Tracking with H.264Motion Vectors
forMobile Augmented Reality
- Vijay Chandrasekhar
- Gabriel Takacs
- Louis Chen
- EE398B Project
- 29 May 2007
- Stanford University
2Outline
- Introduction to Mobile Augmented Reality (MAR)
- Background on Tracking
- Good Points to Track
- Point-Based Scheme
- Model-Based Scheme
- Extension to Various GOP Structures
- Results
- Conclusion
3Introduction to MAR
4Still-Image MAR
- Extract scale-invariant features (SIFT or SURF)
- Features are unique, identifiable points in image
- Match features with database
5MAR System Overview
- Group pictures by GPS location
- Loxel (Location Cell)
- Kernel (Neighborhood of Loxels)
6Motivation for Tracking Features
- Feature matches are interest points
- Inefficient to extract/match features in all
frames - Smooth user experience
7Background on Tracking
- Constant Intensity Assumption
- Aperture Problem
8Background on Tracking
- Frequency Domain
- Optical Flow
- Block Matching
9H.264 Motion Estimation
- Block-matching
- Video encoder implemented in hardware
- Problems
- Intra-blocks do not have motion-vectors
- Rate-distortion optimized motion-vectors
- Motion-vectors point backwards in time
- Aperture problem
10Pixel Connectivity
?
(b2)
(c)
(b)
(b1)
(a)
(a)
t
t1
11H.264 Motion Field
12Good Points to Track
Bergman, Nachlieli, Ruckenstein 2007
Original
Corners
Texture
13Point-Based Scheme
- Track each feature independently
Extract Features
Match Features
Initialize
no
Enough Points in Frame?
yes
(xit1, yit1)
(xit, yit)
Track with Motion Vectors
Next Frame
Mavlankar, Varodayan 2007
14Model-Based Scheme
- Assume
- Corners and Texture are trustworthy for tracking
- Features are from background
- Estimate motion-model with trusted features
- Use motion-model to track untrusted features
15Model-Based Scheme
Extract Features
Detect Corners
Detect Texture
Initialize
no
Match Features
5
(xit1, yit1)
yes
Enough Points in Frame?
Next Frame
(xit, yit)
Model?
yes
Connected
Inter-coded block?
Inliers
Track with Motion Vectors
Form Motion Model
U
3
2
1
Intra
Model
Disconnected
Outliers
U
4
Extrapolate
16Model Estimation
RANSAC
Texture or Corner
Choose points
Well Spaced?
no
Point pairs (xit, yit) (xit1, yit1)
Iterate K times
yes
Form model from sample points
no
Reflect? Shear?
yes
Find model with low error many inliers
Possible Model
no
17GOP Structure Extensions
- Multiple-Reference P-Frames
- B-Frames
I
B
P
B
B
P
1 3 2 5 6 4
18Multi-Connected Frames
Pt-1
Bt
Pt1
B-Frame
Pt-a
Pt
Pt-b
Multiple-Reference P-Frame
19Tracking Videos
- Point-Based Slow Pan
- Model-Based Slow Pan
- Model-Based Fast Pan
- Point-Based Zoom
- Model-Based Zoom
- Point-Based Occlusion
- Model-Based Occlusion
20Ground Truth
- SURF-match every frame w.r.t. anchor frame
21Qualitative Results - Pan
Anchor
Frame 40
Frame 40
Point-Based
Model-Based
22Qualitative Results - Occlude
Anchor
Frame 50
Frame 50
Point-Based
Model-Based
23Qualitative Results - Zoom
Anchor
Frame 60
Frame 60
Point-Based
Model-Based
24Evaluation Metric
- Tracking Error Euclidean Distance
- between ground-truth and tracked feature
positions - Average error vs. time
- Maximum error vs. time
25Perspective vs Affine
26Quantitative Results - Pan
27Quantitative Results - Occlude
28Quantitative Results - Zoom
29Information Overlay
Frame 1
Frame 100
- Use Models to Overlay Information
30Conclusion
- Novel, low-complexity, tracking scheme
- H.264 motion vectors
- Model-based approach
- Low tracking error
- Applications to MAR
- Lower feature extraction/matching frequency
- Overlay information