Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·...

57
Projective Geometry and Camera Models Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 01/21/10

Transcript of Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·...

Page 1: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projective Geometry and Camera Models

Computer VisionCS 543 / ECE 549 

University of Illinois

Derek Hoiem

01/21/10

Page 2: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Note about HW1

• Out before next Tues

• Prob1: covered today, Tues

• Prob2: covered next Thurs

• Prob3: covered following week

Page 3: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Last class: intro

• Overview of vision, examples of state of art

• Logistics

Page 4: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Next two classes: Single‐view Geometry

How tall is this woman?

Which ball is closer?

How high is the camera?

What is the camera rotation?

What is the focal length of the camera?

Page 5: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Today’s class

Mapping between image and world coordinates

– Pinhole camera model

– Projective geometry• homogeneous coordinates and vanishing lines

– Camera matrix

– Other camera parameters

Page 6: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Image formation

Let’s design a camera– Idea 1:  put a piece of film in front of an object– Do we get a reasonable image?

Slide source: Seitz

Page 7: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Pinhole camera

Idea 2: add a barrier to block off most of the rays– This reduces blurring

– The opening known as the aperture

Slide source: Seitz

Page 8: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Pinhole camera

Figure from Forsyth

f

f = focal lengthc = center of the camera

c

Page 9: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Camera obscura: the pre‐camera

• First idea: Mo‐Ti, China (470BC to 390BC)

• First built: Alhacen, Iraq/Egypt (965 to 1039AD)

Illustration of Camera Obscura Freestanding camera obscura at UNC Chapel Hill

Photo by Seth Ilys

Page 10: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

First Photograph

First photograph– Took 8 hours on pewter plate

Joseph Niepce, 1826

Photograph of the first photograph

Stored at UT Austin

Page 11: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Point of observation

Figures © Stephen E. Palmer, 2002

Dimensionality Reduction Machine (3D to 2D)

3D world 2D image

Page 12: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projection can be tricky…Slide source: Seitz

Page 13: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projection can be tricky…Slide source: Seitz

Page 14: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projective Geometry

What is lost?• Length

Which is closer?

Who is taller?

Page 15: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Length is not preserved

Figure by David Forsyth

B’

C’

A’

Page 16: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projective Geometry

What is lost?• Length

• Angles

Perpendicular?

Parallel?

Page 17: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projective Geometry

What is preserved?• Straight lines are still straight

Page 18: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Vanishing points and lines

Parallel lines in the world intersect in the image at a “vanishing point”

Page 19: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Vanishing points and lines

oVanishing Point oVanishing Point

Vanishing Line

Page 20: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Vanishing points and lines

Vanishingpoint

Vanishingline

Vanishingpoint

Vertical vanishingpoint

(at infinity)

Slide from Efros, Photo from Criminisi

Page 21: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Vanishing points and lines

Photo from online Tate collection

Page 22: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Note on estimating vanishing points

Use multiple lines for better accuracy… but lines will not intersect at exactly the same point in practice

One solution: take mean of intersecting pairs… bad idea!

Instead, minimize angular differences

Page 23: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

(more vanishing points on board)

Page 24: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Vanishing objects

Page 25: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Projection: world coordinates image coordinates

(work on board)

Page 26: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Homogeneous coordinates

Conversion

Converting to homogeneous coordinates

homogeneous image coordinates

homogeneous scene coordinates

Converting from homogeneous coordinates

Page 27: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Homogeneous coordinates

Invariant to scaling

Point in Euclidean is ray in Homogeneous

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⇒

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

wywx

kwkykwkx

kwkykx

wyx

k

Homogeneous Coordinates

Euclidean Coordinates

Page 28: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Basic geometry in homogeneous coordinates

• Line equation:  ax + by + c = 0

• Append 1 to pixel coordinate to get homogeneous coordinate

• Line given by cross product of two points

• Intersection of two lines given by cross product of the lines

⎥⎥⎥

⎢⎢⎢

⎡=1i

i

i vu

p

jiij ppline ×=

jiij linelineq ×=

⎥⎥⎥

⎢⎢⎢

⎡=

i

i

i

i

cba

line

Page 29: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Another problem solved by homogeneous coordinates

Euclidean: (Inf, Inf)Homogeneous: (1, 1, 0)

Intersection of parallel linesEuclidean: (Inf, Inf) Homogeneous: (1, 2, 0)

Page 30: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Slide Credit: Saverese

Projection matrix

[ ]XtRKx = x: Image Coordinates: (u,v,1)K: Intrinsic Matrix (3x3)R: Rotation (3x3) t: Translation (3x1)X: World Coordinates: (X,Y,Z,1)

Ow

iw

kw

jwR,T

Page 31: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Interlude: when have I used this stuff?

Page 32: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

When have I used this stuff?

Object Recognition (CVPR 2006)

Page 33: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

When have I used this stuff?

Single‐view reconstruction (SIGGRAPH 2005)

Page 34: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

When have I used this stuff?

Getting spatial layout in indoor scenes (ICCV 2009)

Page 35: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

When have I used this stuff?

Inserting photographed objects into images (SIGGRAPH 2007)

Original Created

Page 36: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

When have I used this stuff?

Inserting synthetic objects into images (submitted)

Page 37: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

[ ]X0IKx =⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

10100000000

1zyx

ff

vu

k

K

Slide Credit: Saverese

Projection matrix

Intrinsic Assumptions• Unit aspect ratio• Optical center at (0,0)• No skew

Extrinsic Assumptions• No rotation• Camera at (0,0,0)

Page 38: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Remove assumption: known optical center

[ ]X0IKx =⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

101000000

10

0

zyx

vfuf

vu

k

Intrinsic Assumptions• Unit aspect ratio• No skew

Extrinsic Assumptions• No rotation• Camera at (0,0,0)

Page 39: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Remove assumption: square pixels

[ ]X0IKx =⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

101000000

10

0

zyx

vu

vu

k βα

Intrinsic Assumptions• No skew

Extrinsic Assumptions• No rotation• Camera at (0,0,0)

Page 40: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Remove assumption: non‐skewed pixels

[ ]X0IKx =⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

10100000

10

0

zyx

vus

vu

k βα

Intrinsic Assumptions Extrinsic Assumptions• No rotation• Camera at (0,0,0)

Note: different books use different notation for parameters

Page 41: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Oriented and Translated Camera

Ow

iw

kw

jw

t

R

Page 42: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Allow camera translation

[ ]XtIKx =⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

1100010001

1000

0

10

0

zyx

ttt

vu

vu

z

y

x

βα

Intrinsic Assumptions Extrinsic Assumptions• No rotation

Page 43: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

3D Rotation of Points

Rotation around the coordinate axes, counter-clockwise:

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

⎡−=

1000cossin0sincos

)(

cos0sin010

sin0cos)(

cossin0sincos0001

)(

γγγγ

γ

ββ

βββ

ααααα

z

y

x

R

R

R

p

p’

γ

y

z

Slide Credit: Saverese

Page 44: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Allow camera rotation

[ ]XtRKx =

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

1100

01 333231

232221

131211

0

0

zyx

trrrtrrrtrrr

vus

vu

z

y

x

βα

Page 45: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Degrees of freedom

[ ]XtRKx =

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

1100

01 333231

232221

131211

0

0

zyx

trrrtrrrtrrr

vus

vu

k

z

y

x

βα

5 6

Page 46: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Scaled Orthographic Projection

• Special case of perspective projection– Distance from the COP to the PP is infinite

– Also called “parallel projection”

– What’s the projection matrix?

Image World

Slide by Steve Seitz

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

1100000100001

zyx

wvu

Page 47: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Other things to be aware of

Page 48: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Radial Distortion

Image from Martin Habbecke

Corrected Barrel Distortion

Page 49: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Focal length, aperture, depth of field

A lens focuses parallel rays onto a single focal point– focal point at a distance f beyond the plane of the lens

– Aperture of diameter D restricts the range of rays

focal point

F

optical center(Center Of Projection)

Slide source: Seitz

Page 50: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Depth of field

Changing the aperture size or focal length affects depth of field

f / 5.6

f / 32

Flower images from Wikipedia   http://en.wikipedia.org/wiki/Depth_of_field

Slide source: Seitz

Page 51: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Varying the aperture 

Large apeture = small DOF Small apeture = large DOF

Slide from Efros

Page 52: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Shrinking the aperture

• Why not make the aperture as small as possible?– Less light gets through– Diffraction effects

Slide by Steve Seitz

Page 53: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Shrinking the aperture

Slide by Steve Seitz

Page 54: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Relation between field of view and focal length

Dolly zoom (or “Vertigo effect”)http://www.youtube.com/watch?v=Y48R6‐iIYHs

Field of view (angle width) Film/Sensor Width

Focal lengthfdfov 2tan 1−=

Page 55: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Things to remember

• Vanishing points and vanishing lines

• Pinhole camera model and camera projection matrix

• Homogeneous coordinates

Vanishingpoint

Vanishingline

Vanishingpoint

Vertical vanishingpoint

(at infinity)

[ ]XtRKx =

Page 56: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Next class

• Applications of camera model and projective geometry– Recovering the camera intrinsic and extrinsic parameters from an image

– Recovering size in the world

– Projecting from one plane to another (if time allows)

Page 57: Projective Geometry and Camera Modelsweb.engr.illinois.edu/~dhoiem/courses/vision_spring10... ·  · 2010-01-28Projective Geometry and Camera Models Computer Vision CS 543 / ECE

Questions