61
Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2017

Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Embed Size (px)

Citation preview

Page 1: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Multi-Perspective Panoramas

Slides from Lihi Zelnik

CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2017

Page 2: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Objectives

1. Better looking panoramas

2. Let the camera move: • Any view • Natural photographing

Page 3: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Stand on the shoulders of giants

Cartographers

Artists

Page 4: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Cartographic projections

Page 5: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Common panorama projections

θ

φ

Cylindircal

Perspective Stereographic

Page 6: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Global Projections

Cylindircal

Perspective Stereographic

Page 7: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Learn from the artists

Multiple view points

De Chirico “Mystery and Melancholy of a Street”, 1914

perspective perspective

Sharp discontinuity

Page 8: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Renaissance painters solution

“School of Athens”, Raffaello Sanzio ~1510

Give a separate treatment to different parts of the scene!!

Page 9: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Personalized projections

“School of Athens”, Raffaello Sanzio ~1510

Give a separate treatment to different parts of the scene!!

Page 10: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Multiple planes of projection Sharp discontinuities can often be well hidden

Page 11: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

multi-view result

Single view

Page 12: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

multi-view result

Single view

Page 13: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

multi-view result

Single view

Page 14: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Single view

multi-view result

Page 15: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Objectives - revisited

1. Better looking panoramas

2. Let the camera move: • Any view • Natural photographing

Multiple views can live together

Page 16: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Multi-view compositions

David Hockney, Place Furstenberg, (1985)

Page 17: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Melissa Slemin, Place Furstenberg, 2003

Why multi-view?

Multiple viewpoints Single viewpoint

David Hockney, Place Furstenberg, 1985

Page 18: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Long Imaging

Agarwala et al. (SIGGRAPH 2006)

Page 19: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Smooth Multi-View

Google maps

Page 20: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

What’s wrong in the picture?

Google maps

Page 21: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Non-smooth

Google maps

Page 22: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

The Chair

David Hockney (1985)

Page 23: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Joiners are popular

4,985 photos matching joiners.

4,007 photos matching Hockney.

41 groups about Hockney

Thousands of members

Flickr statistics (Aug’07):

Page 24: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Main goals:

Automate joiners

Generalize panoramas to general image collections

Page 25: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Objectives

• For Artists: Reduce manual labor

Manual: ~40min. Fully automatic

Page 26: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Objectives

• For Artists: Reduce manual labor

• For non-artists: Generate pleasing-to-the-eye joiners

Page 27: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Objectives

• For Artists: Reduce manual labor

• For non-artists: Generate pleasing-to-the-eye joiners

• For data exploration: Organize images spatially

Page 28: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

What’s going on here?

Page 29: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

A cacti garden

Page 30: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Principles

Page 31: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Principles

• Convey topology

Correct

Incorrect

Page 32: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Principles

• Convey topology

• A 2D layering of images

Blending: blurry

Graph-cut: cuts hood

Desired joiner

Page 33: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Principles

• Convey topology

• A 2D layering of images

• Don’t distort images

rotate scale translate

Page 34: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Principles

• Convey topology

• A 2D layering of images

• Don’t distort images

• Minimize inconsistencies

Good Bad

Page 35: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Algorithm

Page 36: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Step 1: Feature matching

Brown & Lowe, ICCV’03

Page 37: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Step 2: Align

Large inconsistencies

Brown & Lowe, ICCV’03

Page 38: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Step 3: Order

Reduced inconsistencies

Page 39: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Ordering images

Try all orders: only for small datasets

Page 40: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Ordering images

Try all orders: only for small datasets

complexity: (m+n)α m = # images n = # overlaps α = # acyclic orders

Page 41: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Ordering images

Observations: – Typically each image overlaps with only a

few others – Many decisions can be taken locally

Page 42: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Ordering images

Approximate solution: – Solve for each image independently – Iterate over all images

Page 43: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Can we do better?

Page 44: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Step 4: Improve alignment

Page 45: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Iterate Align-Order-Importance

Page 46: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Iterative refinement Initial Final

Page 47: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Iterative refinement Initial Final

Page 48: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Iterative refinement Initial Final

Page 49: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

What is this?

Page 50: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

That’s me reading

Page 51: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Anza-Borrego

Page 52: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Tractor

Page 53: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Manual by Photographer

Page 54: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Our automatic result

Page 55: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Failure?

Page 56: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

GUI

Page 57: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

The Impossible Bridge

Page 58: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

Homage to David Hockney

Page 59: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

• Incorrect geometries are possible and fun! • Geometry is not enough, we need scene

analysis

• A highly related work: "Scene Collages and Flexible Camera Arrays,” Y. Nomura, L. Zhang and S.K. Nayar, Eurographics Symposium on Rendering, Jun, 2007.

Take home

Page 60: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational
Page 61: Multi-Perspective Panoramasinst.eecs.berkeley.edu/~cs194-26/fa17/Lectures/MultiPerspective.pdf · Multi-Perspective Panoramas Slides from Lihi Zelnik CS194: Image Manipulation & Computational

This Class Project from 2007

http://www.cs.cmu.edu/afs/andrew/scs/cs/15-463/f07/proj_final/www/echuangs/