Camera Image Processing Pipeline

Similar documents
Camera Image Processing Pipeline: Part II

Camera Image Processing Pipeline: Part II

Digital photography , , Computational Photography Fall 2017, Lecture 2

Digital photography , , Computational Photography Fall 2018, Lecture 2

Lecture 30: Image Sensors (Cont) Computer Graphics and Imaging UC Berkeley CS184/284A

Image acquisition. In both cases, the digital sensing element is one of the following: Line array Area array. Single sensor

Noise and ISO. CS 178, Spring Marc Levoy Computer Science Department Stanford University

Lecture 29: Image Sensors. Computer Graphics and Imaging UC Berkeley CS184/284A

Digital Cameras The Imaging Capture Path

DIGITAL CAMERA SENSORS

Digital camera. Sensor. Memory card. Circuit board

Lecture Notes 11 Introduction to Color Imaging

Part Number SuperPix TM image sensor is one of SuperPix TM 2 Mega Digital image sensor series products. These series sensors have the same maximum ima

Image Formation and Capture

Color , , Computational Photography Fall 2017, Lecture 11

Color , , Computational Photography Fall 2018, Lecture 7

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.

TRUESENSE SPARSE COLOR FILTER PATTERN OVERVIEW SEPTEMBER 30, 2013 APPLICATION NOTE REVISION 1.0

IMAGE RESTORATION WITH NEURAL NETWORKS. Orazio Gallo Work with Hang Zhao, Iuri Frosio, Jan Kautz

LENSES. INEL 6088 Computer Vision

Lenses, exposure, and (de)focus

EE 392B: Course Introduction

Advanced Camera and Image Sensor Technology. Steve Kinney Imaging Professional Camera Link Chairman

Noise Reduction in Raw Data Domain

Cameras As Computing Systems

How does prism technology help to achieve superior color image quality?

Figure 1 HDR image fusion example

Processing Time Lapse Astro Images with RawTherapee

Agilent HDCS-1020, HDCS-2020 CMOS Image Sensors Data Sheet

Aperture. The lens opening that allows more, or less light onto the sensor formed by a diaphragm inside the actual lens.

A CAMERA IS A LIGHT TIGHT BOX

Introduction to Computer Vision

Dynamic Range. H. David Stein

Camera Post-Processing Pipeline

DIGITAL IMAGING. Handbook of. Wiley VOL 1: IMAGE CAPTURE AND STORAGE. Editor-in- Chief

Unit 1: Image Formation

Digital Cameras vs Film: the Collapse of Film Photography Can Your Digital Camera reach Film Photography Performance? Film photography started in

Digital Camera Image Formation: Processing and Storage

Color image Demosaicing. CS 663, Ajit Rajwade

Photography Basics. Exposure

Acquisition. Some slides from: Yung-Yu Chuang (DigiVfx) Jan Neumann, Pat Hanrahan, Alexei Efros

A simulation tool for evaluating digital camera image quality

Photons and solid state detection

Introduction to Image Processing and Computer Vision -- Noise, Dynamic Range and Color --

Building a Real Camera. Slides Credit: Svetlana Lazebnik

Fundamentals of CMOS Image Sensors

CMOS Image Sensors in Cell Phones, Cars and Beyond. Patrick Feng General manager BYD Microelectronics October 8, 2013

Digital Imaging with the Nikon D1X and D100 cameras. A tutorial with Simon Stafford

Introduction to Digital Photography

CS 89.15/189.5, Fall 2015 ASPECTS OF DIGITAL PHOTOGRAPHY COMPUTATIONAL. Sensors & Demosaicing. Wojciech Jarosz

The Raw Deal Raw VS. JPG

Learning the image processing pipeline

Building a Real Camera

What will be on the final exam?

OFFSET AND NOISE COMPENSATION

pco.edge 4.2 LT 0.8 electrons 2048 x 2048 pixel 40 fps up to :1 up to 82 % pco. low noise high resolution high speed high dynamic range

Wireless Communication

COLOR FILTER PATTERNS

Image Formation and Capture. Acknowledgment: some figures by B. Curless, E. Hecht, W.J. Smith, B.K.P. Horn, and A. Theuwissen

Cameras CS / ECE 181B

The Denali-MC HDR ISP Backgrounder

TAKING GREAT PICTURES. A Modest Introduction

Video Quality Enhancement

Improved sensitivity high-definition interline CCD using the KODAK TRUESENSE Color Filter Pattern

Visibility of Uncorrelated Image Noise

Megapixels and more. The basics of image processing in digital cameras. Construction of a digital camera

A High Image Quality Fully Integrated CMOS Image Sensor

VU Rendering SS Unit 8: Tone Reproduction

Video Quality Enhancement

Image and Video Processing

Image Denoising Using Statistical and Non Statistical Method

Digital Photographs, Image Sensors and Matrices

Astronomy 341 Fall 2012 Observational Astronomy Haverford College. CCD Terminology

VGA CMOS Image Sensor BF3905CS

Digital Cameras vs Film: the Collapse of Film Photography Can Your Digital Camera reach Film Photography Performance? Film photography started in

University Of Lübeck ISNM Presented by: Omar A. Hanoun

Cameras. CSE 455, Winter 2010 January 25, 2010

Putting It All Together: Computer Architecture and the Digital Camera

How to capture the best HDR shots.

CS 89.15/189.5, Fall 2015 ASPECTS OF DIGITAL PHOTOGRAPHY COMPUTATIONAL. Image Processing Basics. Wojciech Jarosz

Chapter 4: Image Transfer Choosing a Computer

NTSC/PAL CMOS Image Sensor. BF3009CL Datasheet

High Resolution BSI Scientific CMOS

F-number sequence. a change of f-number to the next in the sequence corresponds to a factor of 2 change in light intensity,

THE DIFFERENCE MAKER COMPARISON GUIDE

VGA CMOS Image Sensor BF3005CS

White Paper. VIVOTEK Supreme Series Professional Network Camera- IP8151

Data Sheet SMX-160 Series USB2.0 Cameras

Cameras. Digital Visual Effects, Spring 2008 Yung-Yu Chuang 2008/2/26. with slides by Fredo Durand, Brian Curless, Steve Seitz and Alexei Efros

Introduction to Digital Photography

Color Digital Imaging: Cameras, Scanners and Monitors

Dealing with the Complexities of Camera ISP Tuning

TAKING GREAT PICTURES. A Modest Introduction

Cameras. Outline. Pinhole camera. Camera trial #1. Pinhole camera Film camera Digital camera Video camera

Realistic Image Synthesis

White Paper: Compression Advantages of Pixim s Digital Pixel System Technology

Image Processing: An Overview

A Digital Camera Glossary. Ashley Rodriguez, Charlie Serrano, Luis Martinez, Anderson Guatemala PERIOD 6

Photomatix Light 1.0 User Manual

CHARGE-COUPLED DEVICE (CCD)

Transcription:

Lecture 13: Camera Image Processing Pipeline Visual Computing Systems

Today (actually all week) Operations that take photons hitting a sensor to a high-quality image Processing systems used to efficiently implement these operations RAW bits Image Processing Canon 14 MP CMOS Sensor (14 bits per pixel) Final Image Representation (e.g., JPG file)

Keep in mind I m about to describe the pipeline of operations that take raw image pixels from a sensor to RGB images - Correct for sensor bias (using measurements of optically black pixels) - Correct pixel defects - Vignetting compensation - Dark frame subtract (optional) - White balance - Demosaic - Denoise / sharpen, etc. - Color Space Conversion - Gamma Correction - Color Space Conversion (Y CbCr) - 4:4:4 to 4:2:2 chroma subsampling - JPEG compress (lossy) Today s pipelines are sophisticated, but only scratch the surface of what future pipelines might do - Consider what a future pipeline might feature: person identification, action recognition, scene understanding (to automatically compose shot or automatically pick best picture) etc.

Generic camera: system overview Image Processing ASIC Sensor RAW bits Application Processor (ARM) RAM Screen Display Processing

The Sensor

CMOS sensor Analog-to-Digital Active pixel sensor (2D array of photo-diodes) Pixel Analog Signal Processing Optically black region Exposed region Digital Logic (control/processing) Output bus

Bayer filter mosaic Color filter array placed over sensor Result: each pixel measures incident red, green, or blue light 50% of pixels are green pixels - Human visual perception most sensitive to green light (in normal light levels) Image credit: Wikipedia Traditional Bayer mosaic (other filter patterns exist: e.g., Sony s RGBE) Human eye: cone spectral response

CMOS sensor pixel Color filter attenuates light Fill factor: fraction of surface area used for light gathering Microlens (a.k.a. lenslet) steers light toward photo-sensitive region (increases light-gathering capability) Microlens also serves to prefilter signal. Why? Quantum efficiency of photodiode in typical digital camera ~ 50% Illustration credit: Molecular Expressions (http://micro.magnet.fsu.edu/primer/digitalimaging/cmosimagesensors.html)

Full-well capacity Pixel saturates when capacity is exceeded Oversaturated pixels (note surrounding bloom ) Graph credit: clarkvision.com

Bigger sensors = bigger pixels (or more pixels?) iphone 5s (1.5 micron pixels, 8 MP) My Nikon D7000 (APS-C) (4.8 micron pixels, 16 MP) Nikon D4 (full frame) (7.3 micron pixels, 16 MP) 36x24mm 24x16mm Implication: Very high pixel count sensors could be built with current CMOS technology Nokia Lumia (41 MP) - Full frame sensor with iphone 5s pixel size = 380 MP sensor

Reading sensed signal Row select Register Row buffer (shift register) Amplify ADC Bits

Capturing an image 1. Clear sensor pixels 2. Open camera mechanical shutter (exposure begins) 3. Optional: fire flash 4. Close camera mechanical shutter (exposure ends) 5. Read results - For each row: - Read pixel for all columns in parallel - Pass data stream through amplifier and DAC

Aside: when to fire flash? First curtain sync Image credit: Michael R. Beeman Second curtain sync

Electronic rolling shutter Many cameras do not have a mechanical shutter (e.g., cell-phone cameras) Photo of red square, moving to right 1. Clear sensor pixels for row i (exposure begins) Exposure 2. Clear sensor pixels for row i+1 (exposure begins)... 3. Read row i (exposure ends) 4. Read row i+1 (exposure ends) Each image row exposed for the same amount of time (same exposure) Each image row exposed over different interval of time (time offset determined by row read speed)

Rolling shutter effects Demo: everyone take out camera phones Image credit: Point Grey Research Image credit: Wikipedia

Measurement noise

Measurement noise Photon shot noise: - Photon arrival rates feature poisson distribution - Standard deviation = sqrt(n) Dark shot noise - Due to leakage current Non-uniformity of pixel sensitivity Read noise - e.g., due to amplification Subtract dark image Flat field image Illustration credit: Molecular Expressions (http://micro.magnet.fsu.edu/primer/digitalimaging/cmosimagesensors.html)

Read noise Read noise largely independent of pixel size Large pixels, bright scene: noise determined largely by photon shot noise Image credit: clarkvision.com

Noise Black image examples: Nikon D7000, High ISO 1/60 sec exposure 1 sec exposure

Maximize light gathering capability Goal: increase signal-to-noise ratio - Dynamic range determined by noise floor and full-well capacity Big pixels - Nikon D4: 7.3 um - iphone 5s: 1.5 um Sensitive pixels - Good materials - High fill factor

Backside illumination sensor Traditional CMOS: electronics block light Idea: move electronics underneath light gathering region - Increases fill factor - Implication 1: better light sensitivity at fixed sensor size - Implication 2: equal light sensitivity at smaller sensor size (shrink sensor) Illustration credit: Sony

Vignetting Image of white wall:

Types of vignetting Optical vignetting: less light reaches edges of sensor due to physical obstruction in lens Pixel vignetting: light reaching pixel at oblique angle less likely to hit photosensitive region than light incident from straight above (e.g., obscured by electronics) - Microlens reduces pixel vignetting Image credit: Mark Butterworth

More challenges Chromatic shifts over sensor - Pixel light sensitivity changes over sensor due to interaction with microlens (index of refraction depends on wavelength) Dead pixels Lens distortion Pincushion distortion Captured Image Image credit: PCWorld Corrected Image

Theme so far: bits off the sensor do not form a displayable image RAW image processing

Example image processing pipeline Adopting terminology from Texas Instruments OMAP Image Signal Processor pipeline (because public documentation exists) Assume: receiving 12 bits/pixel Bayer mosaiced data from sensor

Optical clamp: remove sensor offset bias output_pixel = input_pixel - [average of pixels from optically black region] Remove bias due to sensor black level (from nearby sensor pixels at time of shot)

Step 2: correct for defect pixels Store LUT with known defect pixels - e.g., determined on manufacturing line, during test Example correction methods - Replace defect with neighbor - Replace defect with average of neighbors - Correct defect by subtracting known bias for the defect output_pixel = (isdefect(current_pixel_xy))? average(previous_input_pixel, next_input_pixel) : input_pixel;

Lens shading compensation Correct for vignetting Use 2D buffer stored in memory - Lower res buffer, upsampled on-the-fly Use analytic function offset = upsample_compensation_offset_buffer(current_pixel_xy); gain = upsample_compensation_gain_buffer(current_pixel_xy); output_pixel = offset + gain * input_pixel;

Optional dark-frame subtraction Similar computation to lens shading compensation output_pixel = input_pixel - dark_frame[current_pixel_xy];

White balance Adjust relative intensity of rgb values (usually so neutral tones appear neutral) output_pixel = white_balance_coeff * input_pixel // note: in this example, white_balance_coeff is vec3 // (depends on whether pixel is red, green, or blue pixel) Determine white balance coefficients based on analysis of image contents: - Example naive auto-white balance algorithms - Gray world assumption: make average of all pixels gray - Find brightest region of image, make it white Modern cameras have sophisticated (heuristic-based) white-balance algorithms Image credit: basedigitalphotography.com

Demosiac Produce RGB image from mosaiced input image Naive algorithm: bilinear interpolation of mosaiced values (need 4 neighbors) More advanced algorithms: - Bibubic interpolation (wider filter support region) - Attempt to find and preserve edges Image credit: Mark Levoy

Demosaicing errors Moire pattern color artifacts - Common trigger: fine diagonal black and white stripes - Common solution: - Convert demosaiced value to YCbCr - Prefilter CbCr channels - Combine prefiltered CbCr with full resolution Y from sensor to get RGB RAW data from sensor Demosaiced Image credit: http://almanazir.typepad.com/almanazir/2006/11/how_a_camera_ph_1.html

Denoising Median Filter Bilateral filter: remove noise while preserving edges

Simplified image processing pipeline Correct for sensor bias (using measurements of optically black pixels) Correct pixel defects Vignetting compensation Dark frame subtract (optional) White balance Demosaic Denoise / sharpen, etc. Color Space Conversion Gamma Correction Color Space Conversion (Y CbCr) 4:4:4 to 4:2:2 chroma subsampling JPEG compress (lossy) lossless compression RAW file Today JPEG file