Recap from Lecture 2 Pinhole camera model Perspective

  • Slides: 50
Download presentation
Recap from Lecture 2 Pinhole camera model Perspective projections Lenses and their flaws Focus

Recap from Lecture 2 Pinhole camera model Perspective projections Lenses and their flaws Focus Depth of field Focal length and field of view Chapter 2 of Szeliski

What is wrong with this picture?

What is wrong with this picture?

Capturing Light… in man and machine Many slides by Alexei A. Efros CS 129:

Capturing Light… in man and machine Many slides by Alexei A. Efros CS 129: Computational Photography James Hays, Brown, Spring 2011

Image Formation Digital Camera Film The Eye

Image Formation Digital Camera Film The Eye

Digital camera A digital camera replaces film with a sensor array • • •

Digital camera A digital camera replaces film with a sensor array • • • Each cell in the array is light-sensitive diode that converts photons to electrons Two common types – Charge Coupled Device (CCD) – CMOS http: //electronics. howstuffworks. com/digital-camera. htm Slide by Steve Seitz

Sensor Array CMOS sensor

Sensor Array CMOS sensor

Sampling and Quantization

Sampling and Quantization

Interlace vs. progressive scan http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Interlace vs. progressive scan http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Progressive scan http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Progressive scan http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Interlace http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Interlace http: //www. axis. com/products/video/camera/progressive_scan. htm Slide by Steve Seitz

Rolling Shutter

Rolling Shutter

The Eye The human eye is a camera! • Iris - colored annulus with

The Eye The human eye is a camera! • Iris - colored annulus with radial muscles • Pupil - the hole (aperture) whose size is controlled by the iris • What’s the “film”? – photoreceptor cells (rods and cones) in the retina Slide by Steve Seitz

The Retina

The Retina

What humans don’t have: tapetum lucidum

What humans don’t have: tapetum lucidum

Two types of light-sensitive receptors Cones cone-shaped less sensitive operate in high light color

Two types of light-sensitive receptors Cones cone-shaped less sensitive operate in high light color vision Rods rod-shaped highly sensitive operate at night gray-scale vision © Stephen E. Palmer, 2002

Rod / Cone sensitivity

Rod / Cone sensitivity

Distribution of Rods and Cones Night Sky: why are there more stars off-center? Averted

Distribution of Rods and Cones Night Sky: why are there more stars off-center? Averted vision: http: //en. wikipedia. org/wiki/Averted_vision © Stephen E. Palmer, 2002

Eye Movements Saccades Can be consciously controlled. Related to perceptual attention. 200 ms to

Eye Movements Saccades Can be consciously controlled. Related to perceptual attention. 200 ms to initiation, 20 to 200 ms to carry out. Large amplitude. Microsaccades Involuntary. Smaller amplitude. Especially evident during prolonged fixation. Function debated. Ocular microtremor (OMT) involuntary. high frequency (up to 80 Hz), small amplitude.

Electromagnetic Spectrum Human Luminance Sensitivity Function http: //www. yorku. ca/eye/photopik. htm

Electromagnetic Spectrum Human Luminance Sensitivity Function http: //www. yorku. ca/eye/photopik. htm

Visible Light Why do we see light of these wavelengths? …because that’s where the

Visible Light Why do we see light of these wavelengths? …because that’s where the Sun radiates EM energy © Stephen E. Palmer, 2002

The Physics of Light Any patch of light can be completely described physically by

The Physics of Light Any patch of light can be completely described physically by its spectrum: the number of photons (per time unit) at each wavelength 400 - 700 nm. © Stephen E. Palmer, 2002

The Physics of Light Some examples of the spectra of light sources © Stephen

The Physics of Light Some examples of the spectra of light sources © Stephen E. Palmer, 2002

The Physics of Light % Photons Reflected Some examples of the reflectance spectra of

The Physics of Light % Photons Reflected Some examples of the reflectance spectra of surfaces Red 400 Yellow 700 400 Blue 700 400 Wavelength (nm) Purple 700 400 700 © Stephen E. Palmer, 2002

The Psychophysical Correspondence There is no simple functional description for the perceived color of

The Psychophysical Correspondence There is no simple functional description for the perceived color of all lights under all viewing conditions, but …. . . A helpful constraint: Consider only physical spectra with normal distributions mean area variance © Stephen E. Palmer, 2002

The Psychophysical Correspondence Hue # Photons Mean Wavelength © Stephen E. Palmer, 2002

The Psychophysical Correspondence Hue # Photons Mean Wavelength © Stephen E. Palmer, 2002

The Psychophysical Correspondence Saturation # Photons Variance Wavelength © Stephen E. Palmer, 2002

The Psychophysical Correspondence Saturation # Photons Variance Wavelength © Stephen E. Palmer, 2002

The Psychophysical Correspondence Brightness # Photons Area Wavelength © Stephen E. Palmer, 2002

The Psychophysical Correspondence Brightness # Photons Area Wavelength © Stephen E. Palmer, 2002

Physiology of Color Vision Three kinds of cones: • Why are M and L

Physiology of Color Vision Three kinds of cones: • Why are M and L cones so close? • Why are there 3? © Stephen E. Palmer, 2002

Tetrachromatism Bird cone responses Most birds, and many other animals, have cones for ultraviolet

Tetrachromatism Bird cone responses Most birds, and many other animals, have cones for ultraviolet light. Some humans, mostly female, seem to have slight tetrachromatism.

More Spectra metamers

More Spectra metamers

Practical Color Sensing: Bayer Grid Estimate RGB at ‘G’ cells from neighboring values http:

Practical Color Sensing: Bayer Grid Estimate RGB at ‘G’ cells from neighboring values http: //www. cooldictionary. com/ words/Bayer-filter. wikipedia Slide by Steve Seitz

Color Image R G B

Color Image R G B

Images in Matlab • Images represented as a matrix • Suppose we have a

Images in Matlab • Images represented as a matrix • Suppose we have a Nx. M RGB image called “im” – im(1, 1, 1) = top-left pixel value in R-channel – im(y, x, b) = y pixels down, x pixels to right in the bth channel – im(N, M, 3) = bottom-right pixel in B-channel • imread(filename) returns a uint 8 image (values 0 to 255) – Convert to double format (values 0 to 1) with im 2 double rowcolumn 0. 92 0. 93 0. 94 0. 95 0. 89 0. 96 0. 71 0. 49 0. 86 0. 96 0. 69 0. 79 0. 91 0. 89 0. 72 0. 95 0. 81 0. 62 0. 84 0. 67 0. 49 0. 73 0. 94 0. 82 0. 51 0. 92 0. 88 0. 95 0. 81 0. 89 0. 60 0. 96 0. 74 0. 71 0. 54 0. 49 0. 56 0. 86 0. 90 0. 96 0. 89 0. 69 0. 79 0. 91 0. 97 0. 89 0. 55 0. 93 0. 94 0. 89 0. 87 0. 72 0. 58 0. 95 0. 58 0. 81 0. 85 0. 62 0. 66 0. 84 0. 67 0. 49 0. 73 0. 94 0. 62 0. 56 0. 51 0. 94 0. 56 0. 82 0. 57 0. 51 0. 92 0. 50 0. 88 0. 95 0. 51 0. 89 0. 48 0. 60 0. 96 0. 43 0. 74 0. 71 0. 33 0. 54 0. 49 0. 41 0. 56 0. 86 0. 90 0. 96 0. 89 0. 69 0. 79 0. 91 0. 37 0. 31 0. 42 0. 97 0. 46 0. 89 0. 37 0. 55 0. 93 0. 60 0. 94 0. 89 0. 39 0. 87 0. 72 0. 37 0. 58 0. 95 0. 42 0. 58 0. 81 0. 61 0. 85 0. 62 0. 78 0. 66 0. 84 0. 67 0. 49 0. 73 0. 94 0. 85 0. 75 0. 57 0. 62 0. 91 0. 56 0. 80 0. 51 0. 94 0. 58 0. 56 0. 82 0. 73 0. 57 0. 51 0. 88 0. 50 0. 88 0. 77 0. 51 0. 81 0. 69 0. 48 0. 60 0. 78 0. 43 0. 74 0. 33 0. 54 0. 41 0. 56 0. 90 0. 89 0. 97 0. 92 0. 41 0. 37 0. 87 0. 31 0. 88 0. 42 0. 97 0. 50 0. 46 0. 89 0. 92 0. 37 0. 55 0. 90 0. 60 0. 94 0. 73 0. 39 0. 87 0. 79 0. 37 0. 58 0. 77 0. 42 0. 58 0. 61 0. 85 0. 78 0. 66 0. 67 0. 49 0. 93 0. 81 0. 49 0. 85 0. 90 0. 75 0. 89 0. 57 0. 62 0. 61 0. 91 0. 56 0. 91 0. 80 0. 51 0. 94 0. 58 0. 56 0. 71 0. 73 0. 57 0. 73 0. 88 0. 50 0. 89 0. 77 0. 51 0. 69 0. 48 0. 78 0. 43 0. 33 0. 41 0. 92 0. 95 0. 91 0. 97 0. 92 0. 79 0. 41 0. 37 0. 45 0. 87 0. 31 0. 49 0. 88 0. 42 0. 82 0. 50 0. 46 0. 90 0. 92 0. 37 0. 93 0. 90 0. 60 0. 99 0. 73 0. 39 0. 79 0. 37 0. 77 0. 42 0. 61 0. 78 0. 99 0. 91 0. 92 0. 93 0. 95 0. 81 0. 85 0. 49 0. 85 0. 33 0. 90 0. 75 0. 74 0. 89 0. 57 0. 93 0. 61 0. 99 0. 91 0. 80 0. 97 0. 94 0. 58 0. 93 0. 71 0. 73 0. 88 0. 89 0. 77 0. 69 0. 78 R 0. 92 0. 95 0. 91 0. 97 0. 92 0. 79 0. 41 0. 45 0. 87 0. 49 0. 88 0. 82 0. 50 0. 92 0. 93 0. 90 0. 99 0. 73 0. 79 0. 77 0. 99 0. 91 0. 92 0. 93 0. 95 0. 81 0. 85 0. 49 0. 33 0. 90 0. 74 0. 89 0. 93 0. 61 0. 99 0. 91 0. 97 0. 94 0. 93 0. 71 0. 73 0. 89 G 0. 92 0. 95 0. 91 0. 97 0. 79 0. 45 0. 49 0. 82 0. 90 0. 93 0. 99 0. 91 0. 92 0. 95 0. 85 0. 33 0. 74 0. 93 0. 99 0. 97 0. 93 B

Color spaces How can we represent color? http: //en. wikipedia. org/wiki/File: RGB_illumination. jpg

Color spaces How can we represent color? http: //en. wikipedia. org/wiki/File: RGB_illumination. jpg

Color spaces: RGB Default color space 0, 1, 0 R (G=0, B=0) G 1,

Color spaces: RGB Default color space 0, 1, 0 R (G=0, B=0) G 1, 0, 0 (R=0, B=0) 0, 0, 1 Some drawbacks B (R=0, G=0) • Strongly correlated channels • Non-perceptual Image from: http: //en. wikipedia. org/wiki/File: RGB_color_solid_cube. png

Color spaces: HSV Intuitive color space H (S=1, V=1) S (H=1, V=1) V (H=1,

Color spaces: HSV Intuitive color space H (S=1, V=1) S (H=1, V=1) V (H=1, S=0)

Color spaces: YCb. Cr Fast to compute, good for compression, used by TV Y=0.

Color spaces: YCb. Cr Fast to compute, good for compression, used by TV Y=0. 5 Y (Cb=0. 5, Cr=0. 5) Cr Cb Cb (Y=0. 5, Cr=0. 5) Y=1 Cr (Y=0. 5, Cb=05)

Color spaces: L*a*b* “Perceptually uniform”* color space L (a=0, b=0) a (L=65, b=0) b

Color spaces: L*a*b* “Perceptually uniform”* color space L (a=0, b=0) a (L=65, b=0) b (L=65, a=0)

Project #1 • How to compare R, G, B channels? • No right answer

Project #1 • How to compare R, G, B channels? • No right answer • Sum of Squared Differences (SSD): • Normalized Correlation (NCC):

Image half-sizing This image is too big to fit on the screen. How can

Image half-sizing This image is too big to fit on the screen. How can we reduce it? How to generate a halfsized version?

Image sub-sampling 1/8 1/4 Throw away every other row and column to create a

Image sub-sampling 1/8 1/4 Throw away every other row and column to create a 1/2 size image - called image sub-sampling Slide by Steve Seitz

Image sub-sampling 1/2 1/4 (2 x zoom) 1/8 (4 x zoom) Aliasing! What do

Image sub-sampling 1/2 1/4 (2 x zoom) 1/8 (4 x zoom) Aliasing! What do we do? Slide by Steve Seitz

Gaussian (lowpass) pre-filtering G 1/8 G 1/4 Gaussian 1/2 Solution: filter the image, then

Gaussian (lowpass) pre-filtering G 1/8 G 1/4 Gaussian 1/2 Solution: filter the image, then subsample • Filter size should double for each ½ size reduction. Why? Slide by Steve Seitz

Subsampling with Gaussian pre-filtering Gaussian 1/2 G 1/4 G 1/8 Slide by Steve Seitz

Subsampling with Gaussian pre-filtering Gaussian 1/2 G 1/4 G 1/8 Slide by Steve Seitz

Compare with. . . 1/2 1/4 (2 x zoom) 1/8 (4 x zoom) Slide

Compare with. . . 1/2 1/4 (2 x zoom) 1/8 (4 x zoom) Slide by Steve Seitz

Gaussian (lowpass) pre-filtering G 1/8 G 1/4 Gaussian 1/2 Solution: filter the image, then

Gaussian (lowpass) pre-filtering G 1/8 G 1/4 Gaussian 1/2 Solution: filter the image, then subsample • Filter size should double for each ½ size reduction. Why? Slide by Steve Seitz • How can we speed this up?

Image Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer

Image Pyramids Known as a Gaussian Pyramid [Burt and Adelson, 1983] • In computer graphics, a mip map [Williams, 1983] • A precursor to wavelet transform Slide by Steve Seitz

A bar in the big images is a hair on the zebra’s nose; in

A bar in the big images is a hair on the zebra’s nose; in smaller images, a stripe; in the smallest, the animal’s nose Figure from David Forsyth

What are they good for? Improve Search • Search over translations – Like project

What are they good for? Improve Search • Search over translations – Like project 1 – Classic coarse-to-fine strategy • Search over scale – Template matching – E. g. find a face at different scales Pre-computation • Need to access image at different blur levels • Useful for texture mapping at different resolutions (called mip -mapping)

Gaussian pyramid construction filter mask Repeat • Filter • Subsample Until minimum resolution reached

Gaussian pyramid construction filter mask Repeat • Filter • Subsample Until minimum resolution reached • can specify desired number of levels (e. g. , 3 -level pyramid) The whole pyramid is only 4/3 the size of the original image! Slide by Steve Seitz