Image Alignment and
Stitching
Today’s lecture
Readings
Motion models
Motion models
Motion models
Motion models
Homographies
Plane perspective mosaics
Rotational mosaics
3D → 2D Perspective
Projection
3D Rotation Model
Image Mosaics (Stitching)
Image Mosaics (Stitching)
Image Mosaics (stitching)
Mosaics for Video Coding
Establishing
correspondences
Stitching demo
Panoramas
Cylindrical panoramas
Cylindrical Panoramas
Cylindrical projection
Cylindrical warping
Spherical warping
3D rotation
Radial distortion
Fisheye lens
Inverse Warping
Image Stitching
Project 2 – image
stitching
Matching features
RAndom SAmple Consensus
RAndom SAmple Consensus
Least squares fit
Assembling the panorama
Problem: Drift
Full-view (360°
spherical) panoramas
Full-view Panoramas
Global alignment
3D Rotation Model
Absolute orientation
Stitching demo
Texture Mapped Model
(sphere)
Texture Mapped Model
(cubical)
Recognizing Panoramas
Recognizing Panoramas
Finding the panoramas
Finding the panoramas
Finding the panoramas
Finding the panoramas
Fully automated 2D
stitching
Get you own copy!
System components
Probabilistic Feature
Matching
RANSAC motion model
RANSAC motion model
RANSAC motion model
Probabilistic model for
verification
How well does this work?
How well does this work?
Matching Mistakes: False
Positive
Matching Mistakes: False
Positive
Matching Mistakes: False
Negative
Matching Mistakes
How can we fix these?
Deghosting and blending
Local alignment
(deghosting)
Local alignment
(deghosting)
Image feathering
Region-based de-ghosting
Region-based de-ghosting
Cutout-based de-ghosting
Cutout-based compositing
Cutout-based compositing
Cutout-based compositing
Final thought: What is a “panorama”?