projection - ubc department of computer sciencelittle/505/lectures-16/projection.pdf ·...

47
Projection Readings Szeliski 2.1

Upload: others

Post on 29-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Projection

Readings• Szeliski 2.1

Page 2: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Projection

Readings• Szeliski 2.1

Page 3: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Müller-Lyer Illusion

by Pravin Bhat

http://www.michaelbach.de/ot/sze_muelue/index.html

Page 4: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

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?

Page 5: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Pinhole camera

Add a barrier to block off most of the rays• This reduces blurring• The opening known as the aperture• How does this transform the image?

Page 6: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Camera Obscura

The first camera• Known to Aristotle• How does the aperture size affect the image?

Page 7: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: CamerasSlides by D.A. Forsyth

CamerasFirst photograph due to NiepceFirst on record shown in the book - 1822Basic abstraction is the pinhole camera

• lenses required to ensure image is not too dark• various other abstractions can be applied

Page 8: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Shrinking the aperture

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

Page 9: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Shrinking the aperture

Page 10: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

The reason for lenses

Page 11: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Adding a lens

A lens focuses light onto the film• There is a specific distance at which objects are “in focus”

– other points project to a “circle of confusion” in the image

• Changing the shape of the lens changes this distance

“circle of confusion”

Page 12: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Lenses

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

– f is a function of the shape and index of refraction of the lens

• Aperture of diameter D restricts the range of rays– aperture may be on either side of the lens

• Lenses are typically spherical (easier to produce)

focal point

F

optical center(Center Of Projection)

Page 13: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Thin lenses

Thin lens equation:

• Any object point satisfying this equation is in focus• What is the shape of the focus region?• How can we change the focus region?• Thin lens applet: http://www.phy.ntnu.edu.tw/java/Lens/lens_e.html (by Fu-Kwun Hwang )

Page 14: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Depth of field

Changing the aperture size affects depth of field• A smaller aperture increases the range in which the object is

approximately in focus

f / 5.6

f / 32

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

Page 15: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

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 “film”?– photoreceptor cells (rods and cones) in the retina

Page 16: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Digital camera

A digital camera replaces film with a sensor array• Each cell in the array is a Charge Coupled Device

– light-sensitive diode that converts photons to electrons– other variants exist: CMOS is becoming more popular– http://electronics.howstuffworks.com/digital-camera.htm

Page 17: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Issues with digital camerasNoise

– big difference between consumer vs. SLR-style cameras– low light is where you most notice noise

Compression– creates artifacts except in uncompressed formats (tiff, raw)

Color– color fringing artifacts from Bayer patterns

Blooming– charge overflowing into neighboring pixels

In-camera processing– oversharpening can produce halos

Interlaced vs. progressive scan video– even/odd rows from different exposures

Are more megapixels better?– requires higher quality lens– noise issues

Stabilization– compensate for camera shake (mechanical vs. electronic)

More info online, e.g.,• http://electronics.howstuffworks.com/digital-camera.htm• http://www.dpreview.com/

Page 18: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Lens systems

Page 19: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Vignetting

Page 20: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Modeling projection

The coordinate system• We will use the pin-hole model as an approximation• Put the optical center (Center Of Projection) at the origin• Put the image plane (Projection Plane) in front of the COP

– Why?

• The camera looks down the negative z axis– we need this if we want right-handed-coordinates

Page 21: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Modeling projection

Projection equations• Compute intersection with PP of ray from (x,y,z) to COP• Derived using similar triangles (on board)

• We get the projection by throwing out the last coordinate:

Page 22: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Pinhole camerasAbstract camera model -

box with a small hole in it

Pinhole cameras work in practice

Page 23: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Distant objects are smaller

Page 24: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Parallel lines meet

Common to draw film planein front of the focal point.Moving the film plane merelyscales the image.

Page 25: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Vanishing pointseach set of parallel lines

(=direction) meets at a different point• The vanishing point for

this direction

Sets of parallel lines on the same plane lead to collinear vanishing points. • The line is called the

horizon for that plane

Good ways to spot faked images• scale and perspective

don’t work• vanishing points behave

badly• supermarket tabloids are

a great source.

Page 26: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Page 27: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Homogeneous coordinatesIs this a linear transformation?

Trick: add one more coordinate:

homogeneous image coordinates

homogeneous scene coordinates

Converting from homogeneous coordinates

• no—division by z is nonlinear

Page 28: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Perspective ProjectionProjection is a matrix multiply using homogeneous coordinates:

divide by third coordinate

This is known as perspective projection• The matrix is the projection matrix• Can also formulate as a 4x4 (today’s reading does this)

divide by fourth coordinate

Page 29: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Perspective ProjectionHow does scaling the projection matrix change the transformation?

Page 30: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Orthographic projectionSpecial case of perspective projection

• Distance from the COP to the PP is infinite

• Good approximation for telephoto optics• Also called “parallel projection”: (x, y, z) → (x, y)• What’s the projection matrix?

Image World

Page 31: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Orthographic (“telecentric”) lenses

http://www.lhup.edu/~dsimanek/3d/telecent.htm

Navitar telecentric zoom lens

Page 32: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Variants of orthographic projectionScaled orthographic

• Also called “weak perspective”

Affine projection• Also called “paraperspective”

Page 33: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Projection equation

• The projection matrix models the cumulative effect of all parameters• Useful to decompose into a series of operations

ΠXx =

=

=

1****

****

****

Z

Y

X

s

sy

sx

−−

=110100

0010

0001

100

'0

'0

31

1333

31

1333

x

xx

x

xxcy

cx

yfs

xfs

00

0 TIRΠ

projectionintrinsics rotation translation

identity matrix

Camera parametersA camera is described by several parameters

• Translation T of the optical center from the origin of world coords• Rotation R of the image plane• focal length f, principal point (x’c, y’c), pixel size (sx, sy)• blue parameters are called “extrinsics,” red are “intrinsics”

• The definitions of these parameters are not completely standardized– especially intrinsics—varies from one book to another

Page 34: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Distortion

Radial distortion of the image• Caused by imperfect lenses• Deviations are most noticeable for rays that pass through the

edge of the lens

No distortion Pin cushion Barrel

Page 35: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Correcting radial distortion

from Helmut Dersch

Page 36: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Distortion

Page 37: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Modeling distortion

To model lens distortion• Use above projection operation instead of standard

projection matrix multiplication

Apply radial distortion

Apply focal length translate image center

Project to “normalized”

image coordinates

Page 38: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Geometric properties of projectionPoints go to pointsLines go to linesPlanes go to whole imagePolygons go to polygons

Degenerate cases• line through focal point to

point• plane through focal point

to line

Page 39: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Polyhedra project to polygons(because lines project to

lines)

Page 40: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Junctions are constrained

This leads to a process called “line labelling”• one looks for

consistent sets of labels, bounding polyhedra

• disadv - can’t get the lines and junctions to label from real images

Page 41: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Computer Vision - A Modern Approach

Set: Cameras

Curved surfaces are much more interesting

Crucial issue: outline is the set of points where the viewing direction is tangent to the surface

This is a projection of a space curve, which varies from view to view of the surface

Page 42: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Other types of projectionLots of intriguing variants…(I’ll just mention a few fun ones)

Page 43: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

360 degree field of view…

Basic approach• Take a photo of a parabolic mirror with an orthographic lens (Nayar)• Or buy one a lens from a variety of omnicam manufacturers…

– See http://www.cis.upenn.edu/~kostas/omni.html

Page 44: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Tilt-shift

Titlt-shift images from Olivo Barbieriand Photoshop imitations

http://www.northlight-images.co.uk/article_pages/tilt_and_shift_ts-e.html

Page 45: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Rollout Photographs © Justin Kerr http://research.famsi.org/kerrmaya.html

Rotating sensor (or object)

Also known as “cyclographs”, “peripheral images”

Page 46: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different

Photofinish

Page 47: projection - UBC Department of Computer Sciencelittle/505/lectures-16/projection.pdf · 2015-01-15 · Vanishing points each set of parallel lines (=direction) meets at a different