mc949 - computer vision - instituto de...

50
MC949 - Computer Vision Lecture #2 Microsoft Research Faculty Fellow Reasoning for Complex Data (RECOD) Lab. Instituto de Computação, Universidade Estadual de Campinas (Unicamp) [email protected] http://www.ic.unicamp.br/~rocha Prof. Dr. Anderson Rocha

Upload: vuongdiep

Post on 29-Apr-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

MC949 - Computer VisionLecture #2

Microsoft Research Faculty FellowReasoning for Complex Data (RECOD) Lab.

Instituto de Computação, Universidade Estadual de Campinas (Unicamp)

[email protected]://www.ic.unicamp.br/~rocha

Prof. Dr. Anderson Rocha

Page 2: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

A. Rocha, 2012s1 – Computer Vision (MC949)

This lecture slides were made based on slides of several researchers such as James Hayes, Derek Hoiem, Alexei Efros, Steve Seitz, and David Forsyth and many others. Many thanks to all of these authors.

Projective Geometry and Camera Models

2

Reading: Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Page 3: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

A. Rocha, 2012s1 – Computer Vision (MC949)

Agenda

‣ Wrapping up last class

‣ Mapping between image and world coordinates

‣ Pinhole camera model (Building our own camera)

‣ Projective geometry

• Vanishing points and lines

‣ Projection matrix

3

Page 4: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

A. Rocha, 2012s1 – Computer Vision (MC949)

Last class: Intro

• Overview of vision, examples of state of art

• Computer Graphics: Models to Images

• Comp. Photography: Images to Images

• Computer Vision: Images to Models

Page 5: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

A. Rocha, 2012s1 – Computer Vision (MC949)

What do you need to make a camera from scratch?

Page 6: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Today’s class: Camera and World

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 7: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

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 8: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

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 9: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Pinhole camera

Figure from Forsyth

f

f = focal lengthc = center of the camera

c

Page 10: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Camera obscura: the pre-camera• Known during classical period in China and

Greece (e.g. Mo-Ti, China, 470BC to 390BC)

Illustration of Camera Obscura Freestanding camera obscura at UNC Chapel Hill

Photo by Seth Ilys

Page 11: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Camera Obscura used for Tracing

Lens Based Camera Obscura, 1568

Page 12: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

First Photograph

Oldest surviving photograph– Took 8 hours on pewter

plate

Joseph Niepce, 1826

Photograph of the first photograph

Stored at UT Austin

Niepce later teamed up with Daguerre, who eventually created Daguerrotypes

Page 13: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Figures © Stephen E. Palmer, 2002

Dimensionality Reduction Machine (3D to 2D)

3D world 2D image

Page 14: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projection can be tricky…

Slide source: Seitz

Page 15: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projection can be tricky…

Slide source: Seitz

Page 16: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projective GeometryWhat is lost?• Length

Which is closer?

Who is taller?

Page 17: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Length is not preserved

Figure by David Forsyth

B’

C

A’

Page 18: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projective GeometryWhat is lost?• Length• Angles

Perpendicular?

Parallel?

Page 19: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projective GeometryWhat is preserved?• Straight lines are still straight

Page 20: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Vanishing points and lines Parallel lines in the world intersect in the

image at a “vanishing point”

Page 21: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Vanishing points and lines

oVanishing Point oVanishing Point

Vanishing Line

Page 22: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Vanishing points and lines

Vanishing point

Vanishing line

Vanishing point

Vertical vanishing point

(at infinity)

Slide from Efros, Photo from Criminisi

Page 23: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Vanishing points and lines

Photo from online Tate collection

Page 24: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Note on estimating vanishing points

Page 25: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Projection: world coordinatesimage coordinates

Camera Center (tx,

ty, tz)

.

.. f Z Y.Optical Center (u0, v0)

v

u

Page 26: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Homogeneous coordinates Conversion

Converting to homogeneous coordinates

homogeneous image coordinates

homogeneous scene coordinates

Converting from homogeneous coordinates

Page 27: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Homogeneous coordinates

Invariant to scaling

Point in Cartesian is ray in Homogeneous

Homogeneous Coordinates

Cartesian Coordinates

Page 28: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

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

Page 29: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Another problem solved by homogeneous coordinates

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

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

Page 30: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Slide Credit: SavereseProjection matrix

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: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Interlude: why does this matter?

Page 32: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Object Recognition (CVPR 2006)

Page 33: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Inserting photographed objects into images (SIGGRAPH 2007)

Original Created

Page 34: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Pinhole Camera Model

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

Page 35: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

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 36: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Remove assumption: known optical

Intrinsic Assumptions• Unit aspect ratio• No skew

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

Page 37: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Remove assumption: square pixels

Intrinsic Assumptions• No skew

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

Page 38: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Remove assumption: non-skewed pixels

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

Note: different books use different notation for parameters

Page 39: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Oriented and Translated Camera

Ow

iw

kw

jw

t

R

Page 40: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Allow camera translation

Intrinsic Assumptions Extrinsic Assumptions• No rotation

Page 41: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

3D Rotation of Points

Rotation around the coordinate axes, counter-clockwise:

p

p’γ

y

z

Slide Credit: Saverese

Page 42: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Allow camera rotation

Page 43: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Degrees of freedom

5 6

Page 44: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Vanishing Point = Projection from Infinity

Page 45: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Orthographic Projection• Special case of perspective projection

–Distance from the COP to the image plane is infinite

–Also called “parallel projection”–What’s the projection matrix?

Image World

Slide by Steve Seitz

Page 46: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Scaled Orthographic Projection• Special case of perspective projection

–Object dimensions are small compared to distance to camera

–Also called “weak perspective”–What’s the projection matrix?

Image World

Slide by Steve Seitz

Page 47: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Field of View (Zoom)

Page 48: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Suppose we have two 3D cubes on the ground facing the viewer, one near, one far.

1.What would they look like in perspective?2.What would they look like in weak perspective?

Photo credit: GazetteLive.co.uk

Page 49: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Beyond Pinholes: Radial Distortion

Image from Martin Habbecke

Corrected Barrel Distortion

Page 50: MC949 - Computer Vision - INSTITUTO DE COMPUTAÇÃOrocha/teaching/2012s1/mc949/aulas/2012-vision... · MC949 - Computer Vision ... Szeliski, Chapter 2, Secs. 2.1 specially 2.1.5

Things to remember

• Vanishing points and vanishing lines

• Pinhole camera model and camera projection matrix

• Homogeneous coordinates

Vanishing point

Vanishing line

Vanishing point

Vertical vanishing point

(at infinity)