camera calibration digital visual effects yung-yu chuang with slides by richard szeliski, steve...

96
Camera calibration Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz,, Fred Pighin and Marc Pollefyes

Upload: alexia-cummings

Post on 31-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Camera calibration

Digital Visual EffectsYung-Yu Chuang

with slides by Richard Szeliski, Steve Seitz,, Fred Pighin and Marc Pollefyes

Outline

• Camera projection models• Camera calibration• Nonlinear least square methods• A camera calibration tool• Applications

Camera projection models

Pinhole camera

Pinhole camera model

(optical center)

origin

principal point

P(X,Y,Z)

p

(x,y)

Pinhole camera model

10100

000

000

~

1Z

Y

X

f

f

Z

fY

fX

y

x

Z

fYy

Z

fXx

principal point

Pinhole camera model

10100

0010

0001

100

00

00

~

1Z

Y

X

f

f

Z

fY

fX

y

x

principal point

Principal point offset

10100

0010

0001

100

0

0

~

10

0

Z

Y

X

yf

xf

Z

fY

fX

y

x

XIKx 0~

intrinsic matrix

principal point

only related to camera projection

Intrinsic matrix

• non-square pixels (digital video)• skew• radial distortion

100

0

0

0

0

yf

xf

K

100

0 0

0

yf

xsfa

K

Is this form of K good enough?

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

Camera rotation and translation

tR

Z

Y

X

Z

Y

X

33

'

'

'

1100

0

0

~

10

0

Z

Y

X

yf

xf

y

x

tR

XtRKx ~

extrinsic matrix

Two kinds of parameters

• internal or intrinsic parameters such as focal length, optical center, aspect ratio:what kind of camera?

• external or extrinsic (pose) parameters including rotation and translation:where is the camera?

Other projection models

Orthographic projection• Special case of perspective projection

– Distance from the COP to the PP is infinite

– Also called “parallel projection”: (x, y, z) → (x, y)

Image World

Other types of projections• Scaled orthographic

– Also called “weak perspective”

• Affine projection– Also called “paraperspective”

Illusion

Illusion

Fun with perspective

Perspective cues

Perspective cues

Fun with perspective

Ames room

Ames video BBC story

Forced perspective in LOTR

Camera calibration

Camera calibration

• Estimate both intrinsic and extrinsic parameters. Two main categories:

1. Photometric calibration: uses reference objects with known geometry

2. Self calibration: only assumes static scene, e.g. structure from motion

Camera calibration approaches

1. linear regression (least squares)2. nonlinear optimization

Chromaglyphs (HP research)

Camera calibration

Linear regression

MXXtRKx ~

Linear regression

• Directly estimate 11 unknowns in the M matrix using known 3D points (Xi,Yi,Zi) and measured feature positions (ui,vi)

Linear regression

Linear regression

Linear regression

Solve for Projection Matrix M using least-square techniques

Normal equation

Given an overdetermined system

bAx

bAAxA TT

the normal equation is that which minimizes the sum of the square differences between left and right sides

Linear regression

• Advantages:– All specifics of the camera summarized in one

matrix– Can predict where any world point will map to

in the image

• Disadvantages:– Doesn’t tell us about particular parameters– Mixes up internal and external parameters

• pose specific: move the camera and everything breaks

– More unknowns than true degrees of freedom

Nonlinear optimization

• A probabilistic view of least square• Feature measurement equations

• Probability of M given {(ui,vi)}

P

Optimal estimation

• Likelihood of M given {(ui,vi)}

• It is a least square problem (but not necessarily linear least square)

• How do we minimize L?

PL

Optimal estimation

• Non-linear regression (least squares), because the relations between ûi and ui are non-linear functions of M

• We can use Levenberg-Marquardt method to minimize it

XtRKuuu ~ˆ

known constant

We could have terms like in thiscosf

unknown parameters

Nonlinear least square methods

Least square fitting

number of data points

number of parameters

Linear least square fitting

y

t

Linear least square fitting

y

t

txxtMty 10);()( x

model parameters

Linear least square fitting

y

t

txxtMty 10);()( x

model parameters

Linear least square fitting

y

t

txxtMty 10);()( x

model parameters

);()( xiii tMyxf

residualprediction

Linear least square fitting

y

t

txxtMty 10);()( x

3210);( txtxxtM x is linear, too.

model parameters

);()( xiii tMyxf

residualprediction

Nonlinear least square fitting

txtx exextM 2143);( xmodel

Txxxx ],,,[ 4421xparameters

);()( xx iii tMyf

txtxi exexy 21

43

residuals

Function minimization

It is very hard to solve in general. Here, we only consider a simpler problem of finding local minimum.

Least square is related to function minimization.

Function minimization

Quadratic functions

Approximate the function with a quadratic function within a small neighborhood

Quadratic functions

A is positive definite.All eigenvalues are positive.For all x, xTAx>0.

negative definite

A is indefiniteA is singular

Function minimization

Why?By definition, if is a local minimizer, h )F(xh)F(x **

*x

)hO()(xF'h)F(xh)F(x2*T**

is small enough

Function minimization

Function minimization

Descent methods

Descent direction

Steepest descent method

the decrease of F(x) per unit along h direction

→hsd is a descent direction because hT

sd F’(x) = -F’(x)2 <0

Line search

minimum is

)(

that so Find

0 h)F(x α

)('

)(0

0

0

hxFhx

x

F

h)F(x

T α

α

)(xF'h 0

Line search

Hhh

hhT

T

0)(' 0 hxFhT α

)(xF'h 0

0

)()(

)('

0''

0'

0

Hhhhh

hxFxFh

hxFh

TT

TT

T

α

α

α

Steepest descent method

isocontour gradient

Steepest descent method

It has good performance in the initial stage of the iterative process. Converge very slow with a linear rate.

Newton’s method

Newton’s method• Another view

• Minimizer satisfies

Hhhghxhxh TT

2

1)()()( FFE

0)(' * hE

0)(' HhghE

gHh 1

Newton’s method

• It requires solving a linear system and H is not always positive definite.

• It has good performance in the final stage of the iterative process, where x is close to x*.

gHh 1

Gauss-Newton method• Use the approximate Hessian

• No need for second derivative• H is positive semi-definite

JJH T

Hybrid method

This needs to calculate second-order derivative which might not be available.

Levenberg-Marquardt method

• LM can be thought of as a combination of steepest descent and the Newton method. When the current solution is far from the correct one, the algorithm behaves like a steepest descent method: slow, but guaranteed to converge. When the current solution is close to the correct solution, it becomes a Newton’s method.

Nonlinear least square

).(ˆ with ,ˆ

Here, minimal. is distance squared

that theso vector parameter best the

find try to, tsmeasuremen ofset aGiven

pxxx

p

x

f

T

Levenberg-Marquardt method

Levenberg-Marquardt method

• μ=0 → Newton’s method• μ→∞ → steepest descent method

• Strategy for choosing μ– Start with some small μ– If F is not reduced, keep trying larger μ until it

does– If F is reduced, accept it and reduce μ for the

next iteration

gI)hJ(JT

Recap (the Rosenbrock function)

2222 )(100)1(),( xyxyxfz

Global minimum at (1,1)

Steepest descent

gxx k1k

Hhh

hhT

T

1kx

kx

1x

2xminx

g kF x'

1x

2x

g

1kx

kx

minx

In the plane of the steepest descent direction

Hhh

hhT

T

1kx kx

Regularized Least-Squares

Steepest descent (1000 iterations)

Gauss-Newton method

• With the approximate Hessian

• No need for second derivative• H is positive semi-definite

gHxx 1k1k

JJH T

1x

2x

gH- 1

1kx

kx

minx

Regularized Least-Squares

Newton’s method (48 evaluations)

Levenberg-Marquardt• Blends steepest descent and Gauss-

Newton• At each step, solve for the descent

direction h

• If μ large, , steepest descent

• If μ small, , Gauss-Newton

gI)hJ(JT gh

gJ)(Jh T 1

Regularized Least-Squares

Levenberg-Marquardt (90 evaluations)

A popular calibration tool

Multi-plane calibration

Images courtesy Jean-Yves Bouguet, Intel Corp.

Advantage• Only requires a plane• Don’t have to know positions/orientations• Good code available online!

– Intel’s OpenCV library: http://www.intel.com/research/mrl/research/opencv/

– Matlab version by Jean-Yves Bouget: http://www.vision.caltech.edu/bouguetj/calib_doc/index.html

– Zhengyou Zhang’s web site: http://research.microsoft.com/~zhang/Calib/

Step 1: data acquisition

Step 2: specify corner order

Step 3: corner extraction

Step 3: corner extraction

Step 4: minimize projection error

Step 4: camera calibration

Step 4: camera calibration

Step 5: refinement

Optimized parameters

Applications

How is calibration used?

• Good for recovering intrinsic parameters; It is thus useful for many vision applications

• Since it requires a calibration pattern, it is often necessary to remove or replace the pattern from the footage or utilize it in some ways…

Example of calibration

Example of calibration

Example of calibration

• Videos from GaTech• DasTatoo, MakeOf• P!NG, MakeOf• Work, MakeOf• LifeInPaints, MakeOf

PhotoBook

MakeOf

PhotoBook