Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013 Previous Class Model Estimation RANSAC RECON Hough Transform 2nd Assigment Due next week Single-view geometry Odilon Redon, Cyclops, 1914 Our goal: Recovery of 3D structure • Recovery of structure from one image is inherently ambiguous X? x X? X? Our goal: Recovery of 3D structure • Recovery of structure from one image is inherently ambiguous Our goal: Recovery of 3D structure • Recovery of structure from one image is inherently ambiguous Ames Room http://en.wikipedia.org/wiki/Ames_room Our goal: Recovery of 3D structure • We will need multi-view geometry Recall: Pinhole camera model • Principal axis: line from the camera center perpendicular to the image plane • Normalized (camera) coordinate system: camera center is at the origin and the principal axis is the z-axis Recall: Pinhole camera model ( X ,Y , Z ) ( f X / Z , f Y / Z ) X f X f Y Z fY Z 1 f X 0 Y 0 Z 1 0 1 x PX Principal point py px • Principal point (p): point where principal axis intersects the image plane (origin of normalized coordinate system) • Normalized coordinate system: origin is at the principal point • Image coordinate system: origin is in the corner • How to go from normalized coordinate system to image coordinate system? Principal point offset principal point: py ( px , p y ) px ( X , Y , Z ) ( f X / Z px , f Y / Z p y ) X f X Z px f Y Z f Y Z py Z 1 px f py 1 X 0 Y 0 Z 0 1 Principal point offset principal point: f X Zp x f f Y Zp y Z f K f f ( px , p y ) X p x 1 0 Y py 1 0 Z 1 1 0 1 px p y calibration matrix 1 P KI | 0 Pixel coordinates 1 1 Pixel size: mx m y mx pixels per meter in horizontal direction, my pixels per meter in vertical direction mx K my pixels/m f 1 f m px x p y y 1 pixels x y 1 Camera rotation and translation • In general, the camera coordinate frame will be related to the world coordinate frame by a rotation and a translation ~ ~ ~ Xcam R X - C coords. of point in camera frame coords. of camera center in world frame coords. of a point in world frame (nonhomogeneous) Camera rotation and translation In non-homogeneous coordinates: ~ ~ ~ Xcam R X - C X cam x KI | 0Xcam R 0 ~ ~ ~ RC X R RC X 1 1 0 1 ~ K R | RC X P KR | t , ~ t RC Note: C is the null space of the camera projection matrix (PC=0) Effect Camera Calibration Matrix Viewing Rays to Image Points (u, v ,w)T = K (xcam, ycam, zcam) T Imaging Geometry Image Points to Viewing Rays (xcam, ycam, zcam) T rspective projection λ = K-1(u, v ,w)T Y x y f X X X = Y Z where λ = Z/ f . y x x O p Z image plane Camera parameters • Intrinsic parameters • • • • • Principal point coordinates mx f Focal length K my Pixel magnification factors 1 Skew (non-rectangular pixels) Radial distortion f px x p y y 1 x y 1 Camera parameters • Intrinsic parameters • • • • • Principal point coordinates Focal length Pixel magnification factors Skew (non-rectangular pixels) Radial distortion • Extrinsic parameters • Rotation and translation relative to world coordinate system Camera calibration x KR t X x * * * * y * * * * * * * * X Y Z 1 Source: D. Hoiem Camera calibration • Given n points with known 3D coordinates Xi and known image projections xi, estimate the camera parameters Xi xi P? Camera calibration: Linear method x i PXi x i PXi 0 0 T X i yi XTi XTi 0 xi X T i T xi P1 X i y PT X 0 i 2 i 1 P3T X i yi XTi P1 T xi X i P2 0 0 P3 Two linearly independent equations Camera calibration: Linear method 0T T X1 T 0 X T n T 1 T X 0 X Tn 0T y1X x1X P1 P2 0 T yn X n P3 xn X Tn T 1 T 1 Ap 0 • P has 11 degrees of freedom (12 parameters, but scale is arbitrary) • One 2D/3D correspondence gives us two linearly independent equations • Homogeneous least squares • 6 correspondences needed for a minimal solution Camera calibration: Linear method 0T T X1 T 0 X T n T 1 T X 0 X Tn 0T y1X x1X P1 P2 0 T yn X n P3 xn X Tn T 1 T 1 Ap 0 • Note: for coplanar points that satisfy ΠTX=0, we will get degenerate solutions (Π,0,0), (0,Π,0), or (0,0,Π) Camera calibration: Linear method • Advantages: easy to formulate and solve • Disadvantages • Doesn’t directly tell you camera parameters • Doesn’t model radial distortion • Can’t impose constraints, such as known focal length and orthogonality • Non-linear methods are preferred • Define error as difference between projected points and measured points • Minimize error using Newton’s method or other non-linear optimization Source: D. Hoiem A functional model Algorithm step 1: Compute the matrix P x i = PX i . Each correspondence generates two equations p11Xi + p12Yi + p13Zi + p14 p21Xi + p22Yi + p23Zi + p24 xi = yi = p31Xi + p32Yi + p33Zi + p34 p31Xi + p32Yi + p33Zi + p34 Multiplying out gives equations linear in the matrix elements of P x i (p31Xi + p32Yi + p33Zi + p34) = p11Xi + p12Yi + p13Zi + p14 yi (p31Xi + p32Yi + p33Zi + p34) = p21Xi + p22Yi + p23Zi + p24 These equations can be rearranged as X Y Z 1 0 0 0 0 −x X −x Y −x Z −x 0 0 0 0 X Y Z 1 −y X −y Y −y Z −y p= 0 with p = (p11, p12, p13, p14, p21, p22, p23, p24, p31, p32, p33, p34) a 12-vector. Multi-view geometry problems • Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates of that point ? Camera 1 R1,t1 Camera 2 R2,t2 Camera 3 R3,t3 Slide credit: Noah Snavely Multi-view geometry problems • Stereo correspondence: Given a point in one of the images, where could its corresponding points be in the other images? Camera 1 R1,t1 Camera 2 R2,t2 Camera 3 R3,t3 Slide credit: Noah Snavely Multi-view geometry problems • Motion: Given a set of corresponding points in two or more images, compute the camera parameters Camera 1 R1,t1 ? Camera 2 R2,t2 ? ? Camera 3 R3,t3 Slide credit: Noah Snavely Triangulation • Given projections of a 3D point in two or more images (with known camera matrices), find the coordinates of the point X? x1 O1 x2 O2 Triangulation • We want to intersect the two visual rays corresponding to x1 and x2, but because of noise and numerical errors, they don’t meet exactly R1 R2 X? x1 O1 x2 O2 Triangulation: Geometric approach • Find shortest segment connecting the two viewing rays and let X be the midpoint of that segment X x1 O1 x2 O2 Triangulation: Linear approach 1 x1 P1X 2 x 2 P2 X x1 P1X 0 [x 1 ]P1X 0 x 2 P2 X 0 [x 2 ]P2 X 0 Cross product as matrix multiplication: 0 a b az a y az 0 ax a y bx a x by [a ]b 0 bz Triangulation: Linear approach 1 x1 P1X 2 x 2 P2 X x1 P1X 0 [x 1 ]P1X 0 x 2 P2 X 0 [x 2 ]P2 X 0 Two independent equations each in terms of three unknown entries of X Triangulation: Nonlinear approach Find X that minimizes d ( x1 , P1 X ) d ( x2 , P2 X ) 2 2 X? x’1 x1 O1 x’2 x2 O2 Two-view geometry Epipolar geometry X x x’ • Baseline – line connecting the two camera centers • Epipolar Plane – plane containing baseline (1D family) • Epipoles = intersections of baseline with image planes = projections of the other camera center The Epipole Photo by Frank Dellaert Epipolar geometry X x x’ • Baseline – line connecting the two camera centers • Epipolar Plane – plane containing baseline (1D family) • Epipoles = intersections of baseline with image planes = projections of the other camera center • Epipolar Lines - intersections of epipolar plane with image planes (always come in corresponding pairs)