last lecture (optical center) origin principal point p (x,y,z) p (x,y) x y

Post on 30-Dec-2015

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Last Lecture

(optical center)

origin

principal point

P

(X,Y,Z)

p

(x,y)

Z

Y

X

yf

xf

Z

fY

fX

y

x

100

0

0

~

10

0

x

y

Camera calibration

Camera calibration

• Estimate both intrinsic and extrinsic parameters

• Mainly, two categories:1. Using objects with known geometry as

reference 2. Self calibration (structure from motion)

11100

0

0

~

1Z

Y

X

lkji

hgfe

dcba

Z

Y

X

yf

xf

y

x

c

c

tR

One app of camera pose application

• Virtual gaming– http://www.livestream.com/emtech/video?

clipId=pla_74103098-95fb-4704-99f0-d07339dc16a1

Camera calibration approaches

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

MXXtRKx ~

Linear regression

Linear regression

i

i

iiiiiiiii

iiiiiiiii

v

u

m

m

m

m

m

m

m

m

m

m

m

YvYvXvZYX

ZuYuXuZYX

22

21

20

13

12

11

10

03

02

01

00

10000

00001

Linear regression

Solve for Projection Matrix M using least-square techniques

i

i

NNNNNNNNN

NNNNNNNNNv

u

m

m

m

m

m

m

m

m

m

m

m

YvYvXvZYX

ZuYuXuZYX

YvYvXvZYX

ZuYuXuZYX

22

21

20

13

12

11

10

03

02

01

00

111111111

111111111

10000

00001

10000

00001

Normal equation (Geometric Interpretation)

Given an overdetermined system

bAx

0)(T bAxA

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

2min bAx

bx T1T AAA

Normal equation (Differential Interpretation)

2)( bAxx E

n

m

nmn

m

b

b

x

x

aa

aa

:

:

:

:

...

::

::

::

... 1

1

1

111

nxm, n equations, m variables

Normal equation

bbxbAxbAAxAx

bbbAxAxbAxAx

bAxbAx

bAxbAx

bAxx

TTTTTTT

TTTTTT

TTT

T

E2

)(

bAAxAx

TT 22 E

Carl Friedrich Gauss

Any issues with the method?

Nonlinear optimization

• A probabilistic view of least square• Feature measurement equations

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

Optimal estimation

• Log likelihood of M given {(ui,vi)}

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

• How do we minimize C?

2

222120

131211102

2

1 222120

030201002 1

1

1

1

iii

iiii

i

N

i iii

iiii

i ZmYmXm

mZmYmXmv

ZmYmXm

mZmYmXmu

Nonlinear least square methods

Least square fitting

number of data points

number of parameters

Nonlinear least square fitting

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

Function minimization

Computing gradient and Hessian

hxx

hhx

xx

hxxx

xhhx

xx

hxxx

xhhx

xx

hx

hhx

x

hxhx

m

i

iim

i

ii

m

ii

m

i

iiii

m

i

ii

m

ii

m

i

iiii

iii

m

i

iii

m

ii

fffff

ffff

fff

ffff

fff

fff

fF

1

TT

T

11

2

1

T

2

2T

T

11

2

1

T

2

2T

T2

1

2

2

2T

T

1

2

2

1)()(

2

1

)(2

1)()(

2

1

)()(2)(2

1

2

1)(

2

1

)(2

1)(

Gradient Hessian

Computing gradient and Hessian

hxx

hhx

xx

hxxx

xhhx

xx

hxxx

xhhx

xx

hx

hhx

x

hxhx

m

i

iim

i

ii

m

ii

m

i

iiii

m

i

ii

m

ii

m

i

iiii

iii

m

i

iii

m

ii

fffff

ffff

fff

ffff

fff

fff

fF

1

TT

T

11

2

1

T

2

2T

T

11

2

1

T

2

2T

T2

1

2

2

2T

T

1

2

2

1)()(

2

1

)(2

1)()(

2

1

)()(2)(2

1

2

1)(

2

1

)(2

1)(

Gradient Hessian

Computing gradient and Hessian

hxx

hhx

xx

hxxx

xhhx

xx

hxxx

xhhx

xx

hx

hhx

x

hxhx

m

i

iim

i

ii

m

ii

m

i

iiii

m

i

ii

m

ii

m

i

iiii

iii

m

i

iii

m

ii

fffff

ffff

fff

ffff

fff

fff

fF

1

TT

T

11

2

1

T

2

2T

T

11

2

1

T

2

2T

T2

1

2

2

2T

T

1

2

2

1)()(

2

1

)(2

1)()(

2

1

)()(2)(2

1

2

1)(

2

1

)(2

1)(

Gradient Hessian

Computing gradient and Hessian

hxx

hhx

xx

hxxx

xhhx

xx

hxxx

xhhx

xx

hx

hhx

x

hxhx

m

i

iim

i

ii

m

ii

m

i

iiii

m

i

ii

m

ii

m

i

iiii

iii

m

i

iii

m

ii

fffff

ffff

fff

ffff

fff

fff

fF

1

TT

T

11

2

1

T

2

2T

T

11

2

1

T

2

2T

T2

1

2

2

2T

T

1

2

2

1)()(

2

1

)(2

1)()(

2

1

)()(2)(2

1

2

1)(

2

1

)(2

1)(

Gradient Hessian

Computing gradient and Hessian

hxx

hhx

xx

hxxx

xhhx

xx

hxxx

xhhx

xx

hx

hhx

x

hxhx

m

i

iim

i

ii

m

ii

m

i

iiii

m

i

ii

m

ii

m

i

iiii

iii

m

i

iii

m

ii

fffff

ffff

fff

ffff

fff

fff

fF

1

TT

T

11

2

1

T

2

2T

T

11

2

1

T

2

2T

T2

1

2

2

2T

T

1

2

2

1)()(

2

1

)(2

1)()(

2

1

)()(2)(2

1

2

1)(

2

1

)(2

1)(

Gradient Hessian

Searching for update h

Hhhhgxhx TT

1

2

2

1)(

2

1)(

m

iifF

Gradient Hessian

Idea 1: Steepest Descent

Hgg

gg

Hggggxhx

gh

T

T

T2

T

1

2

2)(

2

1)(

Let

m

iifF

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.

Searching for update h

Hhhhgxhx TT

1

2

2

1)(

2

1)(

m

iifF

Gradient Hessian

Idea 2: minimizing the quadric directly

gHh

Hhghxh

1

0)(Let

F

Converge faster but needs to solve the linear system

Recap: Calibration

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

MXXtRKx ~

Camera Model:

Recap: Calibration

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

MXXtRKx ~

Linear Approach:

Recap: Calibration

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

MXXtRKx ~

NonLinear Approach:

2

222120

13121110

2

1 222120

03020100

11

iii

iiii

N

i iii

iiii ZmYmXm

mZmYmXmv

ZmYmXm

mZmYmXmu

Practical Issue

is hard to make and the 3D feature positions are difficult to measure!

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 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

Next

Image Mosaics and Panorama

• Today’s Readings– Szeliski and Shum paper

http://www.acm.org/pubs/citations/proceedings/graph/258734/p251-szeliski/

Full screen panoramas (cubic): http://www.panoramas.dk/ Mars: http://www.panoramas.dk/fullscreen3/f2_mars97.html

2003 New Years Eve: http://www.panoramas.dk/fullscreen3/f1.html

Why Mosaic?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°

Slide from Brown & Lowe

Why Mosaic?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°– Human FOV = 200 x 135°

Slide from Brown & Lowe

Why Mosaic?

• Are you getting the whole picture?– Compact Camera FOV = 50 x 35°– Human FOV = 200 x 135°– Panoramic Mosaic = 360 x 180°

Slide from Brown & Lowe

Mosaics: stitching images together

Creating virtual wide-angle camera

Auto Stitch: the State of Art Method

• Demo

• Project 2 is a striped-down AutoStitch

How to do it?

• Basic Procedure– Take a sequence of images from the same

position• Rotate the camera about its optical center

– Compute transformation between second image and first

– Transform the second image to overlap with the first

– Blend the two together to create a mosaic– If there are more images, repeat

Geometric Interpretation of Mosaics

Image 1

Image 2

• If we capture all the 360º rays in different images, we can assemble them into a panorama.

• The basic operation is projecting an image from one plane to another

• The projective transformation is scene-INDEPENDENT

Optical Center

What is the transformation?

Translations are not enough to align the images

left on top right on top

top related