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”?