High Dynamic Range Images 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 …with a lot of slides stolen from Paul Debevec and Yuanzhen Li,

Slides:



Advertisements
Similar presentations
High Dynamic Range Imaging Samu Kemppainen VBM02S.
Advertisements

Cameras Digital Visual Effects, Spring 2005 Yung-Yu Chuang 2005/3/2 with slides by Brian Curless, Steve Seitz and Alexei Efros.
UNDERSTANDING RAW Joe Sukenick DigiQuest
Computational Photography: Color perception, light spectra, contrast Connelly Barnes.
16421: Vision Sensors Lecture 6: Radiometry and Radiometric Calibration Instructor: S. Narasimhan Wean 5312, T-R 1:30pm – 2:50pm.
Computer graphics & visualization HDRI. computer graphics & visualization Image Synthesis – WS 07/08 Dr. Jens Krüger – Computer Graphics and Visualization.
Recap of Previous Lecture Matting foreground from background Using a single known background (and a constrained foreground) Using two known backgrounds.
10/14/14 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
CS443: Digital Imaging and Multimedia Point Operations on Digital Images Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring.
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 2005 …with a lot of slides stolen from Paul Debevec and Yuanzhen Li,
High Dynamic Range Images : Rendering and Image Processing Alexei Efros.
Capturing Light… in man and machine : Computational Photography Alexei Efros, CMU, Fall 2006 Some figures from Steve Seitz, Steve Palmer, Paul Debevec,
1 Comp300a: Introduction to Computer Vision L. QUAN.
Image Forgery Detection by Gamma Correction Differences.
Imaging Techniques in Digital Cameras Presented by Jinyun Ren Jan
10/16/14 Image-based Lighting (Part 2) Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros, Kevin Karsch.
Computational Photography lecture 13 – HDR CS 590 Spring 2014 Prof. Alex Berg (Credits to many other folks on individual slides)
1/22/04© University of Wisconsin, CS559 Spring 2004 Last Time Course introduction Image basics.
Light and shading Source: A. Efros.
Photography Is the capture of reflective light on light sensitive material. Film-Base Photography used “silver” as the light sensitive material. Digital.
Digital Photography Basics. Pixels A pixel is a contraction if the term PIcture ELement. Digital images are made up of small squares, just like a tile.
How the Camera Works ( both film and digital )
11/18/10 Image-based Lighting (Part 2) Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
Making the best pictures You could possibly make.
Tone mapping with slides by Fredo Durand, and Alexei Efros Digital Image Synthesis Yung-Yu Chuang 11/08/2005.
Recovering High Dynamic Range Radiance Maps from Photographs [Debevec, Malik - SIGGRAPH’97] Presented by Sam Hasinoff CSC2522 – Advanced Image Synthesis.
Photographics 10 Introduction to Digital Photography
High dynamic range imaging. Camera pipeline 12 bits8 bits.
Digital Photography A tool for Graphic Design Graphic Design: Digital Photography.
11/15/11 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
Camera Geometry and Calibration Thanks to Martial Hebert.
1 Image Basics Hao Jiang Computer Science Department Sept. 4, 2014.
How A Camera Works Image Sensor Shutter Mirror Lens.
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)
16421: Vision Sensors Lecture 7: High Dynamic Range Imaging Instructor: S. Narasimhan Wean 5312, T-R 1:30pm – 3:00pm.
Computational photography CS4670: Computer Vision Noah Snavely.
FYS 100 Creative Discovery in Digital Art Forms Fall 2008 Burg Digital Photography Assignment.
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.
Digital Cameras And Digital Information. How a Camera works Light passes through the lens Shutter opens for an instant Film is exposed to light Film is.
Vocabulary Words. 2-stage shutter release is a shutter release, that when pressed halfway, it activates the autofocus and the light meter of the camera,
Film Digital Image Synthesis Yung-Yu Chuang 11/5/2008 with slides by Pat Hanrahan and Matt Pharr.
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.
Panorama artifacts online –send your votes to Li Announcements.
11/16/10 Image-based Lighting Computational Photography Derek Hoiem, University of Illinois Many slides from Debevec, some from Efros T2.
How digital cameras work The Exposure The big difference between traditional film cameras and digital cameras is how they capture the image. Instead of.
High dynamic range imaging Digital Visual Effects, Spring 2006 Yung-Yu Chuang 2006/3/8 with slides by Fedro Durand, Brian Curless, Steve Seitz and Alexei.
Digital Camera TAVITA SU’A. Overview ◦Digital Camera ◦Image Sensor ◦CMOS ◦CCD ◦Color ◦Aperture ◦Shutter Speed ◦ISO.
The Camera. Photography is all about how light interacts with film and with paper. Cameras are designed to control the amount of light that reaches film.
Fundamentals of Digital Images & Photography. Pixels & Colors The pixel (a word invented from "picture element") is the basic unit of programmable color.
Tone mapping Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/13 with slides by Fredo Durand, and Alexei Efros.
Understanding Aperture (a beginner’s guide) Understanding Aperture (a beginner’s guide)
Unit 1 The History of Photography & The Camera
Image-based Lighting Computational Photography
A tool for Graphic Design
Chapter I, Digital Imaging Fundamentals: Lesson II Capture
Introduction to Digital Photography
© 2005 University of Wisconsin
Capturing light Source: A. Efros.
Point Processing CS194: Image Manipulation & Computational Photography
High Dynamic Range Images
Digital Visual Effects, Spring 2006 Yung-Yu Chuang 2006/3/8
Digital Image Synthesis Yung-Yu Chuang 11/01/2005
Recovering HDR radiance maps for Project 5
A tool for Graphic Design
Digital Image Synthesis Yung-Yu Chuang 11/8/2007
Presentation transcript:

High Dynamic Range Images : Computational Photography Alexei Efros, CMU, Fall 2006 …with a lot of slides stolen from Paul Debevec and Yuanzhen Li, © Alyosha Efros

The Grandma Problem

Problem: Dynamic Range , ,000 2,000,000,000 The real world is high dynamic range.

pixel (312, 284) = 42 Image 42 photos?

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

Recovering High Dynamic Range Radiance Maps from Photographs Paul Debevec Jitendra Malik Paul Debevec Jitendra Malik August 1997 Computer Science Division University of California at Berkeley Computer Science Division University of California at Berkeley

Ways to vary exposure  Shutter Speed (*)  F/stop (aperture, iris)  Neutral Density (ND) Filters  Shutter Speed (*)  F/stop (aperture, iris)  Neutral Density (ND) Filters

Shutter Speed Ranges: Canon D30: 30 to 1/4,000 sec. Sony VX2000: ¼ to 1/10,000 sec. Pros: Directly varies the exposure Usually accurate and repeatable Issues: Noise in long exposures Ranges: Canon D30: 30 to 1/4,000 sec. Sony VX2000: ¼ to 1/10,000 sec. Pros: Directly varies the exposure Usually accurate and repeatable Issues: Noise in long exposures

Shutter Speed Note: shutter times usually obey a power series – each “stop” is a factor of 2 ¼, 1/8, 1/15, 1/30, 1/60, 1/125, 1/250, 1/500, 1/1000 sec Usually really is: ¼, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512, 1/1024 sec Note: shutter times usually obey a power series – each “stop” is a factor of 2 ¼, 1/8, 1/15, 1/30, 1/60, 1/125, 1/250, 1/500, 1/1000 sec Usually really is: ¼, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512, 1/1024 sec

 t = 1 sec  t = 1/16 sec  t = 4 sec  t = 1/64 sec The Algorithm Image series  t = 1/4 sec Exposure = Radiance   t log Exposure = log Radiance  log  t Pixel Value Z = f(Exposure)

Response Curve ln Exposure Assuming unit radiance for each pixel Assuming unit radiance for each pixel After adjusting radiances to obtain a smooth response curve Pixel value ln Exposure Pixel value

The Math Let g(z) be the discrete inverse response function For each pixel site i in each image j, want: Solve the overdetermined linear system: Let g(z) be the discrete inverse response function For each pixel site i in each image j, want: Solve the overdetermined linear system: fitting termsmoothness term

Matlab Code function [g,lE]=gsolve(Z,B,l,w) n = 256; A = zeros(size(Z,1)*size(Z,2)+n+1,n+size(Z,1)); b = zeros(size(A,1),1); k = 1; % Include the data-fitting equations for i=1:size(Z,1) for j=1:size(Z,2) wij = w(Z(i,j)+1); A(k,Z(i,j)+1) = wij; A(k,n+i) = -wij; b(k,1) = wij * B(i,j); k=k+1; end A(k,129) = 1; % Fix the curve by setting its middle value to 0 k=k+1; for i=1:n-2 % Include the smoothness equations A(k,i)=l*w(i+1); A(k,i+1)=-2*l*w(i+1); A(k,i+2)=l*w(i+1); k=k+1; end x = A\b; % Solve the system using SVD g = x(1:n); lE = x(n+1:size(x,1));

Results: Digital Camera Recovered response curve log Exposure Pixel value Kodak DCS460 1/30 to 30 sec

Reconstructed radiance map

Results: Color Film Kodak Gold ASA 100, PhotoCD

Recovered Response Curves RedGreen RGBBlue

The Radiance Map

Linearly scaled to display device

Portable FloatMap (.pfm) 12 bytes per pixel, 4 for each channel signexponentmantissa PF Floating Point TIFF similar Text header similar to Jeff Poskanzer’s.ppm image format:

(145, 215, 87, 149) = (145, 215, 87) * 2^( ) = ( , , ) (145, 215, 87, 149) = (145, 215, 87) * 2^( ) = ( , , ) Red Green Blue Exponent 32 bits / pixel (145, 215, 87, 103) = (145, 215, 87) * 2^( ) = ( , , ) (145, 215, 87, 103) = (145, 215, 87) * 2^( ) = ( , , ) Ward, Greg. "Real Pixels," in Graphics Gems IV, edited by James Arvo, Academic Press, 1994 Radiance Format (.pic,.hdr)

ILM’s OpenEXR (.exr) 6 bytes per pixel, 2 for each channel, compressed signexponentmantissa Several lossless compression options, 2:1 typical Compatible with the “half” datatype in NVidia's Cg Supported natively on GeForce FX and Quadro FX Available at

Now What?

Tone Mapping Real World Ray Traced World (Radiance) Display/ Printer 0 to 255 High dynamic range How can we do this? Linear scaling?, thresholding? Suggestions? How can we do this? Linear scaling?, thresholding? Suggestions?

Simple Global Operator Compression curve needs to –Bring everything within range –Leave dark areas alone In other words –Asymptote at 255 –Derivative of 1 at 0 Compression curve needs to –Bring everything within range –Leave dark areas alone In other words –Asymptote at 255 –Derivative of 1 at 0

Global Operator (Reinhart et al)

Global Operator Results

Darkest 0.1% scaled to display device Reinhart Operator

What do we see? Vs.