camera calibration by zhang
play

Camera calibration by Zhang Sini sa Kolari c - PowerPoint PPT Presentation

Camera calibration by Zhang Sini sa Kolari c <http://www.inf.puc-rio.br/~skolaric> September 2006 Abstract In this presentation, I present a way to calibrate a camera using the method by Zhang. NOTE. This is accompanying material


  1. Camera calibration by Zhang Siniˇ sa Kolari´ c <http://www.inf.puc-rio.br/~skolaric> September 2006 Abstract In this presentation, I present a way to calibrate a camera using the method by Zhang. NOTE. This is accompanying material to my trabalhos for the course INF2064 ”T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa” held by prof. Marcelo Gattass, during the 2006.2 semestre.

  2. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [1] The problem Given a set of photos (either real photos — made with a real camera, or virtual photos — made with a ”virtual” 1 camera), determine camera’s: • Intrinsic parameters • Extrinsic parameters 1 For example the one implemented with perspective transformation in OpenGL, or one implemented in a raytracer.

  3. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [2] Camera’s intrinsic parameters • Scaling factors — s x , s y • Image center (principle point) — ( o x , o y ) • Focal length(s) — f ( f x = f/s x , f y = f/s y ) • Aspect ratio (skewness) — s h • Lens distortion (pin-cushion effect) — k 1 , k 2

  4. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [3] Camera’s intrinsic matrix (Trucco & Verri) − f   s h o x   − f x s h o x sx − f K = 0  = 0 o y − f y o y     sy  0 0 1 0 0 1 • f — focal length in [m] • s x , s y — scale factors in the image’s u and v axis. Can be interpreted as the horizontal and vertical size (in meters) of the pixels, in another words dimensionality of s x , s y is [m/pixel]. • f x , f y — focal lengths in [pixel]. • s h — skewness of two image axes (dimensionless). Holds s h = tan δ ≈ 0 (because generally δ ≈ 0 ), where δ is the angle between axis y and verticals on the axis x . • ( o x , o y ) — coordinate pair of the principal point (intersection of optical axis with image plane), expressed in [pixel]. Also called image center .

  5. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [4] Camera’s intrinsic matrix (Faugeras)  0  − fk u u 0 K = 0 − fk v v 0   0 0 1 Remarks: • no skewness factor • k u = s − 1 x , k v = s − 1 y

  6. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [5] Camera’s intrinsic matrix (IMPA folks)   fs x fτ u c K = 0 fs y v c   0 0 1 Compared with Trucco/Verri and Faugeras, IMPA people have added the following changes: • change of sign for diagonal elements k 11 , k 22 • s x , s y are defined as inverted values of s x , s y in Trucco/Verri notation

  7. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [6] Camera’s intrinsic matrix • Having images only, it’s not possible to estimate individual values of f, s x , s y ; only values f x and f y can be estimated • However if the manufacturer supplied s x , s y with the camera, it’s possible to derive f • If we discover f x , it will be expressed in [pixel]. So if we know the height H of the image (also expressed in [pixel]), we can calculate fov y .

  8. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [7] Camera’s extrinsic parameters • Placement of the camera (translation vector t ) • Orientation of the camera (rotation matrix R )

  9. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [8] Complete chain of coordinate transforms 1   s h o x � R   0 0 0 − f sx � t 1 pixels ← 0 o y  ← image ← 0 0 0  ← camera ← ← world − f   sy  0 1  0 0 1 0 0 0 1 Combining first two matrices we get:  − f  s h o x � R sx � t − f pixels ← 0 o y  ← camera ← ← world   sy 0 1  0 0 1 � R   − f x s h o x � t pixels ← 0  ← camera ← ← world − f y o y  0 1 0 0 1

  10. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [9] Zhang’s method ZHANG () 1 take several ( n ≥ 3) photos of your planar model’s printout 2 detect features in photos using LoG, jvInterpret(), etc 3 calculate camera’s extrinsic and intrinsic parms using closed-form solution 4 calculate coeffs for radial distortion solving linear least-squares 5 fine tune calculated parms using Levenberg-Marquardt 6 output calculated parms There can be less than 3 photos, but only under the supposition that some intrinsic parameters are known, see below.

  11. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [10] Zhang’s method • Firstly, the standard pinhole camera is being considered • Then, radial distortion is being calculated on top of it

  12. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [11] Zhang uses planar 3-D models ”Planar” means that we can flatten coordinate Z of every point of the model in the Zhang method, that is, consider Z to be 0. Examples of planar 3-D models would be, for example, patterns of black rectangles with known dimensions, printed on a paper, glued to a hard-cover book, and photographed by a camera. Therefore, [ X Y Z 1] τ (a 3-D point of the model) can be treated as [ X Y 1] τ in all subsequent calculations, since Z = 0 for all points.

  13. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [12] General projective transformation can be simplified Because of the simplification [ X Y Z 1] τ − → [ X Y 1] τ , we can simplify the general projective transformation [ X Y Z 1] τ − → K [ R t ][ X Y Z 1] τ as [ X Y 1] τ − → K [ r 1 r 2 t ][ X Y 1] τ where r 1 and r 2 are the first two columns of rotation matrix R , t translation vector, and K intrinsic matrix. By this reduction, we can work with a simpler projective plane to projective plane transformation ( P 2 − → P 2 ) instead with the more general and more complex ( P 3 − → P 2 ) transformation.

  14. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [13] Homography Because it uses planar 3-D models, Zhang’s method makes use of a homography (which is a map from projective plane P 2 onto itself): → K [ R t ][ X Y 1] τ = 1 [ X Y 1] τ − λH [ X Y 1] τ = [ u v 1] τ where • H is a homography from the model plane to the image plane P 2 − → P 2 defined as H = λ K [ R t ] • K is camera’s intrinsic matrix, and R, t extrinsic matrices

  15. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [14] Homography • There is a factor λ in the definition of H because any homography is defined up to a factor.

  16. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [15] The idea behind the Zhang method Let M designate the set of 2-D model points, and M ′ i set of 2-D points detected in image i . In a nutshell, the idea is first to extract n homographies H i (3x3 matrices) from n pairs { M, M ′ i } , i = 1 , . . . n : � � 1 h 11 1 h 12 1 h 13 { M, M ′ 1 h 21 1 h 22 1 h 23 1 } − → H 1 = 1 h 31 1 h 32 1 h 33 � 2 h 11 2 h 12 2 h 13 � { M, M ′ 2 } − → H 2 = 2 h 21 2 h 22 2 h 23 2 h 31 2 h 32 2 h 33 · · · n h 11 n h 12 n h 13 � � { M, M ′ n h 21 n h 22 n h 23 n } − → H n = n h 31 n h 32 n h 33

  17. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [16] The idea behind the Zhang method Then we use these newly-found coefficients of H i (eight coefficients for each H i , because all homographies have 8 DOF, that is, are determined up to a factor) to setup a linear system of 2 n ( n = number of images) equations for five intrinsic parameters (unknowns) s x , s y , γ, u 0 , v 0 — elements of K . Thus in this way, we end up finding (estimating) intrinsic matrix K . With K in hand, we find extrinsics R = [ � r 1 ,� r 2 ,� r 3 ] and t for each image i : r 1 = λK − 1 � r 2 = λK − 1 � � h 1 � h 2 � r 3 = � r 1 × � r 2 t = λK − 1 � � h 3

  18. INF2064 T´ opicos de Computa¸ c˜ ao Gr´ afica III - Realidade Aumentada e Cooperativa Camera calibration by Zhang [17] The idea behind the Zhang method Please note that n matrices R i so calculated do not in general case satisfy the properties of rotation matrix (that is, columns and rows of R i aren’t unitary orthogonal vectors) due to inherent noise in data. There is a method, however, that allows us to find a rotation matrix that is most similar to R i — see the article by Zhang. Of course, noise also affects the other extrinsic parameter t i .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend