69

Bela Borsodi - cs.brown.edu

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bela Borsodi - cs.brown.edu
Page 2: Bela Borsodi - cs.brown.edu

Bela Borsodi

Page 3: Bela Borsodi - cs.brown.edu

Bela Borsodi

Page 4: Bela Borsodi - cs.brown.edu

Waitlist

• We’ll let you know as soon as we can.

• Biggest issue is TAs

Page 5: Bela Borsodi - cs.brown.edu

CS 143 – James Hays

• Many materials, courseworks, based from him + previous TA staff – serious thanks!

Page 6: Bela Borsodi - cs.brown.edu

Textbook

http://szeliski.org/Book/

Page 7: Bela Borsodi - cs.brown.edu

Textbook

Page 8: Bela Borsodi - cs.brown.edu

Class experience

• Linear algebra

• Probability

• Graphics course?

• Vision/image processing course before?

• Machine learning?

Page 9: Bela Borsodi - cs.brown.edu

WHAT IS AN IMAGE?

Page 10: Bela Borsodi - cs.brown.edu

>> I = rand(256,256);

Think-Pair-Share:

- What is this? What does it look like?

- Which values does it take?

- How many values can it take?

- Is it an image?

Page 11: Bela Borsodi - cs.brown.edu

>> I = rand(256,256);

>> imshow(I);

Danny Alexander

Page 12: Bela Borsodi - cs.brown.edu

Dimensionality of an Image

• @ 8bit = 256 values ^ 65,536

– Computer says ‘Inf’ combinations.

• Some depiction of all possible scenes would fit into this memory.

Page 13: Bela Borsodi - cs.brown.edu

Dimensionality of an Image

• @ 8bit = 256 values ^ 65,536

– Computer says ‘Inf’ combinations.

• Some depiction of all possible scenes would fit into this memory.

• Computer vision as making sense of an extremely high-dimensional space.

– Subspace of ‘natural’ images.

– Deriving low-dimensional, explainable models.

Page 14: Bela Borsodi - cs.brown.edu

What is each part of an image?

y

x

Page 15: Bela Borsodi - cs.brown.edu

What is each part of an image?

• Pixel -> picture element

y

x

I(x,y)

‘138’

Page 16: Bela Borsodi - cs.brown.edu

Image as a 2D sampling of signal

• Signal: function depending on some variable with physical meaning.

• Image: sampling of that function.

– 2 variables: xy coordinates

– 3 variables: xy + time (video)

– ‘Brightness’ is the value of the function for visible light

• Can be other physical values too: temperature, pressure, depth …

Danny Alexander

Page 17: Bela Borsodi - cs.brown.edu

Example 2D Images

Danny Alexander

Page 18: Bela Borsodi - cs.brown.edu

Sampling in 1D

• Sampling in 1D takes a function, and returns a vector whose elements are values of that function at the sample points.

Danny Alexander

Page 19: Bela Borsodi - cs.brown.edu

Sampling in 2D

• Sampling in 2D takes a function and returns a matrix.

Danny Alexander

Page 20: Bela Borsodi - cs.brown.edu

Grayscale Digital Image

Brightness

or intensity

x y

Danny Alexander

Page 21: Bela Borsodi - cs.brown.edu

What is each part of a photograph?

• Pixel -> picture element

y

x

I(x,y)

‘127’

Page 22: Bela Borsodi - cs.brown.edu

Integrating light over a range of angles.

Output Image

Camera Sensor

James Hays

Page 23: Bela Borsodi - cs.brown.edu

Resolution – geometric vs. spatial resolution

Both images are ~500x500 pixels

Page 24: Bela Borsodi - cs.brown.edu

Quantization

James Hays

Page 25: Bela Borsodi - cs.brown.edu

Quantization Effects – Radiometric Resolution

8 bit – 256 levels 1 bit – 2 levels2 bit – 4 levels4 bit – 16 levels

Page 26: Bela Borsodi - cs.brown.edu

ColorR

G

B

James Hays

Page 27: Bela Borsodi - cs.brown.edu

Images in Matlab• NxM RGB “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 uint8 image (values 0 to 255)– Convert to double format (values 0 to 1) with im2double

0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99

0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91

0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92

0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95

0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85

0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33

0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74

0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93

0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99

0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97

0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93

0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99

0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91

0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92

0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95

0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85

0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33

0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74

0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93

0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99

0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97

0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93

0.92 0.93 0.94 0.97 0.62 0.37 0.85 0.97 0.93 0.92 0.99

0.95 0.89 0.82 0.89 0.56 0.31 0.75 0.92 0.81 0.95 0.91

0.89 0.72 0.51 0.55 0.51 0.42 0.57 0.41 0.49 0.91 0.92

0.96 0.95 0.88 0.94 0.56 0.46 0.91 0.87 0.90 0.97 0.95

0.71 0.81 0.81 0.87 0.57 0.37 0.80 0.88 0.89 0.79 0.85

0.49 0.62 0.60 0.58 0.50 0.60 0.58 0.50 0.61 0.45 0.33

0.86 0.84 0.74 0.58 0.51 0.39 0.73 0.92 0.91 0.49 0.74

0.96 0.67 0.54 0.85 0.48 0.37 0.88 0.90 0.94 0.82 0.93

0.69 0.49 0.56 0.66 0.43 0.42 0.77 0.73 0.71 0.90 0.99

0.79 0.73 0.90 0.67 0.33 0.61 0.69 0.79 0.73 0.93 0.97

0.91 0.94 0.89 0.49 0.41 0.78 0.78 0.77 0.89 0.99 0.93

R

G

B

rowcolumn

James Hays

Page 28: Bela Borsodi - cs.brown.edu

ANATOMYBut what is color?

Page 29: Bela Borsodi - cs.brown.edu

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 sensor?

– photoreceptor cells (rods and cones) in the retina

Slide by Steve Seitz

Page 30: Bela Borsodi - cs.brown.edu

© Stephen E. Palmer, 2002

Cones

cone-shaped

less sensitive

operate in high light

color vision

Two types of light-sensitive receptors

Rods

rod-shaped

highly sensitive

operate at night

gray-scale vision

James Hays

Page 31: Bela Borsodi - cs.brown.edu

.

0

150,000

100,000

50,000

020 40 60 8020406080

Visual Angle (degrees from fovea)

Rods

Cones Cones

Rods

FoveaBlindSpot

# R

ecepto

rs/m

m2

© Stephen E. Palmer, 2002

Distribution of Rods and Cones

Night Sky: why are there more stars off-center?

Averted vision: http://en.wikipedia.org/wiki/Averted_visionJames Hays

Page 32: Bela Borsodi - cs.brown.edu

Rod / Cone sensitivity

Page 33: Bela Borsodi - cs.brown.edu

Electromagnetic Spectrum

http://www.yorku.ca/eye/photopik.htm

Human Luminance Sensitivity Function

Page 34: Bela Borsodi - cs.brown.edu

© Stephen E. Palmer, 2002

.

400 450 500 550 600 650

RE

LA

TIV

E A

BS

OR

BA

NC

E (

%)

WAVELENGTH (nm.)

100

50

440

S

530 560 nm.

M L

Three kinds of cones:

Physiology of Color Vision

Page 35: Bela Borsodi - cs.brown.edu

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.

400 500 600 700

Wavelength (nm.)

# Photons(per ms.)

© Stephen E. Palmer, 2002

Page 36: Bela Borsodi - cs.brown.edu

The Physics of Light

.

# P

hoto

ns

D. Normal Daylight

Wavelength (nm.)

B. Gallium Phosphide Crystal

400 500 600 700

# P

hoto

ns

Wavelength (nm.)

A. Ruby Laser

400 500 600 700

400 500 600 700

# P

hoto

ns

C. Tungsten Lightbulb

400 500 600 700

# P

hoto

ns

Some examples of the spectra of light sources

© Stephen E. Palmer, 2002

Page 37: Bela Borsodi - cs.brown.edu

The Physics of Light

Some examples of the reflectance spectra of surfaces

Wavelength (nm)

% P

hoto

ns R

eflecte

d

Red

400 700

Yellow

400 700

Blue

400 700

Purple

400 700

© Stephen E. Palmer, 2002

Page 38: Bela Borsodi - cs.brown.edu

© Stephen E. Palmer, 2002

.

400 450 500 550 600 650

RE

LA

TIV

E A

BS

OR

BA

NC

E (

%)

WAVELENGTH (nm.)

100

50

440

S

530 560 nm.

M L

Three kinds of cones:

Physiology of Color Vision

• Why are M and L cones so close?

• Why are there 3?

Page 39: Bela Borsodi - cs.brown.edu

Tetrachromatism

• Most birds, and many other animals, have cones for ultraviolet light.

• Some humans seem to have four cones (12% of females).

• True tetrachromatism is _rare_; requires learning.

Bird cone

responses

James Hays

Page 40: Bela Borsodi - cs.brown.edu

Bee vision

Page 41: Bela Borsodi - cs.brown.edu
Page 42: Bela Borsodi - cs.brown.edu

What is color?

Why do we even care about human vision in this class?

Page 43: Bela Borsodi - cs.brown.edu

Why do we care about human vision?

• We don’t, necessarily.

• But biological vision shows that it is possible to make important judgements from images.

James Hays

Page 44: Bela Borsodi - cs.brown.edu

Why do we care about human vision?

• We don’t, necessarily.

• But biological vision shows that it is possible to make important judgements from images.

• It’s a human world -> cameras imitate the frequency response of the human eye to try to see as we see.

Page 45: Bela Borsodi - cs.brown.edu

Ornithopters

James Hays

Page 46: Bela Borsodi - cs.brown.edu

"Can machines fly like a bird?" No, because airplanes don’t flap.

"Can machines fly?" Yes, but airplanes use a different mechanism.

"Can machines perceive?" Is this question like the first, or like the second?

Adapted from Peter Norvig

Page 47: Bela Borsodi - cs.brown.edu

Color Sensing in Camera (RGB)

• 3-chip vs. 1-chip: quality vs. cost

• Why more green?

http://www.cooldictionary.com/words/Bayer-filter.wikipedia

Why 3 colors?

Slide by Steve Seitz

Page 48: Bela Borsodi - cs.brown.edu

Practical Color Sensing: Bayer Grid

• Estimate RGBat ‘G’ cells from neighboring values

Slide by Steve Seitz

Page 49: Bela Borsodi - cs.brown.edu

Camera Color Response

MaxMax.com

Page 50: Bela Borsodi - cs.brown.edu

Color spaces

• How can we represent color?

http://en.wikipedia.org/wiki/File:RGB_illumination.jpg

Page 51: Bela Borsodi - cs.brown.edu

Color spaces: RGB

0,1,0

0,0,1

1,0,0

Image from: http://en.wikipedia.org/wiki/File:RGB_color_solid_cube.png

Any color = r*R + g*G + b*B• Strongly correlated channels

• Non-perceptual

Default color space

R = 1(G=0,B=0)

G = 1(R=0,B=0)

B = 1(R=0,G=0)

Page 52: Bela Borsodi - cs.brown.edu

IS COLOR A VECTOR SPACE?THINK-PAIR-SHARE

Got it. C = r*R + g*G + b*B

Page 53: Bela Borsodi - cs.brown.edu

Color spaces: HSV

Intuitive color space

Page 54: Bela Borsodi - cs.brown.edu

If you had to choose, would you rather go without:- intensity (‘value’), or- hue + saturation (‘chroma’)?

Think-Pair-Share

James Hays

Page 55: Bela Borsodi - cs.brown.edu

Most information in intensity

Only color shown – constant intensity

James Hays

Page 56: Bela Borsodi - cs.brown.edu

Most information in intensity

Only intensity shown – constant color

James Hays

Page 57: Bela Borsodi - cs.brown.edu

Most information in intensity

Original image

James Hays

Page 58: Bela Borsodi - cs.brown.edu

Color spaces: HSV

Intuitive color space

H(S=1,V=1)

S(H=1,V=1)

V(H=1,S=0)

James Hays

Page 59: Bela Borsodi - cs.brown.edu

Color spaces: YCbCr

Y(Cb=0.5,Cr=0.5)

Cb(Y=0.5,Cr=0.5)

Cr(Y=0.5,Cb=05)

Y=0 Y=0.5

Y=1Cb

Cr

Fast to compute, good for

compression, used by TV

James Hays

Page 60: Bela Borsodi - cs.brown.edu

Most JPEG images & videos subsample chroma

Page 61: Bela Borsodi - cs.brown.edu
Page 62: Bela Borsodi - cs.brown.edu

Rainbow color map considered harmfulBorland and Taylor

Page 63: Bela Borsodi - cs.brown.edu

IS COLOR PERCEPTION A VECTOR SPACE?

Page 64: Bela Borsodi - cs.brown.edu

Color spaces: L*a*b*

“Perceptually uniform”* color space

L(a=0,b=0)

a(L=65,b=0)

b(L=65,a=0)

James Hays

Page 65: Bela Borsodi - cs.brown.edu

WHY DOES COLOR LOOK LIKE IT MAPS SMOOTHLY TO A CIRCLE?

Wait a minute…

“Intuitive” color space?

Page 66: Bela Borsodi - cs.brown.edu

Project 0:

Tonight Sunlab 6pm-9pm

Next week: Project 1

• Convolution

• Filtering

• Image Pyramids

• Frequencies

Page 67: Bela Borsodi - cs.brown.edu

XKCD

Page 68: Bela Borsodi - cs.brown.edu

More references

• https://www.colorsystem.com/

• A description of many different color systems developed through history.

• Navigate from the right-hand links.

• Thanks to Alex Nibley!

Page 69: Bela Borsodi - cs.brown.edu

Proj 1: Image Filtering and Hybrid Images

• Implement image filtering to separate high and low frequencies.

• Combine high frequencies and low frequencies from different images to create a scale-dependent image.

James Hays