Camera models and calibration - cvg.ethz.ch€¦ · Schedule (tentative) 2 # date topic 1 Sep.16...
Transcript of Camera models and calibration - cvg.ethz.ch€¦ · Schedule (tentative) 2 # date topic 1 Sep.16...
Camera models and calibration
Read tutorial chapter 2 and 3.1
http://www.cs.unc.edu/~marc/tutorial/
Szeliski’s book pp.29-73
Schedule (tentative)
2
# date topic 1 Sep.16 Introduction and geometry 2 Sep.23 Camera models and calibration 3 Sept.30 Invariant features 4 Oct.7 Multiple-view geometry 5 Oct.14 Model fitting (RANSAC, EM, …) 6 Oct.21 Stereo Matching 7 Oct.28 Segmentation 8 Nov.4 Object category recognition 9 Nov.11 Specific object recognition 10 Nov.18 Optical flow 11 Nov.25 Tracking (Kalman, particle filter) 12 Dec.2 SfM, Shape from X 13 Dec.9 Demos 14 Dec.16 Guest lecture?
Brief geometry reminder
3
0=xlTl'×l=x x'×x=l
2D line-point coincidence relation: Point from lines:
2D Ideal points ( )T0,, 21 xx2D line at infinity ( )T1,0,0=l∞
0=XπT
0πXXX
3
2
1
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
T
T
T
0Xπππ
3
2
1
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
T
T
T3D plane-point coincidence relation: Point from planes: Plane from points:
Line from points:
3D line representation: (as two planes or two points) [ ] 2x2
PA B 0
Q⎡ ⎤
=⎢ ⎥⎣ ⎦
T
T
3D Ideal points ( )1 2 3, , ,0X X X T
3D plane at infinity ( )0,0,0,1∞Π =T
Conics
Curve described by 2nd-degree equation in the plane
0=+++++ 22 feydxcybxyax
0=+++++ 233231
2221
21 fxxexxdxcxxbxax
3
2
3
1 , xxyx
xx or homogenized
0=xx CTor in matrix form
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
fedecbdba
2/2/2/2/2/2/
Cwith
{ }fedcba :::::5DOF:
Five points define a conic
For each point the conic passes through
0=+++++ 22 feydxcyybxax iiiiii
or ( ) 0=.1,,,,, 22 ciiiiii yxyyxx ( )Tfedcba ,,,,,=c
0
11111
552555
25
442444
24
332333
23
222222
22
112111
21
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
c
yxyyxxyxyyxxyxyyxxyxyyxxyxyyxx
stacking constraints yields
Tangent lines to conics
The line l tangent to C at point x on C is given by l=Cx
l x
C
Dual conics
0=ll *CTA line tangent to the conic C satisfies
Dual conics = line conics = conic envelopes
1-* CC =In general (C full rank):
Degenerate conics
A conic is degenerate if matrix C is not of full rank
TT ml+lm=C
e.g. two lines (rank 2)
e.g. repeated line (rank 1)
Tll=C
l
l
m
Degenerate line conics: 2 points (rank 2), double point (rank1)
( ) CC ≠**Note that for degenerate conics
Quadrics and dual quadrics
(Q : 4x4 symmetric matrix) 0=QXXT
• 9 d.o.f. • in general 9 points define quadric • det Q=0 ↔ degenerate quadric • tangent plane
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
•
••
•••
••••
=
Q
QX=π
0=πQπ *T
-1* Q=Q• relation to quadric (non-degenerate)
2D projective transformations
A projectivity is an invertible mapping h from P2 to itself such that three points x1,x2,x3 lie on the same line if and only if h(x1),h(x2),h(x3) do.
Definition:
A mapping h:P2→P2 is a projectivity if and only if there exist a non-singular 3x3 matrix H such that for any point in P2 reprented by a vector x it is true that h(x)=Hx
Theorem:
Definition: Projective transformation
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
3
2
1
333231
232221
131211
3
2
1
'''
xxx
hhhhhhhhh
xxx
x=x' Hor
8DOF projectivity=collineation=projective transformation=homography
Transformation of 2D points, lines and conics
Transformation for lines
l=l' -TH
Transformation for conics -1-TCHHC ='
Transformation for dual conics THHCC ** ='
x=x' HFor a point transformation
Fixed points and lines
e=e λH
(eigenvectors H =fixed points)
l lλ=H-T
(eigenvectors H-T =fixed lines)
(λ1=λ2 ⇒ pointwise fixed line)
Hierarchy of 2D transformations
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
1002221
1211
y
x
taataa
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
1002221
1211
y
x
tsrsrtsrsr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
333231
232221
131211
hhhhhhhhh
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
1002221
1211
y
x
trrtrr
Projective 8dof
Affine 6dof
Similarity 4dof
Euclidean 3dof
Concurrency, collinearity, order of contact (intersection, tangency, inflection, etc.), cross ratio
Parallellism, ratio of areas, ratio of lengths on parallel lines (e.g midpoints), linear combinations of vectors (centroids). The line at infinity l∞
Ratios of lengths, angles. The circular points I,J
lengths, areas.
invariants transformed squares
The line at infinity
00
l l 0 lt 1
1A
−−
∞ ∞ ∞−
⎛ ⎞⎡ ⎤ ⎜ ⎟ʹ′ = = =⎢ ⎥ ⎜ ⎟−⎣ ⎦ ⎜ ⎟
⎝ ⎠
AH
A
TT
T T
The line at infinity l∞ is a fixed line under a projective transformation H if and only if H is an affinity
Note: not fixed pointwise
Affine properties from images
projection rectification
APA
lllHH⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
321
010001
[ ] 0≠,l 3321∞ llll T=
Affine rectification v1 v2
l1
l2 l4
l3
l∞
21∞ vvl ×=
211 llv ×=
432 l×l=v
The circular points
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=
0
1I i
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−=
0
1J i
I0
1
0
1
100cossinsincos
II =⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−==ʹ′ iseitsstss
iy
x
Sθθθ
θθ
H
The circular points I, J are fixed points under the projective transformation H iff H is a similarity
The circular points
“circular points”
0=++++ 233231
22
21 fxxexxdxxx 0=+ 2
221 xx
l∞
( )( )T
T
0,-,1J
0,,1I
i
i
=
=
( ) ( )TT 0,1,0+0,0,1=I i
Algebraically, encodes orthogonal directions
03 =x
Conic dual to the circular points
TT JIIJ*∞ +=C
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
000010001
*∞C
TSS HCHC *
∞*∞ =
The dual conic is fixed conic under the projective transformation H iff H is a similarity
*∞C
Note: has 4DOF l∞ is the nullvector
*∞C
l∞
I
J
Angles
( )( )2221
22
21
2211
+++
=cosmmll
mlmlθ
( )T321 ,,=l lll ( )T321 ,,=m mmm
Euclidean:
Projective: cosθ =lTC∞
* m
lTC∞* l( ) mTC∞
* m( )
lTC∞* m = 0
(orthogonal)
Transformation of 3D points, planes and quadrics
Transformation for lines
( )l=l' -TH
Transformation for quadrics ( )-1-TCHHC ='
Transformation for dual quadrics
( )THHCC ** ='
( )x=x' HFor a point transformation
X=X' H
π=π' -TH
-1-TQHH=Q'
THHQ=Q' **
(cfr. 2D equivalent)
Hierarchy of 3D transformations
⎥⎦
⎤⎢⎣
⎡
vTvtAProjective
15dof
Affine 12dof
Similarity 7dof
Euclidean 6dof
Intersection and tangency
Parallellism of planes, Volume ratios, centroids, The plane at infinity π∞
Angles, ratios of length The absolute conic Ω∞
Volume
⎥⎦
⎤⎢⎣
⎡
10tA
T
⎥⎦
⎤⎢⎣
⎡
10tR
T
s
⎥⎦
⎤⎢⎣
⎡
10tR
T
The plane at infinity
000
π π π0- t 11
A
−−
∞ ∞ ∞−
⎛ ⎞⎜ ⎟⎡ ⎤ ⎜ ⎟ʹ′ = = =⎢ ⎥ ⎜ ⎟⎣ ⎦⎜ ⎟⎝ ⎠
AH
A
TT
T T
The plane at infinity π∞ is a fixed plane under a projective transformation H iff H is an affinity
1. canonical position 2. contains directions 3. two planes are parallel ⇔ line of intersection in π∞ 4. line // line (or plane) ⇔ point of intersection in π∞
( )T1,0,0,0=π∞ ( )T0,,,=D 321 XXX
The absolute conic
The absolute conic Ω∞ is a fixed conic under the projective transformation H iff H is a similarity
04
23
22
21 =
⎭⎬⎫++
XXXX
The absolute conic Ω∞ is a (point) conic on π∞. In a metric frame:
( ) ( )T321321 ,,I,, XXXXXXor conic for directions: (with no real points)
1. Ω∞ is only fixed as a set 2. Circle intersect Ω∞ in two circular points 3. Spheres intersect π∞ in Ω∞
The absolute dual quadric
⎥⎦
⎤⎢⎣
⎡=Ω
000I*
∞ T
The absolute dual quadric Ω*∞ is a fixed conic under
the projective transformation H iff H is a similarity
1. 8 dof 2. plane at infinity π∞ is the nullvector of Ω∞ 3. Angles:
( )( )2*∞21
*∞1
2*∞1
πΩππΩππΩπ
=cosTT
T
θ
Camera model
Relation between pixels and rays in space
?
Pinhole camera
Gemma Frisius, 1544
28
Distant objects appear smaller
29
Parallel lines meet
• vanishing point
30
Vanishing points
VPL VPR H
VP1 VP2
VP3
To different directions correspond different vanishing points
31
Geometric properties of projection
• Points go to points • Lines go to lines • Planes go to whole image
or half-plane • Polygons go to polygons
• Degenerate cases: – line through focal point yields point – plane through focal point yields line
Pinhole camera model
TT ZfYZfXZYX )/,/(),,(
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
10100
1ZYX
ff
ZfYfX
ZYX
linear projection in homogeneous coordinates!
Pinhole camera model
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
10100
ZYX
ff
ZfYfX
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
1010101
1ZYX
ff
ZfYfX
PXx =
[ ]0|I)1,,(diagP ff=
Principal point offset
Tyx
T pZfYpZfXZYX )+/,+/(),,(
principal point Tyx pp ),(
XYZ1
!
"
####
$
%
&&&&
fX + ZpxfY + Zpy
Z
!
"
####
$
%
&&&&=
f px 0f py 0
1 0
'
(
))))
*
+
,,,,
XYZ1
!
"
####
$
%
&&&&
Principal point offset
fX + ZpxfY + Zpy
Z
!
"
####
$
%
&&&&=
f px 0f py 0
1 0
'
(
))))
*
+
,,,,
XYZ1
!
"
####
$
%
&&&&
[ ] camX0|IKx =
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
1y
x
pfpf
K calibration matrix
Camera rotation and translation
( )C~-X~R=X~cam
X10RC-R
110C~R-RXcam ⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎥⎦
⎤⎢⎣
⎡=
ZYX
[ ] camX0|IKx = [ ]XC~-|IKRx =
[ ]t|RKP = C~R-t =PX=x
~
CCD camera
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
1yy
xx
pp
K α
α
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
11y
x
y
x
pfpf
mm
K
General projective camera
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
1yx
xx
pps
K α
α
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=
1yx
xx
pp
K α
α
[ ]C~|IKRP =
non-singular
11 dof (5+3+3)
[ ]t|RKP =
intrinsic camera parameters extrinsic camera parameters
Radial distortion
• Due to spherical lenses (cheap) • Model:
R
2 2 2 2 21 2( , ) (1 ( ) ( ) ...)
xx y K x y K x y
y⎡ ⎤
= + + + + + ⎢ ⎥⎣ ⎦
R
http://foto.hut.fi/opetus/260/luennot/11/atkinson_6-11_radial_distortion_zoom_lenses.jpg straight lines are not straight anymore
Camera model
Relation between pixels and rays in space
?
Projector model
Relation between pixels and rays in space
(dual of camera) (main geometric difference is vertical principal point
offset to reduce keystone effect)
?
Meydenbauer camera
vertical lens shift to allow direct ortho-photographs
Affine cameras
Action of projective camera on points and lines
forward projection of line
( ) µbaµPBPAµB)P(AµX +=+=+=
back-projection of line
lPT=Π
PXlX TT =Π ( )PX x0;xlT ==
PXx =projection of point
Action of projective camera on conics and quadrics back-projection to cone
CPPQ Tco = 0CPXPXCxx TTT ==
( )PXx =
projection of quadric
TPPQC ** = 0lPPQlQ T*T*T ==ΠΠ
( )lPT=Π
ii xX ↔ ? P
Resectioning
Direct Linear Transform (DLT)
ii PXx = [ ] ii PXx ×
rank-2 matrix
Direct Linear Transform (DLT)
Minimal solution
Over-determined solution
⇒ 5½ correspondences needed (say 6) P has 11 dof, 2 independent eq./points
n ≥ 6 points
Apminimize subject to constraint
1p =
use SVD
Degenerate configurations
(i) Points lie on plane or single line passing
through projection center
(ii) Camera and points on a twisted cubic
Scale data to values of order 1 1. move center of mass to origin 2. scale to yield order 1 values
Data normalization
D3σD2σ
Line correspondences
Extend DLT to lines
ilPT=Π
ii 1TPXl
(back-project line)
ii 2TPXl (2 independent eq.)
Geometric error
Gold Standard algorithm
Objective Given n≥6 2D to 3D point correspondences {Xi↔xi’}, determine the Maximum Likelyhood Estimation of P
Algorithm (i) Linear solution:
(a) Normalization: (b) DLT
(ii) Minimization of geometric error: using the linear estimate as a starting point minimize the geometric error:
(iii) Denormalization:
ii UXX~ = ii Txx~ =
UP~TP -1=
~ ~ ~
Calibration example
(i) Canny edge detection (ii) Straight line fitting to the detected edges (iii) Intersecting the lines to obtain the images corners
typically precision <1/10 (H&Z rule of thumb: 5n constraints for n unknowns)
Errors in the world
Errors in the image and in the world
ii XPx
=
iX
Errors in the image
iPXx̂ =i
(standard case)
Restricted camera estimation
Minimize geometric error → impose constraint through parametrization
Find best fit that satisfies • skew s is zero • pixels are square • principal point is known • complete camera matrix K is known
Minimize algebraic error → assume map from param q → P=K[R|-RC], i.e. p=g(q) → minimize ||Ag(q)||
Restricted camera estimation
Initialization • Use general DLT • Clamp values to desired values, e.g. s=0, αx= αy Note: can sometimes cause big jump in error Alternative initialization • Use general DLT • Impose soft constraints
• gradually increase weights
Image of absolute conic
A simple calibration device
(i) compute H for each square (corners → (0,0),(1,0),(0,1),(1,1))
(ii) compute the imaged circular points H(1,±i,0)T
(iii) fit a conic to 6 circular points (iv) compute K from ω through cholesky factorization
(≈ Zhang’s calibration method)
Some typical calibration algorithms Tsai calibration
Zhangs calibration
http://research.microsoft.com/~zhang/calib/
Z. Zhang. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
Z. Zhang. Flexible Camera Calibration By Viewing a Plane From Unknown Orientations. International Conference on Computer Vision (ICCV'99), Corfu, Greece, pages 666-673, September 1999.
http://www.vision.caltech.edu/bouguetj/calib_doc/
86 from Szeliski’s book
87
Next week: Image features