Computational Photography Introduction

Similar documents
CS354 Computer Graphics Computational Photography. Qixing Huang April 23 th 2018

Coding and Modulation in Cameras

Computational Photography

Computational Photography and Video. Prof. Marc Pollefeys

Capturing Light. The Light Field. Grayscale Snapshot 12/1/16. P(q, f)

Dappled Photography: Mask Enhanced Cameras for Heterodyned Light Fields and Coded Aperture Refocusing

Coded Computational Photography!

Coded photography , , Computational Photography Fall 2018, Lecture 14

Computational Camera & Photography: Coded Imaging

To Do. Advanced Computer Graphics. Outline. Computational Imaging. How do we see the world? Pinhole camera

Coded photography , , Computational Photography Fall 2017, Lecture 18

Burst Photography! EE367/CS448I: Computational Imaging and Display! stanford.edu/class/ee367! Lecture 7! Gordon Wetzstein! Stanford University!

Deblurring. Basics, Problem definition and variants

When Does Computational Imaging Improve Performance?

The ultimate camera. Computational Photography. Creating the ultimate camera. The ultimate camera. What does it do?

Changyin Zhou. Ph.D, Computer Science, Columbia University Oct 2012

A Framework for Analysis of Computational Imaging Systems

Coded Aperture for Projector and Camera for Robust 3D measurement

Deconvolution , , Computational Photography Fall 2018, Lecture 12

Agenda. Fusion and Reconstruction. Image Fusion & Reconstruction. Image Fusion & Reconstruction. Dr. Yossi Rubner.

FCam: An architecture for computational cameras

Simulated Programmable Apertures with Lytro

Deconvolution , , Computational Photography Fall 2017, Lecture 17

Digital and Computational Photography

Coded Aperture and Coded Exposure Photography

Modeling and Synthesis of Aperture Effects in Cameras

Recent Advances in Image Deblurring. Seungyong Lee (Collaboration w/ Sunghyun Cho)

Light field sensing. Marc Levoy. Computer Science Department Stanford University

Lecture 18: Light field cameras. (plenoptic cameras) Visual Computing Systems CMU , Fall 2013

A Review over Different Blur Detection Techniques in Image Processing

Computational Cameras. Rahul Raguram COMP

Synthetic aperture photography and illumination using arrays of cameras and projectors

High dynamic range imaging and tonemapping

Computational Approaches to Cameras

Photographic Color Reproduction Based on Color Variation Characteristics of Digital Camera

Less Is More: Coded Computational Photography

fast blur removal for wearable QR code scanners

Raskar, Camera Culture, MIT Media Lab. Ramesh Raskar. Camera Culture. Associate Professor, MIT Media Lab

multiframe visual-inertial blur estimation and removal for unmodified smartphones

Composition Context Photography

Lenses, exposure, and (de)focus

Coded Exposure Deblurring: Optimized Codes for PSF Estimation and Invertibility

Improving Film-Like Photography. aka, Epsilon Photography

Near-Invariant Blur for Depth and 2D Motion via Time-Varying Light Field Analysis

Admin. Lightfields. Overview. Overview 5/13/2008. Idea. Projects due by the end of today. Lecture 13. Lightfield representation of a scene

One Week to Better Photography

Tonemapping and bilateral filtering


Compressive Imaging. Aswin Sankaranarayanan (Computational Photography Fall 2017)

To Denoise or Deblur: Parameter Optimization for Imaging Systems

Flash Photography: 1

Image Enhancement of Low-light Scenes with Near-infrared Flash Images

Image Enhancement of Low-light Scenes with Near-infrared Flash Images

Basic principles of photography. David Capel 346B IST

Computational Photography: Illumination Part 2. Brown 1

Continuous Flash. October 1, Technical Report MSR-TR Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA 98052

Composition Context Photography

Efficient Image Retargeting for High Dynamic Range Scenes

Implementation of Image Deblurring Techniques in Java

Why is sports photography hard?

Automatic Content-aware Non-Photorealistic Rendering of Images

Why learn about photography in this course?

Applications of Flash and No-Flash Image Pairs in Mobile Phone Photography

lecture 24 image capture - photography: model of image formation - image blur - camera settings (f-number, shutter speed) - exposure - camera response

Realistic Image Synthesis

To Denoise or Deblur: Parameter Optimization for Imaging Systems

Focal Sweep Videography with Deformable Optics

La photographie numérique. Frank NIELSEN Lundi 7 Juin 2010

Coded Exposure HDR Light-Field Video Recording

Introduction , , Computational Photography Fall 2018, Lecture 1

Light field photography and microscopy

Fast and High-Quality Image Blending on Mobile Phones

TAKING GREAT PICTURES. A Modest Introduction

Motion-invariant Coding Using a Programmable Aperture Camera

Wavefront coding. Refocusing & Light Fields. Wavefront coding. Final projects. Is depth of field a blur? Frédo Durand Bill Freeman MIT - EECS

Image Processing Architectures (and their future requirements)

Optical image stabilization (IS)

Defocus Map Estimation from a Single Image

Restoration of Motion Blurred Document Images

Admin Deblurring & Deconvolution Different types of blur

A Gentle Introduction to Bilateral Filtering and its Applications 08/10: Applications: Advanced uses of Bilateral Filters

Get the Shot! Photography + Instagram Workshop September 21, 2013 BlogPodium. Saturday, 21 September, 13

Automatic Selection of Brackets for HDR Image Creation

Optical image stabilization (IS)

Computational Photography: Principles and Practice

Modeling the calibration pipeline of the Lytro camera for high quality light-field image reconstruction

Implementation of Adaptive Coded Aperture Imaging using a Digital Micro-Mirror Device for Defocus Deblurring

How to combine images in Photoshop

Total Variation Blind Deconvolution: The Devil is in the Details*

Midterm Examination CS 534: Computational Photography

Improved motion invariant imaging with time varying shutter functions

Cameras. Shrinking the aperture. Camera trial #1. Pinhole camera. Digital Visual Effects Yung-Yu Chuang. Put a piece of film in front of an object.

Introduction to Light Fields

Specifications for Fujifilm FinePix S MP Digital Camera

CS6670: Computer Vision

Transfer Efficiency and Depth Invariance in Computational Cameras

Cameras As Computing Systems

Lens Aperture. South Pasadena High School Final Exam Study Guide- 1 st Semester Photo ½. Study Guide Topics that will be on the Final Exam

Preserving Natural Scene Lighting by Strobe-lit Video

Foundations for Art and Design Through Photography

Transcription:

Computational Photography Introduction Jongmin Baek CS 478 Lecture Jan 9, 2012

Background Sales of digital cameras surpassed sales of film cameras in 2004.

Digital cameras are cool Free film Instant display Quality surpasses film Records metadata shooting parameters, camera location & orientation

Digital cameras are boring Same experience as film cameras Set zoom and focus Set aperture and exposure Press shutter to take a single picture Essentially, film camera with bits (0/1)?

Digital cameras are boring The most common type of digital camera today: cellphone camera. Can we leverage the computational power?

Course Information When: M/W 2:30-3:45 Where: Gates 392 Lecturers: Jongmin Baek Dave Jacobs Kari Pulli (NVidia)

Course Information Office hours: TTh 2:30-3:45, Gates 360 Grading: 2 Assignments (15% each) 1 Final project (70%) Perks: Loaner NVidia Tegra 3 tablet (Thanks Kari)

Course Information (Mostly unenforced) Requirements: Basic knowledge in graphics or vision or photography (CS148, CS178, etc) Mathematical maturity Good programming skills Necessary: C++ or Java Helpful: OpenCV, OpenGL, ImageStack

Course Information E-mail: cs478-win1112-staff@lists.stanford.edu URL: cs478.stanford.edu Schedule Lecture slides Schedule

Computational Photography: Definition Computational techniques that enhance or extend the capabilities of digital photography Output is an ordinary photograph, but one that could not have been taken by a traditional camera

Computational Photography: an Interdisciplinary Field Computer graphics Computer vision Image processing Signal processing Optics Embedded systems

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Multiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Seam Carving for Content-Aware Image Resizing Avidan, Shamir (SIGGRAPH 2007) To expand: insert pixel along seams that, if removed, will yield original image.

Seam Carving for Content-Aware Image Resizing Avidan, Shamir (SIGGRAPH 2007) To contract: remove pixels along the lowest-energy seams, found with dynamic programming Object removal for an application?

A Bayesian Approach to Digital Matting Chuang et al. (CVPR 2001) Generate local color model for foreground, background. Probabilistically assign alpha to unclassified pixels.

Removing Camera Shake from a Single Image Fergus et al. (SIGGRAPH 2006) Fast Motion Deblurring Cho, Lee (SIGGRAPH Asia 2009)

Local Laplacian Filters: Edge-aware Image Processing with a Laplacian Pyramid Paris, Hasinoff, Kautz (SIGGRAPH 2011) Image Smoothing via L0 Gradient Minimization Xu et al. (SIGGRAPH Asia 2011)

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Multiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Interative Digital Photomontage Agarwala et al. (SIGGRAPH 2004)

Interative Digital Photomontage Agarwala et al. (SIGGRAPH 2004)

Interative Digital Photomontage Agarwala et al. (SIGGRAPH 2004)

Interative Digital Photomontage Agarwala et al. (SIGGRAPH 2004)

High Performance Imaging using Large Camera Arrays Wilburn et al. (SIGGRAPH 2005) 640 480 pixels 30 fps 128 cameras synchronized timing continuous streaming flexible arrangement

High Performance Imaging using Large Camera Arrays Wilburn et al. (SIGGRAPH 2005) Σ

Multi-Exposure Imaging on Mobile Devices Gelfand et al. (ACM Multimedia 2010) short exposure (outside ) long exposure (inside ) combined result (everywhere )

Image Deblurring with Blurry/Noisy Image Pairs Yuan et al. (SIGGRAPH 2007) long exposure short exposure same, scaled up joint (blurry) (dark) (noisy) deconvolution

Light Efficient Photography Hasinoff, Kutulakos (ECCV 2008) (+ many others) Combine many photos in a focal stack. Focused near Focused afar

Light Efficient Photography Hasinoff, Kutulakos (ECCV 2008) (+ many others)

Viewfinder Alignment Adams, Gelfand, Pulli (Eurographics 2008) Store and align viewfinder images in real-time. individual frames, aligned panorama

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Multiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Light Field Photography with a Hand-Held Plenoptic Camera Ng et al. (SIGGRAPH 2005)

Light Field Photography with a Hand-Held Plenoptic Camera Ng et al. (SIGGRAPH 2005) Adaptive Optics microlens array 125μ square-sided microlenses 4000 4000 pixels 292 292 lenses = 14 14 pixels per lens

Light Field Photography with a Hand-Held Plenoptic Camera Ng et al. (SIGGRAPH 2005)

Light Field Photography with a Hand-Held Plenoptic Camera Ng et al. (SIGGRAPH 2005) Far Near (Now known as Lytro camera.)

Spatiotemporal modulation of defocus blur ( coded aperture ) Levin et al. (SIGGRAPH 2007) Veeraraghavan et al. (SIGGRAPH 2007) Nagahara et al. (ECCV 2008) Levin et al. (SIGGRAPH 2009)

Image and Depth from a Conventional Camera with a Coded Aperture Levin et al. (SIGGRAPH 2007) conventional aperture coded aperture

Image and Depth from a Conventional Camera with a Coded Aperture Levin et al. (SIGGRAPH 2007) input (blurred) output (deblurred) depthmap

Visualizing Photons in Motion at a Trillion Frames per Second Velten, Raskar, Bawendi (OSA 2011)

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Mutiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Coded Exposure Photography: Motion Deblurring using Fluttered Shutter Raskar, Agrawal, Tumblin (SIGGRAPH 2006) continuous shutter

Coded Exposure Photography: Motion Deblurring using Fluttered Shutter Raskar, Agrawal, Tumblin (SIGGRAPH 2006) continuous shutter fluttered shutter

A Dual In-Pixel Memory CMOS Image Sensor for Computational Photography Wan et al. (Symp. VLSI Circuits 2011) Ghosting

A Dual In-Pixel Memory CMOS Image Sensor for Computational Photography Wan et al. (Symp. VLSI Circuits 2011) Storage 1 Storage 2 Storage 3 Storage 4 Photodiode

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Mutiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Digital Photography with Flash and No-Flash Image Pairs Petschnigg et al. (SIGGRAPH 2004) Flash No-Flash Combined

Digital Photography with Flash and No-Flash Image Pairs Petschnigg et al. (SIGGRAPH 2004) Flash No-Flash Combined

Dark Flash Photography Krishnan, Fergus (SIGGRAPH 2009) Infrared No-Flash Combined Groudtruth

High Accuracy Stereo Depth Map using Structured Light Scharstein, Szeliski (CVPR 2003)

High Accuracy Stereo Depth Map using Structured Light Scharstein, Szeliski (CVPR 2003) scene depth map (Used in Kinect, etc.)

Computational Photography Film-like Photography with bits Computational Camera Smart Light Digital Photography Computational Processing Computational Imaging/Optics Computational Sensor Computational Illumination Image processing applied to captured images to produce better images. Processing of a set of captured images to create new images. Capture of optically coded images and computational? decoding to produce new images. Detectors that combine sensing and processing to create smart pixels. Adapting and Controlling Illumination to Create revealing image Interpolation, Filtering, Enhancement, Dynamic Range Compression, Color Management, Morphing, Hole Filling, Artistic Image Effects, Image Compression, Watermarking. Mosaicing, Matting, Super-Resolution, Multi-Exposure HDR, Light Field from Mutiple View, Structure from Motion, Shape from X. Coded Aperture, Optical Tomography, Diaphanography, SA Microscopy, Integral Imaging, Assorted Pixels, Catadioptric Imaging, Holographic Imaging. Artificial Retina, Retinex Sensors, Adaptive Dynamic Range Sensors, Edge Detect Chips, Focus of Expansion Chips, Motion Sensors. Flash/no flash, Lighting domes, Multi-flash for depth edges, Dual Photos, Polynomial texture Maps, 4D light source [Nayar, Tumblin]

Lots of Cool Stuff, but... Many of these techniques require modifying the camera. Many of these techniques require precise control of the camera parameters. Need a fully programmable and extensible platform! Not really available prior to 2010 until the advent of...

The Frankencamera: an Experimental Platform for Computational Photography Adams et al. (SIGGRAPH 2010) a sensible API to control a camera

Course Summary Learn theories behind cool computational photography projects. Attend lectures. Learn how to put the theories into practice on a mobile platform. Assignment #1 Assignment #2 Final project

Assignment Summary Assignment #1 (15%) Write an autofocus algorithm for a camera application on a Tegra 3 tablet. Assignment #2 (15%) Image processing using OpenCV or ImageStack on Tegra 3 tablet. Final project (70%) Do something cool (by yourself or in a pair.)

Questions?