<<

Computational photography research at Stanford

January 2012

Marc Levoy Computer Science Department Outline

! Light field photography

! FCam and the Stanford Frankencamera

! User interfaces for computational photography

! Ongoing projects • FrankenSLR • burst-mode photography • languages and architectures for programmable • computational videography and cinematography • multi-bucket pixels

2 ! Marc Levoy Light field photography using a handheld plenoptic

Ren Ng, Marc Levoy, Mathieu Brédif, Gene Duval, Mark Horowitz and

(Proc. SIGGRAPH 2005 and TR 2005-02) Light field photography [Ng SIGGRAPH 2005]

! Marc Levoy Prototype camera

Contax medium format camera Kodak 16-megapixel sensor

Adaptive Optics microlens array 125µ square-sided microlenses

4000 ! 4000 pixels ÷ 292 ! 292 lenses = 14 ! 14 pixels per lens

Digital refocusing

!

!

! 2010 Marc Levoy Example of digital refocusing

! 2010 Marc Levoy Refocusing portraits

! 2010 Marc Levoy Light field photography

( demo)

! 2010 Marc Levoy Commercialization

• trades off (excess) spatial resolution for ability to refocus and adjust the perspective

• sensor pixels should be made even smaller, subject to the diffraction limit, for example: 36mm ! 24mm ÷ 2.5µ pixels = 266 Mpix 20K ! 13K pixels 4000 ! 2666 pixels ! 20 ! 20 rays per pixel or 2000 ! 1500 pixels ! 3 ! 3 rays per pixel = 27 Mpix

! Marc Levoy Camera 2.0

Marc Levoy Computer Science Department Stanford University The Stanford Frankencameras

Frankencamera F2 Nokia N900 “F”

! facilitate research in experimental computational photography

! for students in computational photography courses worldwide

! proving ground for plugins and apps for future cameras 14 ! 2010 Marc Levoy CS 448A - Computational Photography

15 ! 2010 Marc Levoy CS 448 projects

M. Culbreth, A. Davis!! ! ! A phone-to-phone 4D light field fax machine J. Koberstein, A. Mattos!! ! Motion blur detection as a game controller N. Sakunkoo!! ! ! ! ! ! Camera-assisted self portraits on mobile devices C. DuHadway!! ! ! ! ! ! Driving/parking assistive mosaics using car cameras C.-H. Chen, S.H. Park!!!High dynamic range (HDR) viewfinding V. Chandrasekhar, G. Takacs!High dynamic range imaging on the Nokia N95 L. Kim, S. Que !! ! !User interfaces for adjusting focus and tone A.Y.L. Chan, S. Meador!! !Photography using circular/hemispherical ring flash P. Huang, Z. Zheng !! ! Image deblurring from multiple images M. Smith !! ! ! ! ! ! ! Representative (non-real) thumbnails for small screens A. Medearis !!!!!!Multi-shot noise reduction for sports photography D. Johnson !! ! ! ! ! ! Synthetic aperture photography using a painted aperture D. Chan !! ! ! ! ! ! Synthetic aperture rear view mirror for safer driving

16 ! 2010 Marc Levoy Frankencamera architecture

Requests Con!gure Application Devices Processor 1 Lens Actions Expose 2 Flash Readout Metadata + ... 3

Imaging Processor Images and Statistics Image Statistics Processing Collection 4

17 ! 2010 Marc Levoy Frankencamera software: the FCAM API

Sensor sensor; Flash flash; vector burst(2);

burst[0]. = 1/200.; burst[1].exposure = 1/30.;

Flash::FireAction fire(&flash); fire.time = burst[0].exposure/2; burst[0].actions.insert(fire);

sensor.stream(burst);

while (1) { Frame flashFrame = sensor.getFrame(); Frame noflashFrame = sensor.getFrame(); } 18 ! 2010 Marc Levoy Demonstration applications

• Canon 430EX (smaller flash) strobed continuously

• Canon 580EX (larger flash) fired once at end of exposure

19 ! 2010 Marc Levoy Fcam is being actively ported to...

! Android (at least by NVIDIA)

! iOS?

! Nokia/Microsoft?

! Android point-and-shoot camera?

20 ! 2010 Marc Levoy Prospects for computational photography

! the megapixel wars are over (and it’s about time)

! computational photography is the next battleground in the camera industry (it’s already starting)

21 ! Marc Levoy Premise: available computing power in cameras is rising faster than megapixels

12 70

9 52.5

6 35 megapixels 3 17.5 billions of pixels / second 0 0 2005 2006 2007 2008 2009 2010 Avg megapixels in new cameras, CAGR = 1.2 NVIDIA GTX texture fill rate, CAGR = 1.8 (CAGR for Moore’s law = 1.5)

! this “headroom” permits more computation per pixel,

22 or more frames per second, or less custom hardware ! Marc Levoy Interfaces for computational photography

! the megapixel wars are over (long overdue)

! computational photography is the next battleground in the camera industry (it’s already starting)

! how will these features appear to consumers? • standard and invisible • standard and visible (and disable-able) • aftermarket plugins and apps for your camera

23 ! Marc Levoy Interfaces for computational photography

! the megapixel wars are over (long overdue)

! computational photography is the next battleground in the camera industry (it’s already starting)

! how will these features appear to consumers? • standard and invisible • standard and visible (and disable-able) • aftermarket plugins and apps for your camera

! but aren’t cameras too complicated already? • won’t computational photography make this worse?

24 ! Marc Levoy Sony NEX-5

! manual is 159 pages long • and full of grammatical mistakes

! scene modes are not explained well • Sunset: Shoots the red of the sunset beautifully. (page 43)

! user interface is difficult to navigate 1 8 2 9 3 10 4 11 5 12 6 13 7 25 ! Marc Levoy ProHDR for the iPhone 4S

" 1 " " 2 "

! most popular HDR capture method on the market

! app developers are making photography easy again! 26 ! Marc Levoy Free

27 Free

28 Free

29 Free

circa 500,000 downloads in 2011

30 iPhone 4, single HD video frame

31 SynthCam, align & average ~30 frames

SNR increases as sqrt(# of frames)

32 SynthCam Canon 5DII, 1/400 sec Canon 5DII, average of 15 shots of 1/6 sec

(Marc Levoy)

(Marc Levoy) Removing foreground objects by translating the camera

• align the shots • match histograms • apply median filter

! 2010 Marc Levoy Ongoing projects

! Frankencamera F3 (“FrankenSLR”) • SLR-quality sensor, but big, heavy, and expensive ($10K)

Micron MT9001 Cypress LUPA 4000 • cell phone quality • DSLR quality • $150 • $1500 • arbitrary ROIs and non-destructive readout

39 ! 2010 Marc Levoy Ongoing projects

! Frankencamera F3 (“FrankenSLR”) • SLR-quality sensor, but big, heavy, and expensive ($10K)

! high-speed burst-mode photography • all still cameras should capture at (up to) 500 fps • capture while aiming the camera - no half-press • frameless photography - ROIs, MOIs (“M” = Moment)

40 ! 2010 Marc Levoy Burst-mode photography

41 ! 2010 Marc Levoy Ongoing projects

! Frankencamera F3 (“FrankenSLR”) • SLR-quality sensor, but big, heavy, and expensive ($10K)

! high-speed burst-mode photography • all still cameras should capture at (up to) 500 fps • capture while aiming the camera - no shutter half-press • frameless photography - ROIs, MOIs (“M” = Moment)

! languages and architectures for programmable cameras • FCam was an API for camera control • now we need APIs for photographic processing and computer vision

42 ! 2010 Marc Levoy Ongoing projects

! Frankencamera F3 (“FrankenSLR”) • SLR-quality sensor, but big, heavy, and expensive ($10K)

! high-speed burst-mode photography • all still cameras should capture at (up to) 500 fps • capture while aiming the camera - no shutter half-press • frameless photography - ROIs, MOIs (“M” = Moment)

! languages and architectures for programmable cameras • FCam was an API for camera control • now we need APIs for photographic processing and computer vision

! computational videography & cinematography • stabilization, stereo, view interpolation, free-viewpoint video

43 ! 2010 Marc Levoy 3D video stabilization [Agarwala 2011]

44 (http://web.cecs.pdx.edu/~fliu/project/subspace_stabilization/demo.mp4) ! Marc Levoy Camera 3.0: multi-bucket pixels

transfer gates

TX1 TX2

storage nodes

photodetector

! a CMOS pixel architecture with multiple accumulation nodes per pixel

! can flip between TX1 and TX2 very fast • all pixels flip at once 45 ! 2009 Marc Levoy Flash/noflash photography [Agrawal SIGGRAPH 2005]

another app: TX1 TX2 HDR capture put flash exposure in middle of (with no differences in object motion ambient exposure between exposures)

46 ! 2009 Marc Levoy !"#$%&'()*$+,-'.+"/ High Dynamic Range Photography

Short exposure Long exposure HDR Image

47 !"#$%&'()*$+,-'.+"/ Motion artifacts in HDR

48 !"#$%&'()*$+,-'.+"/ HDR Photography using 4-bucket pixels

Images with different exposures tightly interleaved

49 !"#$%&'()*$+,-'.+"/ 4-Bucket Pixel Layout (3D View)

50 Requests Image Sensor Con!gure Application Devices Processor 1 Lens Actions Expose 2 Flash Readout Metadata + ... 3

Imaging Processor Sensor sensor; Images and Statistics Image Statistics Shot low, med, high; Processing Collection 4 low.exposure = 1/80.; med.exposure = 1/20.; high.exposure = 1/5.;

sensor.capture(low); sensor.capture(med); sensor.capture(high);

Frame frames[3]; frames[0] = sensor.getFrame(); frames[1] = sensor.getFrame(); frames[2] = sensor.getFrame();

fused = mergeHDR(frames); http://graphics.stanford.edu/projects/camera-2.0/