COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is...

52
COMP 790 COMP 790 - - 096: Computational Photography 096: Computational Photography

Transcript of COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is...

Page 1: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

COMP 790COMP 790--096: Computational Photography096: Computational Photography

Page 2: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Basic InfoBasic Info

• Instructor: Svetlana Lazebnik ([email protected])

• Office hours: By appointment, FB 244

• Class webpage:http://www.cs.unc.edu/~lazebnik/fall08

Page 3: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

TodayToday

• What is computational photography?• Course overview• Course requirements

Page 4: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

What is Computational Photography?What is Computational Photography?

• Definition 1: the use of photographic imagery to create graphics content

Page 5: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Traditional Computer Graphics

3D geometry

physics

simulation

projection

Slide credit: A. Efros

Page 6: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

State of the Art

•Amazingly real•But so sterile, lifeless, futuristic

Slide credit: A. Efros

Page 7: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

The richness of our everyday world

Pavia, ItalySlide credit: A. Efros

Page 8: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Beauty in complexity

Blue Mountains, AustraliaSlide credit: A. Efros

Page 9: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Which parts are hard to model?

Slide credit: A. Efros

Page 10: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

People

From “Final Fantasy”

On the Tube, London

Slide credit: A. Efros

Page 11: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Faces / Hair

Photo by Joaquin Rosales Gomez

From “Final Fantasy”

Slide credit: A. Efros

Page 12: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Urban Scenes

Virtual LA (SGI)

Photo of l LA

Slide credit: A. Efros

Page 13: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Nature

River Cherwell, Oxford

Slide credit: A. Efros

Page 14: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

The Realism Spectrum

+ easy to create new worlds+ easy to manipulate objects/ viewpoint- very hard to look realistic

+ instantly realistic+ easy to aquire- very hard to manipulate objects/viewpoint

Computer Graphics PhotographyComputationalPhotography

RealismManipulationEase of capture

Slide credit: A. Efros

Page 15: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

What is Computational Photography?What is Computational Photography?

• Definition 1: the use of photographic imagery to create graphics content

• Definition 2: The use of computational techniques to overcome limitations of conventional photography

Page 16: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Blur, camera shake, noise, damage

Page 17: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Limited resolution

Page 18: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Bad color / no color

Page 19: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Unwanted objects

Page 20: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Unfortunate expressions

Page 21: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Limited dynamic range

Page 22: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Single viewpoint, static 2D picture

Page 23: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Limitations of traditional photographyLimitations of traditional photography

• Single depth of focus

Page 24: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Course overviewCourse overview

• Data-driven image synthesis• Image enhancement and restoration

– Removing camera shake and motion blur– Color image manipulation– Image completion

• Combining multiple images– Compositing – Panoramas, mosaics, collages– Warping and morphing

• From 2D to 3D– Single-view reconstruction– Multiple-view reconstruction

• Beyond conventional cameras– High dynamic range imaging – Light field cameras, coded apertures

• Digital image forensics

Page 25: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

DataData--driven image synthesisdriven image synthesisTexture synthesis

Efros & Leung (1999), Efros & Freeman (2001)

Image analogies

Hertzmann et al. (2001)

Image super-resolution

Page 26: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Removing Camera Shake and Motion BlurRemoving Camera Shake and Motion Blur

Fergus et al. (2006) Levin (2006)

Yuan et al. (2007)

Page 27: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Color image manipulationColor image manipulationColorization

Levin et al. (2004)

Color Harmonization

Cohen-Or et al. (2006)

White Balance Adjustment

Hsu et al. (2008)

Page 28: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Image completionImage completionImage completion using millions of

photographs

Hays and Efros (2007)

Inpainting

Bertalmio et al. (2000)

Image completion with structure propagation

Sun et al. (2005)

Page 29: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Image compositingImage compositingInteractive Digital Photomontage

Agarwala et al. (2004)

Face Swapping

Bitouk et al. (2008)

Page 30: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Panoramas, collages, etc.Panoramas, collages, etc.Panorama stitching AutoCollage

Rother et al. (2006)

Multi-viewpoint panoramas

Agarwala et al. (2006)

Page 31: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Warping and morphingWarping and morphingImage deformation using moving

least squares

Schaefer et al. (2006)

Face morphing

Page 32: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

From 2D to 3DFrom 2D to 3D

Photo Tourism

Snavely et al. (2006)

Photo Pop-up

Hoiem et al. (2005)

Modeling and Rendering Architecture from Photographs

Debevec et al. (1996)

Page 33: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Beyond conventional camerasBeyond conventional camerasHigh Dynamic Range Imaging

Kopf et al. (2007)

Gigapixel Images

Ng et al. (2005)

Light Field Photography

Page 34: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Image ForensicsImage Forensics

• How to detect manipulated images?

Page 35: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

What will not be coveredWhat will not be covered

• Advanced image-based modeling and rendering– View interpolation– Relighting– Combining photographic imagery with standard graphics imagery

Page 36: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Course requirementsCourse requirements• Paper presentation: 30%

– Think of yourself as “professor” for one class– Make sure you understand all the important techniques in the paper– Integrate related papers, other material covered in the course– Try to encourage discussion

• Participation: 20% – Read all papers– Come to class– Ask and answer questions– Talk to me about your presentation or project

• Final project: 50% – Implementation– Grading is based primarily on effort and initiative – so try to be creative!– Brief project presentation at the end of the course

Page 37: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Project IdeasProject Ideas

• “Straightforward” ideas: implement texture synthesis, panorama stitching, etc.

Page 38: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Texture transferTexture transfer

Page 39: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Tour into the PictureTour into the Picture

Horry et al. (1997)

Page 40: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Creating Creating ““JoinersJoiners””

David Hockney

Flickr“Hockneyesque”

pool

L. Zelnik-Manor and P. Perona, Automating Joiners, 5th International Symposium on Non-Photorealistic Animation and Rendering, 2007

Page 41: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Face MorphingFace Morphing

Page 42: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Playing around with faces on Playing around with faces on hotornot.comhotornot.com

B. Davis and S. Lazebnik, “Analysis of Human Attractiveness Using ManifoldKernel Regression,” ICIP 2008

Page 43: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Face beautificationFace beautification

T. Leyvand, D. Cohen-Or, G. Dror and D. Lischinski, Data-Driven Enhancement of Facial Attractiveness, SIGGRAPH 2008

Page 44: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Hybrid imagesHybrid images

A. Oliva, A. Torralba, P.G. Schyns, “Hybrid Images,”SIGGRAPH 2006

Page 45: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Background ReplacementBackground Replacement

Preliminary results by Sashi Kumar Penta

Page 46: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

““Infinite PanoramasInfinite Panoramas””

J. Sivic, B. Kaneva, A. Torralba, S. Avidan, and W. Freeman,Creating and Exploring a Large Photorealistic Virtual Space,

Internet Vision Workshop, 2008

Page 47: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Creating unlikely juxtapositionsCreating unlikely juxtapositions

Page 48: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Creating unlikely juxtapositionsCreating unlikely juxtapositions

Page 49: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Creating unlikely juxtapositionsCreating unlikely juxtapositions

Jeff Wall, Flooded Grave Scott Mutter, Escalator

Page 50: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Visual rhymingVisual rhyming

R. Raguram and S. Lazebnik, Computing Iconic Summaries for General Visual Concepts, Internet Vision Workshop, 2008

Page 51: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

Class projects: Class projects: PolicyPolicy

• Feel free to use code or software you find on the web, provided it does not make your project trivial

• All outside sources should be fully documented in the final project report

• Feel free to talk to other people about the project, but do yourown implementation

• By default, I expect projects to be individual. In special cases, collaboration is possible, but each person should have a clearly identifiable part that they are responsible for. If you are thinking of collaborating on a project, come and talk to me

Page 52: COMP 790-096: Computational Photographylazebnik/research/fall08/lec01_intro.pdf · What is Computational Photography? • Definition 1: the use of photographic imagery to create graphics

For next timeFor next time

• Send four paper preferences by the end of the week

• Start thinking about final project ideas (feel free to talk to me)

• Read papers on texture synthesis