11/16/10 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.

Slides:



Advertisements
Similar presentations
Lecture 8 Transparency, Mirroring
Advertisements

Week 5 - Friday.  What did we talk about last time?  Quaternions  Vertex blending  Morphing  Projections.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm Lecture #12.
Lecture 35: Photometric stereo CS4670 / 5670 : Computer Vision Noah Snavely.
Computer Graphics In4/MSc Computer Graphics Lecture Notes #15 Illumination III View Independent Rendering.
Week 9 - Monday.  What did we talk about last time?  BRDFs  Texture mapping and bump mapping in shaders.
Capturing light Source: A. Efros. Image formation How bright is the image of a scene point?
Recap of Previous Lecture Matting foreground from background Using a single known background (and a constrained foreground) Using two known backgrounds.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shading I.
10/14/14 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
Image-Based Lighting : Computational Photography Alexei Efros, CMU, Fall 2008 © Eirik Holmøyvik …with a lot of slides donated by Paul Debevec.
Capturing light Source: A. Efros. Review Pinhole projection models What are vanishing points and vanishing lines? What is orthographic projection? How.
High Dynamic Range Images : Computational Photography Alexei Efros, CMU, Fall 2006 …with a lot of slides stolen from Paul Debevec and Yuanzhen Li,
Image-Based Lighting : Computational Photography Alexei Efros, CMU, Fall 2005 © Eirik Holmøyvik …with a lot of slides donated by Paul Debevec.
Introduction to Computer Vision CS / ECE 181B Tues, May 18, 2004 Ack: Matthew Turk (slides)
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
10/16/14 Image-based Lighting (Part 2) Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros, Kevin Karsch.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Shading I Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
CS 480/680 Computer Graphics Shading I Dr. Frederick C Harris, Jr.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Computer Graphics Inf4/MSc Computer Graphics Lecture Notes #16 Image-Based Lighting.
Previous Lecture The 7d plenoptic function, indexing all light. Lightfields: a 4d (not 5d!) data structure which captures all outgoing light from a region.
Light and shading Source: A. Efros.
11/18/10 Image-based Lighting (Part 2) Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
Recovering High Dynamic Range Radiance Maps from Photographs [Debevec, Malik - SIGGRAPH’97] Presented by Sam Hasinoff CSC2522 – Advanced Image Synthesis.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Image-Based Rendering. 3D Scene = Shape + Shading Source: Leonard mcMillan, UNC-CH.
11/15/11 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
High Dynamic Range Images cs195g: Computational Photography James Hays, Brown, Spring 2010 slides from Alexei A. Efros and Paul Debevec.
03/10/03© 2003 University of Wisconsin Last Time Tone Reproduction and Perceptual Issues Assignment 2 all done (almost)
-Global Illumination Techniques
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Ray Tracing Sang Il Park SEjong University With lots of slides stolen from Jehee Lee, Doug James, Steve Seitz, Shree Nayar, Alexei Efros, Fredo Durand.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
CS 638, Fall 2001 Today Project Stage 0.5 Environment mapping Light Mapping.
Image-Based Lighting cs129: Computational Photography James Hays, Brown, Spring 2011 © Eirik Holmøyvik Slides from Alexei Efros and Paul Debevec adapted.
16421: Vision Sensors Lecture 7: High Dynamic Range Imaging Instructor: S. Narasimhan Wean 5312, T-R 1:30pm – 3:00pm.
Capturing light Source: A. Efros.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
Computer graphics & visualization Photon Mapping.
Radiometry and Photometric Stereo 1. Estimate the 3D shape from shading information Can you tell the shape of an object from these photos ? 2.
Image-Based Lighting © Eirik Holmøyvik …with a lot of slides donated by Paul Debevec CS194: Image Manipulation & Computational Photography Alexei Efros,
High Dynamic Range Images : Computational Photography Alexei Efros, CMU, Spring 2010 …with a lot of slides stolen from Paul Debevec © Alyosha Efros.
Rendering Synthetic Objects into Real Scenes: Bridging Traditional and Image-based Graphics with Global Illumination and High Dynamic Range Photography.
DIGITAL CAMERAS Prof Oakes. Overview Camera history Digital Cameras/Digital Images Image Capture Image Display Frame Rate Progressive and Interlaced scans.
Announcements Office hours today 2:30-3:30 Graded midterms will be returned at the end of the class.
04/30/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling We are now all done with modeling, the standard hardware pipeline.
CSCE 441: Computer Graphics Ray Tracing
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
Distributed Ray Tracing. Can you get this with ray tracing?
Distributed Ray Tracing. Can you get this with ray tracing?
Computer Graphics: Illumination
Basic Ray Tracing CMSC 435/634.
Rendering Pipeline Fall, 2015.
Photorealistic Rendering vs. Interactive 3D Graphics
Image-based Lighting Computational Photography
donated by Paul Debevec
© 2005 University of Wisconsin
(c) 2002 University of Wisconsin
Point Processing CS194: Image Manipulation & Computational Photography
High Dynamic Range Images
CSCI 1290: Comp Photo Fall Brown University James Tompkin
CS5500 Computer Graphics May 29, 2006
Presentation transcript:

11/16/10 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2

Next two classes Today Details on final projects Go over some exam questions Start on ray tracing, environment maps, and relighting 3D objects Thursday Finish relighting Start on hardware side of computational photography: plenoptic camera, coded aperture

Final Projects To do (11/24 or sooner): Send me an with 1.a one-paragraph summary of your project idea 2.when you’d like to meet with me - either this Thursday afternoon except 2:30-3:30, this Friday, or the week after break Ideas – Implement one or more related papers: texture synthesis, image analogies, single-view 3D reconstruction, inserting 3D models, hole-filling, etc., etc. – Extend one of the projects, bringing in ideas from a couple related papers – Do something that seems fun/interesting to you or that builds on interests/research in other areas What is the scope? – 3 credit version: it’s sufficient to get something working that has been done before – 4 credit version: try something new, or try experimenting with variations on an idea, integrate some ideas into your own research, or provide a thorough experimentation, perhaps comparing two methods

Final Projects Project page write-up due on Dec 13 (11:59pm) – Similar to other projects, but with some more detail on how to do it – Can be in html or pdf – Store at url below or include a link from there Class presentations on Dec 14 (1:30-4:30pm) – ~7 minutes per presentation Project Grade – 80%: implementation, results – 20%: presentation

How to render an object inserted into an image? What’s wrong with the teapot?

How to render an object inserted into an image? Traditional graphics way Manually model BRDFs of all room surfaces Manually model radiance of lights Do ray tracing to relight object, shadows, etc.

How to render an object inserted into an image? Image-based lighting Capture incoming light with a “light probe” Model local scene Ray trace, but replace distant scene with info from light probe Debevec SIGGRAPH 1998

Key ideas for Image-based Lighting Environment maps: tell what light is entering at each angle within some shell +

Key ideas for Image-based Lighting Light probes: a way of capturing environment maps in real scenes

Key ideas for Image-based Lighting Capturing HDR images: needed so that light probes capture full range of radiance

Key ideas for Image-based Lighting Ray tracing: determining pixel intensity by shooting out rays from the camera

Key ideas for Image-based Lighting Relighting: environment map acts as light source, substituting for distant scene

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source ?

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffuse Reflection Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffusion Specular Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ1λ1 light source λ2λ2

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection t=1 light source t=n

A photon’s life choices Absorption Diffusion Reflection Transparency Refraction Fluorescence Subsurface scattering Phosphorescence Interreflection λ light source (Specular Interreflection)

A photon’s life choices Absorption Diffusion Reflection Transparency Fluorescence Interreflection Subsurface scattering Phosphoresence camera center image plane λ light source ?

Where are the light sources are in this room?

Rendering Equation Incoming LightBRDFIncident angle Generated light Total reflected light Outgoing light

Rendering a scene with ray tracing

Ray tracing: basics Illustration from camera center image plane λ light source

Diffuse shading

Reflections

Shadows

Ray casting Store colors of surfaces and see what you hit Wolfenstein 3D (1992)

Ray tracing: fast approximation Cast diffuse ray: go towards light and see if an object is in the way Cast reflection ray: see what reflected object is

Ray tracing: interreflections Reflect light N times before heading to light source N=16 N=2

Ray tracing Conceptually simple but hard to do fast Full solution requires tracing millions of rays for many inter-reflections Design choices – Ray paths: Light to camera vs. camera to light? – How many samples per pixel (avoid aliasing)? – How to sample diffuse reflections? – How many inter-reflections to allow? – Deal with subsurface scattering, etc?

Environment Maps The environment map may take various forms: – Cubic mapping – Spherical mapping – other Describes the shape of the surface on which the map “resides” Determines how the map is generated and how it is indexed

Cubic Map Example

Cubic Mapping The map resides on the surfaces of a cube around the object – Typically, align the faces of the cube with the coordinate axes To generate the map: – For each face of the cube, render the world from the center of the object with the cube face as the image plane Rendering can be arbitrarily complex (it’s off-line) To use the map: – Index the R ray into the correct cube face – Compute texture coordinates

Spherical Map Example

Sphere Mapping Map lives on a sphere To generate the map: – Render a spherical panorama from the designed center point To use the map: – Use the orientation of the R ray to index directly into the sphere

Using the Environment Map camera center image plane

reflective surface viewer environment texture image v n r projector function converts reflection vector (x, y, z) to texture image (u, v) Environment Mapping Reflected ray: r=2(n·v)n-v Texture is transferred in the direction of the reflected ray from the environment map onto the object What is in the map?

What approximations are made? The map should contain a view of the world with the point of interest on the object as the Center of Projection – We can’t store a separate map for each point, so one map is used with the COP at the center of the object – Introduces distortions in the reflection, but we usually don’t notice – Distortions are minimized for a small object in a large room The object will not reflect itself!

What about real scenes? From Flight of the Navigator

What about real scenes? from Terminator 2

Real environment maps We can use photographs to capture environment maps – The first use of panoramic mosaics Several ways to acquire environment maps: – Mirrored balls (light probes) – Stitching mosaics – Fisheye lens

Mirrored Sphere

Sources of Mirrored Balls  2-inch chrome balls ~ $20 ea.  McMaster-Carr Supply Company  6-12 inch large gazing balls  Baker’s Lawn Ornaments  Hollow Spheres, 2in – 4in  Dube Juggling Equipment  FAQ on  2-inch chrome balls ~ $20 ea.  McMaster-Carr Supply Company  6-12 inch large gazing balls  Baker’s Lawn Ornaments  Hollow Spheres, 2in – 4in  Dube Juggling Equipment  FAQ on

=> 59% Reflective Calibrating Mirrored Sphere Reflectivity

One small snag How do we deal with light sources? Sun, lights, etc? – They are much, much brighter than the rest of the environment Use High Dynamic Range photography!

Problem: Dynamic Range

, ,000 2,000,000,000 The real world is high dynamic range.

Long Exposure Real world Picture 0 to 255 High dynamic range

Short Exposure Real world Picture High dynamic range 0 to 255

Camera Calibration Geometric –How pixel coordinates relate to directions in the world Photometric –How pixel values relate to radiance amounts in the world Geometric –How pixel coordinates relate to directions in the world Photometric –How pixel values relate to radiance amounts in the world

The Image Acquisition Pipeline scene radiance (W/sr/m ) scene radiance (W/sr/m )  sensor irradiance sensor irradiance sensor exposure sensor exposure latent image latent image Lens Shutter Film Electronic Camera 2 2 tttt film density film density analog voltages analog voltages digital values digital values pixel values pixel values Development CCD ADC Remapping

log Exposure = log (Radiance *  t) Imaging system response function Pixelvalue (CCD photon count)

Varying Exposure

Camera is not a photometer! Limited dynamic range  Perhaps use multiple exposures? Unknown, nonlinear response  Not possible to convert pixel values to radiance Solution: –Recover response curve from multiple exposures, then reconstruct the radiance map Limited dynamic range  Perhaps use multiple exposures? Unknown, nonlinear response  Not possible to convert pixel values to radiance Solution: –Recover response curve from multiple exposures, then reconstruct the radiance map

To be continued…