### lec01_cameras_photogrammetry

```Computer Vision
CS 776 Spring 2014
Cameras & Photogrammetry 1
Prof. Alex Berg
(Slide credits to many folks on individual slides)
Cameras & Photogrammetry 1
Albrecht Dürer early 1500s
Brunelleschi, early 1400s
Let’s design a camera
Idea 1: put a piece of film in front of an
object
Do we get a reasonable image?
Slide by Steve Seitz
Pinhole camera
Add a barrier to block off most of the rays
Slide by Steve Seitz
Pinhole camera
•
•
Captures pencil of rays – all rays through a single
point: aperture, center of projection, focal point,
camera center
The image is formed on the image plane
Slide by Steve Seitz
Pinhole cameras everywhere
Tree shadow during a solar eclipse
photo credit: Nils van der Burg
http://www.physicstogo.org/index.cfm
Slide by Steve Seitz
Dimensionality reduction: from 3D to 2D
3D world
2D image
Point of observation
What is preserved?
• Straight lines, incidence
What is not preserved?
• Angles, lengths
Slide by A. Efros
Figures © Stephen E. Palmer, 2002
Modeling projection
y
f
z
x
• To compute the projection P’ of a scene point P,
form the visual ray connecting P to the camera
center O and find where it intersects the image
plane
• All scene points that lie on this visual ray have the same
projection in the image
• Are there scene points for which this projection is
Source: J. Ponce, S. Seitz
undefined?
Modeling projection
y
f
z
x
The coordinate system
• The optical center (O) is at the origin
• The image plane is parallel to xy-plane (perpendicular to z axis)
Projection equations
• Derived using similar triangles:
x
y
( x, y , z )  ( f , f )
z
z
Source: J. Ponce, S. Seitz
Projection of a line
image plane
vanishing point
camera
center
line in the scene
•
What if we have another line in the scene
parallel to the first one?
Slide by Steve Seitz
Vanishing points
• Each direction in space has its own vanishing point
• All lines going in that direction converge at that point
• Exception: directions parallel to the image plane
Vanishing points
• Each direction in space has its own vanishing point
• All lines going in that direction converge at that point
• Exception: directions parallel to the image plane
• What about the vanishing line of a plane?
Slide by Steve Seitz
The horizon
camera
center
ground plane
• Vanishing line of the ground plane
– All points at the same height as the camera project
to the horizon
– Points higher than the camera project above the
horizon
– Provides way of comparing height of objects
Slide by Steve Seitz
The horizon
Slide by Steve Seitz
Perspective cues
Slide by Steve Seitz
Perspective cues
Slide by Steve Seitz
Perspective cues
Slide by Steve Seitz
Comparing heights
Vanishing
Point
Slide by Steve Seitz
Measuring height
5
4
3
5.4
Camera height
3.3
2.8
2
1
What is the height of the camera?
Slide by Steve Seitz
Perspective in art
Masaccio, Trinity,
Santa Maria
Novella, Florence,
1425-28
One of the first
consistent uses of
perspective in
Western art
Slide Svetlana Lazebnik
(at least partial) Perspective projections in
art well before the Renaissance
From ottobwiersma.nl
Also some Greek examples,
So apparently pre-renaissance…
Perspective distortion
• What does a sphere project to?
M. H. Pirenne
Perspective distortion
• What does a sphere project to?
Perspective distortion
• The exterior columns appear bigger
• The distortion is not due to lens flaws
• Problem pointed out by Da Vinci
Slide by F. Durand
Perspective distortion: People
Modeling projection
y
f
z
x
x
y
Projection equation: ( x, y, z )  ( f , f )
z
z
Source: J. Ponce, S. Seitz
Homogeneous coordinates
x
y
( x, y , z )  ( f , f )
z
z
Is this a linear transformation?
• no—division by z is nonlinear
homogeneous image
coordinates
homogeneous scene
coordinates
Converting from homogeneous coordinates
Slide by Steve Seitz
Perspective Projection Matrix
Projection is a matrix multiplication using
homogeneous coordinates
1 0 0
0 1 0

0 0 1 / f
 x
0    x 
y
x
y



0     y   ( f , f )
z
z
z
0    z / f 
divide by the third
coordinate
1 
In practice: lots of coordinate transformations…
2D
point
(3x1)
=
Camera to
pixel coord.
trans. matrix
(3x3)
Perspective
projection matrix
(3x4)
World to
camera coord.
trans. matrix
(4x4)
3D
point
(4x1)
Whole “pipeline”
é w p ù é
ê p i ú ê sx
ê w p p j ú = ê k2
ê
ú ê
êë w p úû êë 0
2D
point
(3x1)
=
k1
sy
0
0 ùé 1 0 0
úê
0 úê 0 1 0
úê 0 0 1 / f
1 úûë
Camera to
pixel coord.
trans. matrix
(3x3)
é
0 ùê
úê
0 úê
0 úûê
êë
Perspective
projection matrix
(3x4)
Just one matrix (+ dehomogenization)
but with a special structure
r11
r12
r13
r21 r22
r23
r31 r32
r33
0
0
0
t x ùé x
úê
t y úê y
ú
tz úê z
ê
1 úûë 1
World to
camera coord.
trans. matrix
(4x4)
é
é w p ù ê
ê p i ú ê
ê wp p j ú = ê
ê
ú ê
êë w p úû ê
ë
ù
ú
ú
ú
ú
û
3D
point
(4x1)
a b c d
e
f
g h
i
j k l
ùé
úê
úê
úê
úê
úë
û
x ù
ú
y ú
z ú
ú
1 û
Orthographic Projection
Special case of perspective projection
• Distance from center of projection to image plane is
infinite
Image
World
• Also called “parallel projection”
• What’s the projection matrix?
Slide by Steve Seitz