lecture 03 image formation 2 - uzh · camera calibration • calibration is the process to...

53
Lecture 03 Image Formation 2 Prof. Dr. Davide Scaramuzza [email protected]

Upload: others

Post on 09-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Lecture 03 Image Formation 2

Prof. Dr. Davide Scaramuzza

[email protected]

Page 2: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Today afternoon

Room 2.A.01 from 14:15 to 16:00

Matlab introduction

Filtering

Page 3: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Mini Project List

Deadlines: Discuss and come to an agreement with the teaching assistants before

December 1, 2015.

Hand in your project (code, description, short documentation) by December 19, 2015.

Page 4: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Goal of today’s lecure • Study the algorithms behind robot-position control and augmented reality

Page 5: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Outline of this lecture

• Camera calibration

– From 3D objects

– From planar grids

• Non conventional camera models

Page 6: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera

model

• A method proposed in 1987 by Tsai consists of measuring the 3D position of 𝑛 ≥ 6 control points on a three-dimensional calibration target and the 2D coordinates of their projection in the image. This problem is also called “Resection”, or “Perspective from 𝒏 Points”, or “Camera pose from 3D-to-2D correspondences”, and is one of the most widely used algorithms in Computer Vision and Robotics

• Solution: The intrinsic and extrinsic parameters are computed directly from the perspective projection equation; let’s see how!

Pc

O

u

v

p

Xc C Zc

Yc

W

Zw

Yw

Xw

= Pw

3D position of control points is assigned in a reference frame specified by the user

Page 7: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration: Direct Linear Transform (DLT)

Our goal is to compute K, R, and T, that satisfy the perspective projection equation (we neglect the radial distortion)

1

1~

~

~

~

w

w

w

Z

Y

X

TRKv

u

w

v

u

p

1100

0

0

~

~

~

3333231

2232221

1131211

0

0

w

w

w

v

u

Z

Y

X

trrr

trrr

trrr

v

u

w

v

u

1

~

~

~

3333231

302330233202231021

301330133201231011

w

w

w

vvvv

uuuu

Z

Y

X

trrr

tvtrvrrvrrvr

tutrurrurrur

w

v

u

Page 8: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration: Direct Linear Transform (DLT)

Our goal is to compute K, R, and T, that satisfy the perspective projection equation (we neglect the radial distortion)

1

1~

~

~

~

w

w

w

Z

Y

X

TRKv

u

w

v

u

p

1100

0

0

~

~

~

3333231

2232221

1131211

0

0

w

w

w

v

u

Z

Y

X

trrr

trrr

trrr

v

u

w

v

u

1

~

~

~

34333231

24232221

14131211

w

w

w

Z

Y

X

mmmm

mmmm

mmmm

w

v

u

Page 9: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration: Direct Linear Transform (DLT)

Our goal is to compute K, R, and T, that satisfy the perspective projection equation (we neglect the radial distortion)

where is the i-th row of M

1

~

~

~

34333231

24232221

14131211

w

w

w

Z

Y

X

mmmm

mmmm

mmmm

w

v

u

1

~

~

~

w

w

w

Z

Y

X

M

w

v

u

1

~

~

~

3

2

1

w

w

w

T

T

T

Z

Y

X

m

m

m

w

v

u

T

im

Page 10: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration: Direct Linear Transform (DLT)

~

~

~

~

3

2

3

1

Pm

Pm

w

vv

Pm

Pm

w

uu

T

T

T

T

Conversion back from homogeneous coordinates to pixel coordinates leads to:

1

~

~

~

3

2

1

w

w

w

T

T

T

Z

Y

X

m

m

m

w

v

u

0)(

0)(

32

31

i

T

i

T

i

T

i

T

Pmvm

Pmum

P

Page 11: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

By re-arranging the terms, we obtain For 𝑛 points, we can stack all these equations into a big matrix:

0

0

0

0

0

0

0

0

3

2

1111

111

m

m

m

PvP

PuP

PvP

PuP

T

nn

T

n

T

T

nn

TT

n

TTT

TTT

Camera calibration: Direct Linear Transform (DLT)

0

0

0

0

0)(

0)(

3

2

1

111

111

32

31

m

m

m

PvP

PuP

Pmvm

PmumTTT

TTT

i

T

i

T

i

T

i

T

Page 12: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

By re-arranging the terms, we obtain For 𝑛 points, we can stack all these equations into a big matrix:

Camera calibration: Direct Linear Transform (DLT)

0

0

0

0

10000

00001

10000

00001

34

33

32

31

24

23

22

21

14

13

12

11

1

1

1

1

1

1

1

111

1

1

1

1

1

1

1

111

m

m

m

m

m

m

m

m

m

m

m

m

vZvYvXvZYX

uZuYuXuZYX

vZvYvXvZYX

uZuYuXuZYX

n

n

wn

n

wn

n

wn

n

w

n

w

n

w

n

n

wn

n

wn

n

wn

n

w

n

w

n

w

wwwwww

wwwwww

Q (this matrix is known) M (this matrix is unknown)

0MQ

0

0

0

0

0)(

0)(

3

2

1

111

111

32

31

m

m

m

PvP

PuP

Pmvm

PmumTTT

TTT

i

T

i

T

i

T

i

T

Page 13: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Minimal solution

• 𝑄 has 11 Degrees of Freedom (in fact, 𝑄 is valid up to a scale factor, thus, 12-1 = 11)

• Each 3D-to-2D point correspondence provides 2 independent equations

• Thus, 5+1

2 point correspondences are needed (in practice 6 point correspondences!)

Over-determined solution

• n ≥ 6 points

• A solution is to minimize | 𝑄𝑀 | subject to the constraint | 𝑀 |2 = 1. It can be solved through Singular Value Decomposition (SVD). The solution is the eigenvector corresponding to the smallest eigenvalue of the matrix 𝑄𝑇𝑄 (because it is the unit vector 𝑥 that minimizes 𝑥𝑇𝑄𝑇𝑄𝑥).

Camera calibration: Direct Linear Transform (DLT)

0MQ

Page 14: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Degenerate configurations

1. Points lying on a plane and/or along a single line passing through the projection center

2. Camera and points on a twisted cubic (i.e., smooth curve in 3D space of degree 3)

Camera calibration: Direct Linear Transform (DLT)

0MQ

𝐶

𝐶

Page 15: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• Once we have the M matrix, we can recover the intrinsic and extrinsic parameters by remembering that

Camera calibration: Direct Linear Transform (DLT)

T)|K(RM

3

2

1

333231

232221

131211

0

0

3

2

1

333231

232221

131211

100

0

0

t

t

t

rrr

rrr

rrr

v

u

m

m

m

mmm

mmm

mmm

v

u

Page 16: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• Once we have the M matrix, we can recover the intrinsic and extrinsic parameters by remembering that

• However, notice that we are not enforcing the constraint that 𝑅 is orthonormal, i.e., 𝑅 ∙ 𝑅𝑇= 𝐼

• To do this, we can use the so-called QR factorization of 𝑀, which decomposes 𝑀 into a 𝑅 (orthonormal), T, and an upper triangular matrix (i.e., 𝐾)

Camera calibration: Direct Linear Transform (DLT)

T)|K(RM

3333231

302330233202231021

301330133201231011

3

2

1

333231

232221

131211

trrr

tvtrvrrvrrvr

tutrurrurrur

m

m

m

mmm

mmm

mmm

Page 17: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Tsai’s (1987) Calibration example 1. Edge detection

2. Straight line fitting to the detected edges

3. Intersecting the lines to obtain the images corners (corner accuracy <0.1 pixels!)

4. Use >6 points

What are the «skew» and «residuals»?

Why is this ratio not 1?

Page 18: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Tsai’s (1987) Calibration example • The original Tsai calibration (1987) used to consider two different focal lengths 𝛼𝑢, 𝛼𝑣

(which means that the pixels are not squared) and a skew factor (𝐾12 ≠ 0, which means the pixes are parallelograms instead of rectangles). This relaxation was used to account for possible misalignments between CCD and lens

• Most of today’s camera are well manufactured, thus, we can assume 𝛼𝑢

𝛼𝑣= 1 and 𝐾12 = 0

• What is the residual? The residual is the average “reprojection error”. The reprojection error is computed as the distance (in pixels) between the observed pixel point and the camera-reprojected 3D point. The reprojection error gives as a quantitative measure of the accuracy of the calibration (ideally it should be zero).

Page 19: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

DLT algorithm applied to mutual robot localization

In this case, the camera has been pre-calibrated (i.e., K is known). Can you think of how the DLT algorithm could be modified so that only R and T need to determined and not K?

Page 20: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Outline of this lecture

• Camera calibration

– From 3D objects

– From planar grids

• Non conventional camera models

Page 21: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration from planar grids: homographies

• Tsai calibration is based on DLT algorithm, which requires points not to lie on the same plane

• An alternative method (today’s standar camera calibration method) consists of using a planar grid (e.g., a chessboard) and a few images of this shown at different orientations

• This method was invented by Zhang (1999)

Page 22: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• Our goal is to compute K, R, and T, that satisfy the perspective projection equation (we neglect the radial distortion)

• Since the points lie on a plane, we have 𝑍𝑤 = 0

1

0

1~

~

~

~ w

w

Y

X

TRKv

u

w

v

u

p

1

0100

0

0

~

~

~

3333231

2232221

1131211

0

0

w

w

v

uY

X

trrr

trrr

trrr

v

u

w

v

u

Camera calibration from planar grids: homographies

1100

0

0

~

~

~

33231

22221

11211

0

0

w

w

v

u

Y

X

trr

trr

trr

v

u

w

v

u

Page 23: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• Our goal is to compute K, R, and T, that satisfy the perspective projection equation (we neglect the radial distortion)

• Since the points lie on a plane, we have 𝑍𝑤 = 0

where is the i-th row of 𝐻

1~

~

~

333231

232221

131211

w

w

Y

X

hhh

hhh

hhh

w

v

u

1~

~

~

w

w

Y

X

H

w

v

u

1~

~

~

3

2

1

w

w

T

T

T

Y

X

h

h

h

w

v

u

T

ih

Camera calibration from planar grids: homographies

This matrix is called Homography

Page 24: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

~

~

~

~

3

2

3

1

Ph

Ph

w

vv

Ph

Ph

w

uu

T

T

T

T

Conversion back from homogeneous coordinates to pixel coordinates leads to: where P = (𝑋𝑤, 𝑌𝑤, 1)𝑇

0)(

0)(

32

31

i

T

i

T

i

T

i

T

Phvh

Phuh

Camera calibration from planar grids: homographies

1~

~

~

3

2

1

w

w

T

T

T

Y

X

h

h

h

w

v

u

Page 25: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

By re-arranging the terms, we obtain For 𝑛 points, we can stack all these equations into a big matrix:

0

0

0

0

0

0

0

0

3

2

1111

111

h

h

h

PvP

PuP

PvP

PuP

T

nn

T

n

T

T

nn

TT

n

TTT

TTT

0)(

0)(

32

31

i

T

i

T

i

T

i

T

Phvh

Phuh

Camera calibration from planar grids: homographies

0HQ

H (this matrix is unknown) Q (this matrix is known)

0

0

0

0

3

2

1

1

1

h

h

h

PvP

PuPT

i

T

i

T

T

i

TT

i

00

00

321

321

TT

ii

TT

i

T

TT

ii

TT

i

hPvhPh

hPuhhP

Page 26: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Minimal solution

• 𝑄(𝑛×9) has 8 Degrees of Freedom (in fact, 𝑄 is valid up to a scale factor, thus, 9-1 = 8)

• Each point correspondence provides 2 independent equations

• Thus, a minimum of 4 non-collinear points is required

Over-determined solution

• n > 4 points

• It can be solved through Singular Value Decomposition (SVD)

Solving for K, R and T • H can be decomposed by recalling that

0HQ

Camera calibration from planar grids: homographies

33231

22221

11211

0

0

333231

232221

131211

100

0

0

trr

trr

trr

v

u

hhh

hhh

hhh

v

u

Page 27: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera calibration from planar grids: homographies

• Demo of Camera Calibration Toolbox for Matlab (world’s standard toolbox for

calibrating perspective cameras): http://www.vision.caltech.edu/bouguetj/calib_doc/

Page 28: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Application of calibration from planar grids • Today, there thousands of application of this algorithm:

– Augemented reality

AR Tags: http://april.eecs.umich.edu/wiki/index.php/April_Tags

Page 29: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Application of calibration from planar grids

AR Tags: http://april.eecs.umich.edu/wiki/index.php/April_Tags

ETH, Pollefeys group, 2010 RPG (us) 2013

• Today, there are thousands of application of this algorithm:

– Augemented reality

– Robotics (beacon-based localization)

• Do we need to know the metric size of the tag? – For Augmented Reality?

– For Robotics?

Page 30: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Concepts to remember • Camera calibration

– DLT algorithm

– Calibration from planar grids

• Readings:

– Chapter 2.1 of Szeliski book (freely downloadable from http://szeliski.org/Book/

– Chapters 4.1-4.3 of Autonomous Mobile Robots book

Page 31: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Transformations – 2D

This transformation is called Homography

Page 32: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Outline of this lecture

• Camera calibration

– From 3D objects

– From planar grids

• Non conventional camera models

Page 33: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Omnidirectional Cameras

Rome, St. Peter’s square

Page 34: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Overview on Omnidirectional Cameras

Dioptric Catadioptric Polydioptric

~180º FOV

Wide FOV dioptric

cameras (e.g. fisheye)

>180º FOV

Catadioptric cameras (e.g.

cameras and mirror systems)

~360º FOV

Polydioptric cameras (e.g.

multiple overlapping cameras)

Omnidirectional sensors come in many varieties, but by definition must have a wide field-of-view.

Page 35: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Catadioptric Cameras

Page 36: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Nikon Coolpix

FC-E9 Lens

360º×183º

Canon EOS-1

Sigma Lens

360º×180º

Dioptric Cameras (fisheye)

Page 37: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications

Page 38: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications

(Courtesy of Daimler)

• Daimler, Bosch: for car driving assistance

systems

Page 39: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications • Daimler, Bosch: for car driving assistance

systems

• Meteorology: for sky observation

Page 40: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications • Daimler, Bosch: for car driving assistance

systems

• Meteorology: for sky observation

• Endoscopic Imagery: distortion removal (for the surgeon)

(Courtesy of Endo Tools Therapeutics, Brussels)

Page 41: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications • Daimler, Bosch: for car driving assistance

systems • Meteorology: for sky observation

• Endoscopic Imagery: distortion removal (for

the surgeon)

• RoboCup domain

Page 42: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Applications • Daimler, Bosch: for car driving assistance

systems

• Meteorology: for sky observation • Endoscopic Imagery: distortion removal (for

the surgeon)

• RoboCup domain • Google Street View

Page 43: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• mirror

• perspective camera

Catadioptric cameras

Page 44: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Camera Models

Central catadioptric cameras

• mirror

• camera

• single effective viewpoint

(surface of revolution of a conic)

Catadioptric cameras

Page 45: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

• hyperbola + perspective camera

• parabola + orthographic lens

Types of central catadioptric cameras

F1

F2

F1

Catadioptric cameras

Page 46: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

46

Why is it important that the camera be central (i.e., have a single effective viewpoint)?

• We can unwrap parts or all omnidirectional image into a perspective one

Page 47: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Why is it important that the camera be central (i.e., have a single effective viewpoint)?

47

• We can unwrap parts or all omnidirectional image into a perspective one

• We can transform image points normalized vectors in the unit sphere

• We can apply standard algorithms valid for perspective geometry.

Page 48: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Omnidirectional camera calibration toolbox for Matlab (Scaramuzza, 2006)

https://sites.google.com/site/scarabotix/ocamcalib-toolbox

• World’s standard toolbox for calibrating omnidirectional cameras (used at NASA, Daimler, IDS, Volkswagen, Audi, VW, Volvo, …)

• Main applications are in robotics, endoscopy, video-surveillance, sky observation, automotive (Audi, VW, Volvo, …)

Page 49: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Equivalence between Perspective and Omnidirectional model

Page 50: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Equivalence between Perspective and Omnidirectional model

Page 51: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Equivalence between Perspective and Omnidirectional model: the Spherical Model

Page 52: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Representation of image points on the unit sphere Always possible after the camera has been calibrated!

Page 53: Lecture 03 Image Formation 2 - UZH · Camera calibration • Calibration is the process to determine the intrinsic and extrinsic parameters of the camera model • A method proposed

Summary (things to remember)

• Calibration from planar grid (algorithm)

• Homography

• Orthographic projection

• Omnidirectional cameras – Central and non central projection

– Dioptric

– Catadioptric (working principle of conic mirrors)

– Model principle

• Unified (spherical) model for perspective and omnidirectional cameras