Top Banner
Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely
44

Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Lecture 19: Single-view modeling

CS6670: Computer VisionNoah Snavely

Page 2: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Announcements

• Project 3: Eigenfaces– due tomorrow, November 11 at 11:59pm

• Quiz on Thursday, first 10 minutes of class

Page 3: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Announcements

• Final projects– Feedback in the next few days– Midterm reports due November 24– Final presentations tentatively scheduled for the

final exam period:Wed, December 16, 7:00 PM - 9:30 PM

Page 4: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Multi-view geometry

• We’ve talked about two views

• And many views

• What can we tell about geometry from one view?

0

Page 5: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Projective geometry

Readings• Mundy, J.L. and Zisserman, A., Geometric Invariance in Computer Vision, Appendix:

Projective Geometry for Machine Vision, MIT Press, Cambridge, MA, 1992, (read 23.1 - 23.5, 23.10)

– available online: http://www.cs.cmu.edu/~ph/869/papers/zisser-mundy.pdf

Ames Room

Page 6: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Projective geometry—what’s it good for?

Uses of projective geometry• Drawing• Measurements• Mathematics for projection• Undistorting images• Camera pose estimation• Object recognition

Paolo Uccello

Page 7: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Applications of projective geometry

Vermeer’s Music Lesson

Reconstructions by Criminisi et al.

Page 8: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

1 2 3 4

1

2

3

4

Measurements on planes

Approach: unwarp then measure

What kind of warp is this?

Page 9: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Image rectification

To unwarp (rectify) an image• solve for homography H given p and p’• solve equations of the form: wp’ = Hp

– linear in unknowns: w and coefficients of H

– H is defined up to an arbitrary scale factor

– how many points are necessary to solve for H?

pp’

Page 10: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Solving for homographies

Page 11: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Solving for homographies

Page 12: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Solving for homographies

Defines a least squares problem:• Since is only defined up to scale, solve for unit vector• Solution: = eigenvector of with smallest eigenvalue• Works with 4 or more points

2n × 9 9 2n

Page 13: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

l

Point and line duality• A line l is a homogeneous 3-vector• It is to every point (ray) p on the line: l p=0

p1p2

What is the intersection of two lines l1 and l2 ?

• p is to l1 and l2 p = l1 l2

Points and lines are dual in projective space• given any formula, can switch the meanings of points and

lines to get another formula

l1

l2

p

What is the line l spanned by rays p1 and p2 ?

• l is to p1 and p2 l = p1 p2

• l can be interpreted as a plane normal

Page 14: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Ideal points and lines

Ideal point (“point at infinity”)• p (x, y, 0) – parallel to image plane• It has infinite image coordinates

(sx,sy,0)-y

x-z image plane

Ideal line• l (a, b, 0) – parallel to image plane

(a,b,0)-y

x-z image plane

• Corresponds to a line in the image (finite coordinates)– goes through image origin (principle point)

Page 15: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D projective geometry

These concepts generalize naturally to 3D• Homogeneous coordinates

– Projective 3D points have four coords: P = (X,Y,Z,W)

• Duality– A plane N is also represented by a 4-vector– Points and planes are dual in 3D: N P=0– Three points define a plane, three planes define a point

• Projective transformations– Represented by 4x4 matrices T: P’ = TP, N’ = T-T N

.

Page 16: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D to 2D: “perspective” projection

Projection: ΠPp

1************

ZYX

wwywx

Page 17: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Vanishing points (1D)

Vanishing point• projection of a point at infinity• can often (but not always) project to a finite point in the image

image plane

cameracenter

ground plane

vanishing point

cameracenter

image plane

Page 18: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Vanishing points (2D)

image plane

cameracenter

line on ground plane

vanishing point

Page 19: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Vanishing points

Properties• Any two parallel lines (in 3D) have the same vanishing point v• The ray from C through v is parallel to the lines• An image may have more than one vanishing point

– in fact, every image point is a potential vanishing point

image plane

cameracenter

C

line on ground plane

vanishing point V

line on ground plane

Page 20: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Two point perspective

vxvy

Page 21: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Three point perspective

Page 22: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Vanishing lines

Multiple Vanishing Points• Any set of parallel lines on the plane define a vanishing point• The union of all of these vanishing points is the horizon line

– also called vanishing line• Note that different planes (can) define different vanishing lines

v1 v2

Page 23: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Vanishing lines

Multiple Vanishing Points• Any set of parallel lines on the plane define a vanishing point• The union of all of these vanishing points is the horizon line

– also called vanishing line• Note that different planes (can) define different vanishing lines

Page 24: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Computing vanishing points

V

DPP t 0

P0

D

Page 25: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Computing vanishing points

Properties• P is a point at infinity, v is its projection

• Depends only on line direction

• Parallel lines P0 + tD, P1 + tD intersect at P

V

DPP t 0

0/1

/

/

/

1Z

Y

X

ZZ

YY

XX

ZZ

YY

XX

t D

D

D

t

t

DtP

DtP

DtP

tDP

tDP

tDP

PP

ΠPv

P0

D

Page 26: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Computing vanishing lines

Properties• l is intersection of horizontal plane through C with image plane

• Compute l from two sets of parallel lines on ground plane

• All points at same height as C project to l– points higher than C project above l

• Provides way of comparing height of objects in the scene

ground plane

lC

v1 v2l

Page 27: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.
Page 28: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Fun with vanishing points

Page 29: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Perspective cues

Page 30: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Perspective cues

Page 31: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Perspective cues

Page 32: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Comparing heights

VanishingVanishingPointPoint

Page 33: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Measuring height

1

2

3

4

55.4

2.8

3.3

Camera heightHow high is the camera?

Page 34: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

q1

Computing vanishing points (from lines)

Intersect p1q1 with p2q2

v

p1

p2

q2

Least squares version• Better to use more than two lines and compute the “closest” point of

intersection

• See notes by Bob Collins for one good way of doing this:– http://www-2.cs.cmu.edu/~ph/869/www/notes/vanishing.txt

Page 35: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

C

Measuring height without a ruler

ground plane

Compute Z from image measurements• Need more than vanishing points to do this

Z

Page 36: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

The cross ratio

A Projective Invariant• Something that does not change under projective

transformations (including perspective projection)

P1

P2

P3

P4

1423

2413

PPPP

PPPP

The cross-ratio of 4 collinear points

Can permute the point ordering• 4! = 24 different orders (but only 6 distinct values)

This is the fundamental invariant of projective geometry

1i

i

i

i Z

Y

X

P

3421

2431

PPPP

PPPP

Page 37: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

vZ

r

t

b

tvbr

rvbt

Z

Z

image cross ratio

Measuring height

B (bottom of object)

T (top of object)

R (reference point)

ground plane

HC

TBR

RBT

scene cross ratio

1

Z

Y

X

P

1

y

x

pscene points represented as image points as

R

H

R

H

R

Page 38: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Measuring height

RH

vz

r

b

t

R

H

Z

Z

tvbr

rvbt

image cross ratio

H

b0

t0

vvx vy

vanishing line (horizon)

Page 39: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

Measuring height vz

r

b

t0

vx vy

vanishing line (horizon)

v

t0

m0

What if the point on the ground plane b0 is not known?

• Here the guy is standing on the box, height of box is known

• Use one side of the box to help find b0 as shown above

b0

t1

b1

Page 40: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D Modeling from a photograph

St. Jerome in his Study, H. Steenwick

Page 41: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D Modeling from a photograph

video by Antonio Criminisi

Page 42: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D Modeling from a photograph

Flagellation, Piero della Francesca

Page 43: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D Modeling from a photograph

video by Antonio Criminisi

Page 44: Lecture 19: Single-view modeling CS6670: Computer Vision Noah Snavely.

3D Modeling from a photograph

figure by Antonio Criminisi