Jacobian of Point Coordinates w.r.t. Parameters of General Calibrated Projective Camera

Size: px
Start display at page:

Download "Jacobian of Point Coordinates w.r.t. Parameters of General Calibrated Projective Camera"

Transcription

1 Jacobian of Point Coordinates w.r.t. Parameters of General Calibrated Projective Camera Karel Lebeda, Simon Hadfield, Richard Bowden Introduction This is a supplementary technical report for ACCV04 paper: D Or Not D: Bridging the Gap Between Tracking and Structure from Motion []. It shows derivation of the Jacobian matrix of point x- and y-coordinates, with respect to parameters of a general, calibrated projective camera with 6 degrees of freedom ( for position and for rotation in the world coordinate frame). The Jacobian matrices are used in optimisation of the camera parameters, given a set of D points and their corresponding D projections. The optimisation using analytically estimated gradients generally converges faster, with lower computational costs than its numeric counterpart (using finite difference instead), while having a wider basin of convergence. We describe the derivation of the Jacobian in Section, and in Section 4 we provide the resulting C++ source code, which we believe will be of a practical value to the computer vision community. If you use this code in an academic work, please cite the paper []. Definition of Symbols and Relations Hereby, we follow a general notation of []. Assuming a D point X = (x, y, z) and a D point u = (u, v), their respective homogeneous representations are X = (κx, κy, κz, κ) and ũ = (λu, λv, λ) where κ and λ are unknown scalars. Without loss of generality we can assume that κ =. Then, the points are related by the projection equation of a general projective camera []: λ u v where P is the projection matrix: = ũ ũ ũ = ũ = P X = P [ X ]. () P = f KR [I C], ()

2 with f being the focal length (in world units, e.g. millimetres), K the matrix of intrinsic camera calibration parameters, R the rotation matrix relating the camera and world coordinate systems and C the position of the camera projection centre in the world coordinates. Assuming square pixels, we define K as: K = k 0 k k k, () where k is the focal length (in pixels, relating size of pixel to the world units and thus fixing the field of view of the camera) and (k, k ) are coordinates of the principal point. Both f and K are assumed known and fixed during the camera pose estimation. While C may be parameterised directly as C = C x C y C z, (4) this would be highly over-parameterised in the case of R as its full (orthonormal matrix) representation has 9 elements, but only degrees of freedom. Therefore we reparametrise the rotation using the angle-axis formulation: R = cos()i + sin() [a] + ( cos())aa, (5) using a rotation axis a and a rotation angle, where [ ] denotes the skew-symmetric matrix of cross product. These have in total 4 elements, which is still an over-parameterisation. However, we can exploit the nature of the rotation axis vector a and assume it is normalised to unit length. Then it is possible to represent both a and by one entity r = r r r = a, (6) = r, a = r/ r. (7) Substituting Equation (5) into (), we get the following scalar projection formulae: r ũ = (x C x ) k ( cos()) + cos () + k r r ( cos()) r sin() +(y C y ) k r r ( cos()) r sin() + k r r ( cos()) + r sin() +(z C z ) k r r ( cos()) + r sin() r + k ( cos()) + cos (), (8) ũ = (x C x ) k r r ( cos()) + r sin() + k r r ( cos()) r sin() r +(y C y ) k ( cos()) + cos () + k r r ( cos()) + r sin() +(z C z ) k r r ( cos()) r sin() r + k ( cos()) + cos (), (9)

3 and ( ũ = (x C x ) r r ( cos()) +(y C y ) +(z C z ) Then we can compute u and v simply as ) r sin() ( r r ( cos()) + r sin() ( ) r ( cos()) + cos () ). (0) u = ũ ũ, () v = ũ ũ. () Jacobian Derivation The next step is symbolic differentiation of the point coordinates and simplification of the resulting formulae [4]. We substitute Equations (7) and (8 0) into Equations (,), and differentiate with respect to all the camera parameters: J = [ r r r r r r C x C x C y C y C z C z ]. () This yields a rather complex set of derivatives. Therefore we show only two of them symbolically, as examples. Section 4 includes the expressions for the full Jacobian as source code. C x = k 4 (r (C z r C y r + r y r z) +(C z (r + r) + r r (C y y) (r + r)z) cos() +r (C y y) sin()) (r (C x r + C y r + C z r r x r y r z) +(C z (r + r) + r ( C x r C y r + r x + r y) (r + r)z) cos() + (C y r C x r + r x r y) sin()), (4)

4 r = 6 ( 8 ( (k r + k r )(C x r + C y r + C z r r x r y r z) +(C y k r r C x k r C z k (r + r) + C z k r r + C x k r r +C y k r r C x k r + k rx k r r x + k rx k r r y k r r y + k rz + k rz k r r z) cos() (C y k r + C z k r C x k r C y k r + k r x k r y +k r y k r z) sin()) (r ( C y r r C z r r + C x ( r + r + r) + rx rx rx +r r y + r r z) +(C z r r C x (rr + r r rr + rr + r r r + r) +C y r (r + r r + r (r + r)) + rr x + r rx rr x + rr x +r r rx + rx ry 4 rr y r r r y rr y r rz) cos() ( C y r + C z r (r + r) C y r r r C y r C x r (r + r r ) +r r x + rr x + ry + r r r y + ry r (r + r)z) sin()) + (r ( C x r C y r C z r + r x + r y + r z) +( C z (r + r) + r (C x r + C y r r x r y) + (r + r)z) cos() (C y r C x r + r x r y) sin()) ( 4 (C x k rr + C x k r r + C x k r r C x k rr + C x k rr +C x k r r + C x k r r r + C x k r C z (k r r + k (rr + rr + r r (r + r) r (r + r))) +C y ( k r (r + r r + r (r + r)) +k ( rr + rr + r (r + r) + r r (r + r))) k rr x k r rx k r rx + k rr x k rr x k r rx k r r rx k rx + k ry 4 + k rr y +k rr y k ry k rr y + k r r r y k r rr y +k rr y k r ry k r ry +(k r r + k (rr + rr + r r (r + r) r (r + r)))z) cos() + 5 ((C z k rr C z k rr + C z k r r C z k r +C y r (k r r + k (r r r)) C x (k r (r + r) + k r ( r + r + r)) +k r rx k rr x + k rr x + k r rx + k rx k rr y + k ry k r r r y + k r ry +r ( k r r + k ( r + r + r))z) + ( C y k rr C y k r C y k r r C y k r r r C y k r +C z r (k (r + r) + k (r r r )) +C x r ( k (r + r r ) + k (r + r)) +k r r x k r rx + k rr x k r rx + k rr y +k ry + k r r y + k r r r y + k ry r (k (r + r) + k (r r r ))z) sin()))) (r (C x r + C y r + C z r r x r y r z) +(C z (r + r) + r ( C x r C y r + r x + r y) (r + r)z) cos() + (C y r C x r + r x r y) sin()). (5) 4

5 4 Common Subexpression Elimination It is apparent that the partial derivatives contain many repeated subexpressions. Avoiding multiple evaluation of these decreases computation cost. Additionally, some of the expressions are independent of the particular point (X, u) and can be precomputed for further speed-up. We used an approach of [], which exploits the internal subexpression elimination of Mathematica [4] to generate a C++ code with minimal execution time. double v000 = pow(r,); double v00 = pow(r,); double v00 = pow(r,); double v00 = pow(r,); double v004 = pow(r,); double v005 = pow(r,); double v006 = v000 + v00 + v00; double v007 = /v006; double v008 = pow(v006,-); double v009 = sqrt(v006); double v00 = pow(v006,-.5); double v0 = sin(v009); double v0 = cos(v009); double v0 = -v0; double v04 = + v0; double v05 = r * r * v007 * v0; double v06 = v0/sqrt(v006); double v07 = r * r * v007 * v0; double v08 = r * r * v007 * v0; double v09 = r * v06; double v00 = r * v06; double v0 = r * v06; double v0 = r * r * v007 * v0; double v0 = r * r * v007 * v0; double v04 = -v06; double v05 = r * r * v007 * v0; double v06 = -v0; double v07 = -v00; double v08 = -v09; double v09 = r * r * v00 * v0; double v00 = r * r * v00 * v0; double v0 = r * r * v00 * v0; double v0 = -v00; double v0 = r * v007 * v04; double v04 = r * v007 * v04; double v05 = r * v09; double v06 = -v09; double v07 = v000 * v00 * v0; double v08 = v00 * v00 * v0; double v09 = -v0; double v040 = r * v007 * v04; double v04 = v00 * v00 * v0; double v04 = r * v0; double v04 = r * v04; double v044 = r * v0; double v045 = r * v07; double v046 = r * v07; double v047 = r * v08; double v048 = r * v04; double v049 = r * v08; double v050 = r * v04; double v05 = v000 * v007 * v04; double v05 = - * r * r * r * v008 * v04; double v05 = - * r * v000 * v008 * v04; double v054 = - * r * v000 * v008 * v04; double v055 = - * r * v00 * v008 * v04; double v056 = - * r * v00 * v008 * v04; double v057 = - * r * v00 * v008 * v04; double v058 = - * r * v00 * v008 * v04; double v059 = v0 + v05; double v060 = k * (v0 + v00 * v007 * v04); double v06 = k * v059; double v06 = k * v059; double v06 = k * (v0 + v00 * v007 * v04); double v064 = v0 - v05; double v065 = v00 + v044; double v066 = v06 + v04; double v067 = v0 - v04; double v068 = k * (v09 + v04); double v069 = k * v065; double v070 = k * v065; double v07 = k * (v0 + v04); double v07 = v07 - v044; double v07 = k * v066; double v074 = k * (v07 + v044); double v075 = k * (v08 + v04); double v076 = k * v066; double v077 = v06 + v045 + v05; double v078 = v07 + v046 + v054; double v079 = v060 + v069; double v080 = v06 + v07; double v08 = v06 + v074; double v08 = v06 + v076; double v08 = v00 * v00 * v0 - * v00 * v008 * v04 + v08 + * v040; double v084 = v068 + v07; double v085 = v070 + v075; double v086 = v00 * v007 * v0 + v06 + v05 - v04 + v05; double v087 = v00 * v007 * v0 + v04 + v05 + v08 + v05; double v088 = v05 + v0 + v0 + v045 + v05; double v089 = v0 + v09 + v04 + v046 + v054; double v090 = v08 + v09 + v040 + v047 + v055; double v09 = v05 + v0 + v040 + v048 + v056; double v09 = k * (v00 * v007 * v0 + v06 + v05 - v08 + v05) + k * v077; double v09 = k * (v07 + v049 + v057) + k * v086; double v094 = k * (v06 + v050 + v058) + k * v087; double v095 = k * (v00 * v007 * v0 + v04 + v05 + v04 + v05) + k * v078; double v096 = k * (v08 + v047 + v055) + k * v088; double v097 = k * (v08 + v048 + v056) + k * v089; double v098 = k * (v05 + v0 + v040 + v047 + v055) + k * v077; double v099 = k * (v08 + v09 + v040 + v048 + v056) + k * v078; double v00 = k * (v0 + v00 + v0 + v045 + v05) + k * v08; double v0 = k * (v07 + v04 + v06 + v046 + v054) + k * v08; double v0 = k * (v004 * v00 * v0 - * v004 * v008 * v04 + v06 + * v0)+ k * v090; double v0 = k * (v005 * v00 * v0 - * v005 * v008 * v04 + v07 + * v04) + k * v09; double v04 = k * (v000 * v007 * v0 + v06 + v05 - v07 + v05) + k * v089; double v05 = k * (v0 + v00 + v0 + v050 + v058) + k * v086; double v06 = k * (v000 * v007 * v0 + v04 + v05 + v07 + v05) + k * v088; double v07 = k * (v07 + v04 + v06 + v049 + v057) + k * v087; double v08 = k * (v0 + v09 + v04 + v049 + v057) + k * v090; double v09 = k * (v05 + v0 + v0 + v050 + v058) + k * v09; // Everything so far was point-independent, therefore could be precomputed only once for all. // Since now, we start using elements of X and therefore this needs to be done once for each X. for ( unsigned p = 0; p < NUM_POINTS; ++p ) { double x = X[p][0]; double y = X[p][]; double z = X[p][]; double v0 = -(Cz * v059) - Cy * v065 - Cx * v066 + v066 * x + v065 * y + v059 * z; double v = pow(v0,-); double v = /v0; double v = -(Cy * v079) - Cz * v08 - Cx * v084 + v084 * x + v079 * y + v08 * z; double v4 = -(Cz * v080) - Cx * v08 - Cy * v085 + v08 * x + v085 * y + v080 * z; double v5 = -(Cz * v078) - Cy * v086 - Cx * v09 + v09 * x + v086 * y + v078 * z; 5

6 double v6 = -(Cz * v077) - Cx * v087 - Cy * v090 + v087 * x + v090 * y + v077 * z; double v7 = -(Cz * v08) - Cy * v088 - Cx * v089 + v089 * x + v088 * y + v08 * z; // COEFFICIENTS FOR THE ST ROW (du by _) // dr J[p][0][0] = -(v * v4 * v5) + v * (-(Cz * v099) - Cx * v0 - Cy * v05 + v0 * x + v05 * y + v099 * z); // dr J[p][0][] = -(v * v4 * v6) + v * (-(Cz * v09) - Cx * v094 - Cy * v08 + v094 * x + v08 * y + v09 * z); // dr J[p][0][] = -(v * v4 * v7) + v * (-(Cx * v097) - Cz * v0 - Cy * v06 + v097 * x + v06 * y + v0 * z); // dcx J[p][0][] = (-v06 - v076) * v - v067 * v * v4; // dcy J[p][0][4] = (-v070 - v075) * v - v07 * v * v4; // dcz J[p][0][5] = (-v06 - v07) * v - v064 * v * v4; } //COEFFICIENTS FOR THE ND ROW (dv by _) // dr J[p][][0] = -(v * v * v5) + v * (-(Cy * v09) - Cz * v095 - Cx * v09 + v09 * x + v09 * y + v095 * z); // dr J[p][][] = -(v * v * v6) + v * (-(Cz * v098) - Cy * v0 - Cx * v07 + v07 * x + v0 * y + v098 * z); // dr J[p][][] = -(v * v * v7) + v * (-(Cy * v096) - Cz * v00 - Cx * v04 + v04 * x + v096 * y + v00 * z); // dcx J[p][][] = (-v068 - v07) * v - v067 * v * v; // dcy J[p][][4] = (-v060 - v069) * v - v07 * v * v; // dcz J[p][][5] = (-v06 - v074) * v - v064 * v * v; References [] R. S. Ballard. Converting symbolic Mathematica expressions to C code, 009. [] R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, second edition, 004. [] K. Lebeda, S. Hadfield, and R. Bowden. D or not D: Bridging the gap between tracking and structure from motion. In Proc. of ACCV, 04. [4] Wolfram Research, Inc. Mathematica, 0. 6

Camera Model and Calibration

Camera Model and Calibration Camera Model and Calibration Lecture-10 Camera Calibration Determine extrinsic and intrinsic parameters of camera Extrinsic 3D location and orientation of camera Intrinsic Focal length The size of the

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribe: Sameer Agarwal LECTURE 1 Image Formation 1.1. The geometry of image formation We begin by considering the process of image formation when a

More information

Camera Model and Calibration. Lecture-12

Camera Model and Calibration. Lecture-12 Camera Model and Calibration Lecture-12 Camera Calibration Determine extrinsic and intrinsic parameters of camera Extrinsic 3D location and orientation of camera Intrinsic Focal length The size of the

More information

Augmented Reality II - Camera Calibration - Gudrun Klinker May 11, 2004

Augmented Reality II - Camera Calibration - Gudrun Klinker May 11, 2004 Augmented Reality II - Camera Calibration - Gudrun Klinker May, 24 Literature Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Cambridge University Press, 2. (Section 5,

More information

The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.

The real voyage of discovery consists not in seeking new landscapes, but in having new eyes. The real voyage of discovery consists not in seeking new landscapes, but in having new eyes. - Marcel Proust University of Texas at Arlington Camera Calibration (or Resectioning) CSE 4392-5369 Vision-based

More information

Geometry of image formation

Geometry of image formation eometry of image formation Tomáš Svoboda, svoboda@cmp.felk.cvut.cz Czech Technical University in Prague, Center for Machine Perception http://cmp.felk.cvut.cz Last update: November 3, 2008 Talk Outline

More information

Introduction to Homogeneous coordinates

Introduction to Homogeneous coordinates Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically

More information

Rectification and Distortion Correction

Rectification and Distortion Correction Rectification and Distortion Correction Hagen Spies March 12, 2003 Computer Vision Laboratory Department of Electrical Engineering Linköping University, Sweden Contents Distortion Correction Rectification

More information

An idea which can be used once is a trick. If it can be used more than once it becomes a method

An idea which can be used once is a trick. If it can be used more than once it becomes a method An idea which can be used once is a trick. If it can be used more than once it becomes a method - George Polya and Gabor Szego University of Texas at Arlington Rigid Body Transformations & Generalized

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometry and Camera Calibration 3D Coordinate Systems Right-handed vs. left-handed x x y z z y 2D Coordinate Systems 3D Geometry Basics y axis up vs. y axis down Origin at center vs. corner Will often

More information

Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the

Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the Camera Projection Models We will introduce different camera projection models that relate the location of an image point to the coordinates of the corresponding 3D points. The projection models include:

More information

Geometric camera models and calibration

Geometric camera models and calibration Geometric camera models and calibration http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 13 Course announcements Homework 3 is out. - Due October

More information

3-D D Euclidean Space - Vectors

3-D D Euclidean Space - Vectors 3-D D Euclidean Space - Vectors Rigid Body Motion and Image Formation A free vector is defined by a pair of points : Jana Kosecka http://cs.gmu.edu/~kosecka/cs682.html Coordinates of the vector : 3D Rotation

More information

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482 Rigid Body Motion and Image Formation Jana Kosecka, CS 482 A free vector is defined by a pair of points : Coordinates of the vector : 1 3D Rotation of Points Euler angles Rotation Matrices in 3D 3 by 3

More information

Camera Models and Image Formation. Srikumar Ramalingam School of Computing University of Utah

Camera Models and Image Formation. Srikumar Ramalingam School of Computing University of Utah Camera Models and Image Formation Srikumar Ramalingam School of Computing University of Utah srikumar@cs.utah.edu Reference Most slides are adapted from the following notes: Some lecture notes on geometric

More information

Camera Models and Image Formation. Srikumar Ramalingam School of Computing University of Utah

Camera Models and Image Formation. Srikumar Ramalingam School of Computing University of Utah Camera Models and Image Formation Srikumar Ramalingam School of Computing University of Utah srikumar@cs.utah.edu VisualFunHouse.com 3D Street Art Image courtesy: Julian Beaver (VisualFunHouse.com) 3D

More information

calibrated coordinates Linear transformation pixel coordinates

calibrated coordinates Linear transformation pixel coordinates 1 calibrated coordinates Linear transformation pixel coordinates 2 Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration with partial

More information

Outline. ETN-FPI Training School on Plenoptic Sensing

Outline. ETN-FPI Training School on Plenoptic Sensing Outline Introduction Part I: Basics of Mathematical Optimization Linear Least Squares Nonlinear Optimization Part II: Basics of Computer Vision Camera Model Multi-Camera Model Multi-Camera Calibration

More information

Camera model and calibration

Camera model and calibration Camera model and calibration Karel Zimmermann, zimmerk@cmp.felk.cvut.cz (some images taken from Tomáš Svoboda s) Czech Technical University in Prague, Center for Machine Perception http://cmp.felk.cvut.cz

More information

Camera calibration. Robotic vision. Ville Kyrki

Camera calibration. Robotic vision. Ville Kyrki Camera calibration Robotic vision 19.1.2017 Where are we? Images, imaging Image enhancement Feature extraction and matching Image-based tracking Camera models and calibration Pose estimation Motion analysis

More information

Hartley - Zisserman reading club. Part I: Hartley and Zisserman Appendix 6: Part II: Zhengyou Zhang: Presented by Daniel Fontijne

Hartley - Zisserman reading club. Part I: Hartley and Zisserman Appendix 6: Part II: Zhengyou Zhang: Presented by Daniel Fontijne Hartley - Zisserman reading club Part I: Hartley and Zisserman Appendix 6: Iterative estimation methods Part II: Zhengyou Zhang: A Flexible New Technique for Camera Calibration Presented by Daniel Fontijne

More information

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching -- Computational Optical Imaging - Optique Numerique -- Single and Multiple View Geometry, Stereo matching -- Autumn 2015 Ivo Ihrke with slides by Thorsten Thormaehlen Reminder: Feature Detection and Matching

More information

3D Sensing and Reconstruction Readings: Ch 12: , Ch 13: ,

3D Sensing and Reconstruction Readings: Ch 12: , Ch 13: , 3D Sensing and Reconstruction Readings: Ch 12: 12.5-6, Ch 13: 13.1-3, 13.9.4 Perspective Geometry Camera Model Stereo Triangulation 3D Reconstruction by Space Carving 3D Shape from X means getting 3D coordinates

More information

DD2429 Computational Photography :00-19:00

DD2429 Computational Photography :00-19:00 . Examination: DD2429 Computational Photography 202-0-8 4:00-9:00 Each problem gives max 5 points. In order to pass you need about 0-5 points. You are allowed to use the lecture notes and standard list

More information

Lecture 3: Camera Calibration, DLT, SVD

Lecture 3: Camera Calibration, DLT, SVD Computer Vision Lecture 3 23--28 Lecture 3: Camera Calibration, DL, SVD he Inner Parameters In this section we will introduce the inner parameters of the cameras Recall from the camera equations λx = P

More information

Midterm Exam Solutions

Midterm Exam Solutions Midterm Exam Solutions Computer Vision (J. Košecká) October 27, 2009 HONOR SYSTEM: This examination is strictly individual. You are not allowed to talk, discuss, exchange solutions, etc., with other fellow

More information

Numerical Methods for PDEs : Video 11: 1D FiniteFebruary Difference 15, Mappings Theory / 15

Numerical Methods for PDEs : Video 11: 1D FiniteFebruary Difference 15, Mappings Theory / 15 22.520 Numerical Methods for PDEs : Video 11: 1D Finite Difference Mappings Theory and Matlab February 15, 2015 22.520 Numerical Methods for PDEs : Video 11: 1D FiniteFebruary Difference 15, Mappings 2015

More information

Hand-Eye Calibration from Image Derivatives

Hand-Eye Calibration from Image Derivatives Hand-Eye Calibration from Image Derivatives Abstract In this paper it is shown how to perform hand-eye calibration using only the normal flow field and knowledge about the motion of the hand. The proposed

More information

Camera system: pinhole model, calibration and reconstruction

Camera system: pinhole model, calibration and reconstruction Camera system: pinhole model, calibration and reconstruction Francesco Castaldo, Francesco A.N. Palmieri December 22, 203 F. Castaldo (francesco.castaldo@unina2.it) and F. A. N. Palmieri are with the Dipartimento

More information

Lecture 9: Epipolar Geometry

Lecture 9: Epipolar Geometry Lecture 9: Epipolar Geometry Professor Fei Fei Li Stanford Vision Lab 1 What we will learn today? Why is stereo useful? Epipolar constraints Essential and fundamental matrix Estimating F (Problem Set 2

More information

Agenda. Rotations. Camera models. Camera calibration. Homographies

Agenda. Rotations. Camera models. Camera calibration. Homographies Agenda Rotations Camera models Camera calibration Homographies D Rotations R Y = Z r r r r r r r r r Y Z Think of as change of basis where ri = r(i,:) are orthonormal basis vectors r rotated coordinate

More information

Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision

Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision Early Fundamentals of Coordinate Changes and Rotation Matrices for 3D Computer Vision Ricardo Fabbri Benjamin B. Kimia Brown University, Division of Engineering, Providence RI 02912, USA Based the first

More information

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

More information

2 Second Derivatives. As we have seen, a function f (x, y) of two variables has four different partial derivatives: f xx. f yx. f x y.

2 Second Derivatives. As we have seen, a function f (x, y) of two variables has four different partial derivatives: f xx. f yx. f x y. 2 Second Derivatives As we have seen, a function f (x, y) of two variables has four different partial derivatives: (x, y), (x, y), f yx (x, y), (x, y) It is convenient to gather all four of these into

More information

Recovering structure from a single view Pinhole perspective projection

Recovering structure from a single view Pinhole perspective projection EPIPOLAR GEOMETRY The slides are from several sources through James Hays (Brown); Silvio Savarese (U. of Michigan); Svetlana Lazebnik (U. Illinois); Bill Freeman and Antonio Torralba (MIT), including their

More information

Two-view geometry Computer Vision Spring 2018, Lecture 10

Two-view geometry Computer Vision Spring 2018, Lecture 10 Two-view geometry http://www.cs.cmu.edu/~16385/ 16-385 Computer Vision Spring 2018, Lecture 10 Course announcements Homework 2 is due on February 23 rd. - Any questions about the homework? - How many of

More information

1 Projective Geometry

1 Projective Geometry CIS8, Machine Perception Review Problem - SPRING 26 Instructions. All coordinate systems are right handed. Projective Geometry Figure : Facade rectification. I took an image of a rectangular object, and

More information

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important.

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important. Homogeneous Coordinates Overall scaling is NOT important. CSED44:Introduction to Computer Vision (207F) Lecture8: Camera Models Bohyung Han CSE, POSTECH bhhan@postech.ac.kr (",, ) ()", ), )) ) 0 It is

More information

Pin Hole Cameras & Warp Functions

Pin Hole Cameras & Warp Functions Pin Hole Cameras & Warp Functions Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps Today Pinhole Camera. Homogenous Coordinates. Planar Warp Functions. Motivation Taken from: http://img.gawkerassets.com/img/18w7i1umpzoa9jpg/original.jpg

More information

3D Sensing. 3D Shape from X. Perspective Geometry. Camera Model. Camera Calibration. General Stereo Triangulation.

3D Sensing. 3D Shape from X. Perspective Geometry. Camera Model. Camera Calibration. General Stereo Triangulation. 3D Sensing 3D Shape from X Perspective Geometry Camera Model Camera Calibration General Stereo Triangulation 3D Reconstruction 3D Shape from X shading silhouette texture stereo light striping motion mainly

More information

Computer Vision: Lecture 3

Computer Vision: Lecture 3 Computer Vision: Lecture 3 Carl Olsson 2019-01-29 Carl Olsson Computer Vision: Lecture 3 2019-01-29 1 / 28 Todays Lecture Camera Calibration The inner parameters - K. Projective vs. Euclidean Reconstruction.

More information

C / 35. C18 Computer Vision. David Murray. dwm/courses/4cv.

C / 35. C18 Computer Vision. David Murray.   dwm/courses/4cv. C18 2015 1 / 35 C18 Computer Vision David Murray david.murray@eng.ox.ac.uk www.robots.ox.ac.uk/ dwm/courses/4cv Michaelmas 2015 C18 2015 2 / 35 Computer Vision: This time... 1. Introduction; imaging geometry;

More information

Computer Vision. Geometric Camera Calibration. Samer M Abdallah, PhD

Computer Vision. Geometric Camera Calibration. Samer M Abdallah, PhD Computer Vision Samer M Abdallah, PhD Faculty of Engineering and Architecture American University of Beirut Beirut, Lebanon Geometric Camera Calibration September 2, 2004 1 Computer Vision Geometric Camera

More information

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches Reminder: Lecture 20: The Eight-Point Algorithm F = -0.00310695-0.0025646 2.96584-0.028094-0.00771621 56.3813 13.1905-29.2007-9999.79 Readings T&V 7.3 and 7.4 Essential/Fundamental Matrix E/F Matrix Summary

More information

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah School of Computing University of Utah Presentation Outline 1 2 3 Forward Projection (Reminder) u v 1 KR ( I t ) X m Y m Z m 1 Backward Projection (Reminder) Q K 1 q Q K 1 u v 1 What is pose estimation?

More information

Camera Calibration by a Single Image of Balls: From Conics to the Absolute Conic

Camera Calibration by a Single Image of Balls: From Conics to the Absolute Conic ACCV2002: The 5th Asian Conference on Computer Vision, 23 25 January 2002, Melbourne, Australia 1 Camera Calibration by a Single Image of Balls: From Conics to the Absolute Conic Hirohisa Teramoto and

More information

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations 3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic

More information

Epipolar geometry. x x

Epipolar geometry. x x 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

More information

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10 Structure from Motion CSE 152 Lecture 10 Announcements Homework 3 is due May 9, 11:59 PM Reading: Chapter 8: Structure from Motion Optional: Multiple View Geometry in Computer Vision, 2nd edition, Hartley

More information

Quasi-Euclidean Epipolar Rectification

Quasi-Euclidean Epipolar Rectification 2014/07/01 v0.5 IPOL article class Published in Image Processing On Line on 2011 09 13. Submitted on 2011 00 00, accepted on 2011 00 00. ISSN 2105 1232 c 2011 IPOL & the authors CC BY NC SA This article

More information

Fundamental Matrix & Structure from Motion

Fundamental Matrix & Structure from Motion Fundamental Matrix & Structure from Motion Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps Today Transformations between images Structure from Motion The Essential Matrix The Fundamental

More information

A General Expression of the Fundamental Matrix for Both Perspective and Affine Cameras

A General Expression of the Fundamental Matrix for Both Perspective and Affine Cameras A General Expression of the Fundamental Matrix for Both Perspective and Affine Cameras Zhengyou Zhang* ATR Human Information Processing Res. Lab. 2-2 Hikari-dai, Seika-cho, Soraku-gun Kyoto 619-02 Japan

More information

521466S Machine Vision Exercise #1 Camera models

521466S Machine Vision Exercise #1 Camera models 52466S Machine Vision Exercise # Camera models. Pinhole camera. The perspective projection equations or a pinhole camera are x n = x c, = y c, where x n = [x n, ] are the normalized image coordinates,

More information

Geometry of image formation

Geometry of image formation Geometr of image formation Tomáš Svoboda, svoboda@cmp.felk.cvut.c ech Technical Universit in Prague, enter for Machine Perception http://cmp.felk.cvut.c Last update: November 0, 2008 Talk Outline Pinhole

More information

Vision Review: Image Formation. Course web page:

Vision Review: Image Formation. Course web page: Vision Review: Image Formation Course web page: www.cis.udel.edu/~cer/arv September 10, 2002 Announcements Lecture on Thursday will be about Matlab; next Tuesday will be Image Processing The dates some

More information

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo -- Computational Optical Imaging - Optique Numerique -- Multiple View Geometry and Stereo -- Winter 2013 Ivo Ihrke with slides by Thorsten Thormaehlen Feature Detection and Matching Wide-Baseline-Matching

More information

Camera Calibration Using Line Correspondences

Camera Calibration Using Line Correspondences Camera Calibration Using Line Correspondences Richard I. Hartley G.E. CRD, Schenectady, NY, 12301. Ph: (518)-387-7333 Fax: (518)-387-6845 Email : hartley@crd.ge.com Abstract In this paper, a method of

More information

Pin Hole Cameras & Warp Functions

Pin Hole Cameras & Warp Functions Pin Hole Cameras & Warp Functions Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps Today Pinhole Camera. Homogenous Coordinates. Planar Warp Functions. Example of SLAM for AR Taken from:

More information

Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II

Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II Massachusetts Institute of Technology Department of Computer Science and Electrical Engineering 6.801/6.866 Machine Vision QUIZ II Handed out: 001 Nov. 30th Due on: 001 Dec. 10th Problem 1: (a (b Interior

More information

Exponential Maps for Computer Vision

Exponential Maps for Computer Vision Exponential Maps for Computer Vision Nick Birnie School of Informatics University of Edinburgh 1 Introduction In computer vision, the exponential map is the natural generalisation of the ordinary exponential

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG.

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG. Computer Vision Coordinates Prof. Flávio Cardeal DECOM / CEFET- MG cardeal@decom.cefetmg.br Abstract This lecture discusses world coordinates and homogeneous coordinates, as well as provides an overview

More information

Camera model and multiple view geometry

Camera model and multiple view geometry Chapter Camera model and multiple view geometry Before discussing how D information can be obtained from images it is important to know how images are formed First the camera model is introduced and then

More information

Perspective Projection in Homogeneous Coordinates

Perspective Projection in Homogeneous Coordinates Perspective Projection in Homogeneous Coordinates Carlo Tomasi If standard Cartesian coordinates are used, a rigid transformation takes the form X = R(X t) and the equations of perspective projection are

More information

Camera Geometry II. COS 429 Princeton University

Camera Geometry II. COS 429 Princeton University Camera Geometry II COS 429 Princeton University Outline Projective geometry Vanishing points Application: camera calibration Application: single-view metrology Epipolar geometry Application: stereo correspondence

More information

Perspective projection and Transformations

Perspective projection and Transformations Perspective projection and Transformations The pinhole camera The pinhole camera P = (X,,) p = (x,y) O λ = 0 Q λ = O λ = 1 Q λ = P =-1 Q λ X = 0 + λ X 0, 0 + λ 0, 0 + λ 0 = (λx, λ, λ) The pinhole camera

More information

Multiview Stereo COSC450. Lecture 8

Multiview Stereo COSC450. Lecture 8 Multiview Stereo COSC450 Lecture 8 Stereo Vision So Far Stereo and epipolar geometry Fundamental matrix captures geometry 8-point algorithm Essential matrix with calibrated cameras 5-point algorithm Intersect

More information

Epipolar Geometry Prof. D. Stricker. With slides from A. Zisserman, S. Lazebnik, Seitz

Epipolar Geometry Prof. D. Stricker. With slides from A. Zisserman, S. Lazebnik, Seitz Epipolar Geometry Prof. D. Stricker With slides from A. Zisserman, S. Lazebnik, Seitz 1 Outline 1. Short introduction: points and lines 2. Two views geometry: Epipolar geometry Relation point/line in two

More information

METRIC PLANE RECTIFICATION USING SYMMETRIC VANISHING POINTS

METRIC PLANE RECTIFICATION USING SYMMETRIC VANISHING POINTS METRIC PLANE RECTIFICATION USING SYMMETRIC VANISHING POINTS M. Lefler, H. Hel-Or Dept. of CS, University of Haifa, Israel Y. Hel-Or School of CS, IDC, Herzliya, Israel ABSTRACT Video analysis often requires

More information

CS223b Midterm Exam, Computer Vision. Monday February 25th, Winter 2008, Prof. Jana Kosecka

CS223b Midterm Exam, Computer Vision. Monday February 25th, Winter 2008, Prof. Jana Kosecka CS223b Midterm Exam, Computer Vision Monday February 25th, Winter 2008, Prof. Jana Kosecka Your name email This exam is 8 pages long including cover page. Make sure your exam is not missing any pages.

More information

Assignment 2 : Projection and Homography

Assignment 2 : Projection and Homography TECHNISCHE UNIVERSITÄT DRESDEN EINFÜHRUNGSPRAKTIKUM COMPUTER VISION Assignment 2 : Projection and Homography Hassan Abu Alhaija November 7,204 INTRODUCTION In this exercise session we will get a hands-on

More information

Computer Vision. 2. Projective Geometry in 3D. Lars Schmidt-Thieme

Computer Vision. 2. Projective Geometry in 3D. Lars Schmidt-Thieme Computer Vision 2. Projective Geometry in 3D Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Computer Science University of Hildesheim, Germany 1 / 26 Syllabus Mon.

More information

Degeneracy of the Linear Seventeen-Point Algorithm for Generalized Essential Matrix

Degeneracy of the Linear Seventeen-Point Algorithm for Generalized Essential Matrix J Math Imaging Vis 00 37: 40-48 DOI 0007/s085-00-09-9 Authors s version The final publication is available at wwwspringerlinkcom Degeneracy of the Linear Seventeen-Point Algorithm for Generalized Essential

More information

CS201 Computer Vision Camera Geometry

CS201 Computer Vision Camera Geometry CS201 Computer Vision Camera Geometry John Magee 25 November, 2014 Slides Courtesy of: Diane H. Theriault (deht@bu.edu) Question of the Day: How can we represent the relationships between cameras and the

More information

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates METR4202 -- Robotics Tutorial 2 Week 2: Homogeneous Coordinates The objective of this tutorial is to explore homogenous transformations. The MATLAB robotics toolbox developed by Peter Corke might be a

More information

Stereo Observation Models

Stereo Observation Models Stereo Observation Models Gabe Sibley June 16, 2003 Abstract This technical report describes general stereo vision triangulation and linearized error modeling. 0.1 Standard Model Equations If the relative

More information

Stereo CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

Stereo CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz Stereo CSE 576 Ali Farhadi Several slides from Larry Zitnick and Steve Seitz Why do we perceive depth? What do humans use as depth cues? Motion Convergence When watching an object close to us, our eyes

More information

Name of student. Personal number. Teaching assistant. Optimisation: Stereo correspondences for fundamental matrix estimation.

Name of student. Personal number. Teaching assistant. Optimisation: Stereo correspondences for fundamental matrix estimation. Version: March 23, 2018 c Computer Vision Laboratory Linköping University Name of student Personal number Date Teaching assistant Optimisation: Stereo correspondences for fundamental matrix estimation

More information

A simple method for interactive 3D reconstruction and camera calibration from a single view

A simple method for interactive 3D reconstruction and camera calibration from a single view A simple method for interactive 3D reconstruction and camera calibration from a single view Akash M Kushal Vikas Bansal Subhashis Banerjee Department of Computer Science and Engineering Indian Institute

More information

IN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING

IN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING IN-SIU CALIBRAION OF A REDUNDAN MEASUREMEN SYSEM FOR MANIPULAOR POSIIONING Piotr J. Meyer Philips Center for Industrial echnology (CF, Lynnfield, MA, U.S.A. Prof. Dr. Jan van Eijk Philips Center for Industrial

More information

Perception and Action using Multilinear Forms

Perception and Action using Multilinear Forms Perception and Action using Multilinear Forms Anders Heyden, Gunnar Sparr, Kalle Åström Dept of Mathematics, Lund University Box 118, S-221 00 Lund, Sweden email: {heyden,gunnar,kalle}@maths.lth.se Abstract

More information

On the Non-Linear Optimization of Projective Motion Using Minimal Parameters

On the Non-Linear Optimization of Projective Motion Using Minimal Parameters ECCV 02 EUROPEAN CONFERENCE ON COMPUTER VISION, COPENHAGEN, DENMARK, PP. 340-354, VOL. 2, MAY 2002. On the Non-Linear Optimization of Projective Motion Using Minimal Parameters Adrien Bartoli Adrien.Bartoli@inria.fr

More information

Silhouette-based Multiple-View Camera Calibration

Silhouette-based Multiple-View Camera Calibration Silhouette-based Multiple-View Camera Calibration Prashant Ramanathan, Eckehard Steinbach, and Bernd Girod Information Systems Laboratory, Electrical Engineering Department, Stanford University Stanford,

More information

2D Object Definition (1/3)

2D Object Definition (1/3) 2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself

More information

3D Modeling using multiple images Exam January 2008

3D Modeling using multiple images Exam January 2008 3D Modeling using multiple images Exam January 2008 All documents are allowed. Answers should be justified. The different sections below are independant. 1 3D Reconstruction A Robust Approche Consider

More information

Camera Calibration. COS 429 Princeton University

Camera Calibration. COS 429 Princeton University Camera Calibration COS 429 Princeton University Point Correspondences What can you figure out from point correspondences? Noah Snavely Point Correspondences X 1 X 4 X 3 X 2 X 5 X 6 X 7 p 1,1 p 1,2 p 1,3

More information

Robot Vision: Projective Geometry

Robot Vision: Projective Geometry Robot Vision: Projective Geometry Ass.Prof. Friedrich Fraundorfer SS 2018 1 Learning goals Understand homogeneous coordinates Understand points, line, plane parameters and interpret them geometrically

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribe: Jayson Smith LECTURE 4 Planar Scenes and Homography 4.1. Points on Planes This lecture examines the special case of planar scenes. When talking

More information

Robust Camera Calibration from Images and Rotation Data

Robust Camera Calibration from Images and Rotation Data Robust Camera Calibration from Images and Rotation Data Jan-Michael Frahm and Reinhard Koch Institute of Computer Science and Applied Mathematics Christian Albrechts University Kiel Herman-Rodewald-Str.

More information

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 05/11/2015 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

C18 Computer Vision. Lecture 1 Introduction: imaging geometry, camera calibration. Victor Adrian Prisacariu.

C18 Computer Vision. Lecture 1 Introduction: imaging geometry, camera calibration. Victor Adrian Prisacariu. C8 Computer Vision Lecture Introduction: imaging geometry, camera calibration Victor Adrian Prisacariu http://www.robots.ox.ac.uk/~victor InfiniTAM Demo Course Content VP: Intro, basic image features,

More information

Geometric Model of Camera

Geometric Model of Camera Geometric Model of Camera Dr. Gerhard Roth COMP 42A Winter 25 Version 2 Similar Triangles 2 Geometric Model of Camera Perspective projection P(X,Y,Z) p(,) f X Z f Y Z 3 Parallel lines aren t 4 Figure b

More information

v v t =(t,0,t ) x C β 2 x z

v v t =(t,0,t ) x C β 2 x z To appear in European Conference on Computer Vision, April 996. Direct methods for self-calibration of a moving stereo head M.J. Brooks 3 L. de Agapito D.Q. Huynh L. Baumela 3 Centre for Sensor Signal

More information

University of Southern California, 1590 the Alameda #200 Los Angeles, CA San Jose, CA Abstract

University of Southern California, 1590 the Alameda #200 Los Angeles, CA San Jose, CA Abstract Mirror Symmetry 2-View Stereo Geometry Alexandre R.J. François +, Gérard G. Medioni + and Roman Waupotitsch * + Institute for Robotics and Intelligent Systems * Geometrix Inc. University of Southern California,

More information

Image Formation. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania

Image Formation. Antonino Furnari. Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania Image Formation Antonino Furnari Image Processing Lab Dipartimento di Matematica e Informatica Università degli Studi di Catania furnari@dmi.unict.it 18/03/2014 Outline Introduction; Geometric Primitives

More information

Euclidean Reconstruction Independent on Camera Intrinsic Parameters

Euclidean Reconstruction Independent on Camera Intrinsic Parameters Euclidean Reconstruction Independent on Camera Intrinsic Parameters Ezio MALIS I.N.R.I.A. Sophia-Antipolis, FRANCE Adrien BARTOLI INRIA Rhone-Alpes, FRANCE Abstract bundle adjustment techniques for Euclidean

More information

Scene Reconstruction from Uncontrolled Motion using a Low Cost 3D Sensor

Scene Reconstruction from Uncontrolled Motion using a Low Cost 3D Sensor Scene Reconstruction from Uncontrolled Motion using a Low Cost 3D Sensor Pierre Joubert and Willie Brink Applied Mathematics Department of Mathematical Sciences University of Stellenbosch, South Africa

More information

Epipolar Geometry and the Essential Matrix

Epipolar Geometry and the Essential Matrix Epipolar Geometry and the Essential Matrix Carlo Tomasi The epipolar geometry of a pair of cameras expresses the fundamental relationship between any two corresponding points in the two image planes, and

More information

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

More information

arxiv: v1 [cs.cv] 18 Sep 2017

arxiv: v1 [cs.cv] 18 Sep 2017 Direct Pose Estimation with a Monocular Camera Darius Burschka and Elmar Mair arxiv:1709.05815v1 [cs.cv] 18 Sep 2017 Department of Informatics Technische Universität München, Germany {burschka elmar.mair}@mytum.de

More information