350 likes | 771 Views
Projective Geometry and Camera Models. ENEE 731 Image Understanding Kaushik Mitra. Camera. 3D to 2D mapping 2D to 3D mapping. Preliminaries. Projective geometry Projective spaces ( P 2 ) Homogenous coordinates Projective transformations (Homography). Why Projective Geometry?.
E N D
Projective Geometry and Camera Models ENEE 731 Image Understanding KaushikMitra
Camera • 3D to 2D mapping • 2D to 3D mapping
Preliminaries • Projective geometry • Projective spaces (P2) • Homogenous coordinates • Projective transformations (Homography)
Why Projective Geometry? • Parallel lines converge to a point • 2D -2D transformation • Projective transformation (Homography)
Projective space P2 • Projective space: set of points • Each point is a line in R3 passing through origin • Motivated from camera geometry • Alternative way • P=(x,y,z) and P’=(x’,y’,z’) equivalent if and only if P=λP’ • λ ≠ 0
P2=R2 U P1 • (x, y, z) ≈ (λx, λy, λz) • P2 can be divided into two subsets • Points with z ≠ 0 • Points with z= 0 • If z ≠ 0, (x, y, z) ≈ (x/z, y/z, 1) • one-to-one mapping with R2 • If z=0 (x, y, 0) • points at infinity • line at infinity • P1 • P2 = R2 U P1 • Homogenous coordinates P = (x, y, z) (up to a scale)
Projective Transformation (Homography) • Homography • Invertible mapping h from P2 to P2 • Lines maps to lines • x1, x2, x3 lie on a line h(x1), h(x2), h(x3) lie on a line
Homography matrix • Theorem • h:P2->P2 is homography h(x)=Hx, H non-singular • x’=Hx • H, a homogenous matrix (up to scale) • 8 dof
Hierarchy of Transformations • Euclidean < Similarity < Affine < Projective • Invariants • Quantities that are preseved • Euclidean: rotation and translation • x’ = HEx = [R t; 0T 1] • Invariants: length, angle, area
Hierarchy of Transformations • Similarity: isotropic scale + (Euclidean) • x’ = HSx = [sR t; 0T 1] • Invariants: angle, ratios of length and area • Affine: non-isotropic scales and skew • x’ = HAx = [A t; 0T 1]; A non-singular • Invariants: Parallel lines, ratio of areas • Projective: • x’ = HPx = [A t; vT u]x • Note: parallel lines not preserved • Invariants: Colinearity, cross-ratio
Generalization: Pn • P3= R3+ P2 • P2: plane at infinity • Homogenous coordinates: X= (X1, X2, X3, X4) • Projective transformation • X’ = HX
Camera Models • Mapping 3D to 2D: Camera Matrices • Central projection • Pin-hole camera • Finite projective camera • Parallel projection • Orthographic camera • Affine camera
Pinhole Camera Geometry • Camera • Camera center, C • Image plane • Principle axis • Principle point • Camera coordinate system • C as origin • Image plane at Z=f • (X, Y, Z)T -> (fX/Z, fY/Z)T
Camera Matrix • (X, Y, Z)T -> (fX/Z, fY/Z)T • Homogenous coordinates • (X, Y, Z, 1)T -> (fX, fY, Z)T • Transformation: diag(f f 1)[I | 0] • Camera projection matrix: x= PX • P = diag(f, f, 1)[I | 0 ], a 3×4 matrix
Principle Point Offset • (px, py): principle point • (X, Y, Z) -> (fX/Z+px, fY/Z+py) • x = K[I | 0]X • Camera matrix: K[I | 0] • K: Internal parameter matrix
Camera Rotation and Translation • World coordinate system • , in inhomogenous coordinates • P = K[R | t] • K: Internal parameters • R,t: External parameters
Finite Projective Camera • Finite projective camera • Generalize K • αx, αy: unequal scale factors • s: skew parameter • P = [KR | Kt] = [M | p4] • M = KR non-singular, rank 3 • General projective cameras • Homogenous 3×4 matrix of rank 3
General Projective Camera • Given P, what can we say about the camera? • Camera center? • P is a 3×4 matrix • PC=0 • Consider the line joining C and A: • X(λ) = λA + (1-λ)C • x = PX(λ) = λPA • C is the camera center
From 2D to 3D • Given a point x, find the ray • Two points on ray • Camera center • Another point • P+x, where P+ is the pseudo-inverse • X(λ) = λP+x + (1-λ)C
Parallel Projection • Central Projection: P=[I | 0] • Parallel Projection: • Projection along Z-axis
Hierarchy of Parallel Projection • Orthographic projection • Scaled orthographic projection • Weak perspective projection • Affine projection
Orthographic Projection • Projection along Z-axis • Dof: 5
Generalization of Orthographic Projection (O.P.) • Scaled orthographic projection • O. P. followed by isotropic scaling • Dof : 6 • Weak perspective projection • O.P. with non-isotropi c scaling • Dof: 7 • Affine camera (projection) • Plus skew • Dof: 8
Properties of Affine Camera • Last row is (0 0 0 1) • Parallel world line maps to parallel image lines • Camera center at infinity
Approach for Computing P • x = PX • Estimate P from 3D-2D correspondences • Xi ↔ xi • Compute K, R, t from P
Basic Equations for Computing P • Each Xi ↔ xi satisfy • xi = PXi (upto a scale) • xi × PXi = 0 • Linear in P • Aip = 0, where p = vec(P) • 2 linearly independent eqns. per corrs. • P is a 3×4 homogenous matrix => 11 dofs • # of correspondences ≥ 6
Computing P • Want to solve: Ap = 0, with p≠0 • In presence of noise, • Eigen-value solution • Algebraic cost • Geometric cost: • ML estimate of P • Non-linear optimization: use Newton’s method
Summary for Computing P • Form A from 3D-2D correspondences • Normalization step (see reference 1) • Solve algebraic cost • Solve geometric cost starting from algebraic soln. • Denormalization step (see reference 1)
Computing K from P • P = [M | p4] • We know P = K[R | t] = [KR | Kt] • Decompose M using QR decomposition • Get K and R • Obtain t as K-1p4
Summary • Projective geometry: P2 and P3 • Camera models • Central projection (Pin hole camera) • Parallel projection (affine camera) • Estimation of Camera Model P • Estimation of internal parameter K
References • 1) Multi-view Geometry (Ch 2, 6, 7) • Hartley and Zisserman • 2) Computer Vision: Algorithms and Applications • Richard Szeliski