{"id":1948,"date":"2014-02-05T17:32:48","date_gmt":"2014-02-05T17:32:48","guid":{"rendered":"https:\/\/www.anagram.at\/en\/diplomarbeit\/camera-calibration\/"},"modified":"2014-02-05T17:32:48","modified_gmt":"2014-02-05T17:32:48","slug":"camera-calibration","status":"publish","type":"page","link":"https:\/\/www.anagram.at\/en\/diplomarbeit\/camera-calibration\/","title":{"rendered":"Camera Calibration"},"content":{"rendered":"<p><body><br \/>\n<!--Navigation Panel--><br \/>\n<b> Next:<\/b> <a name=\"tex2html288\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-geometry\/\">Stereo Geometry<\/a><br \/>\n<b> Up:<\/b> <a name=\"tex2html284\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-vision\/\">Stereo Vision<\/a><br \/>\n<b> Previous:<\/b> <a name=\"tex2html278\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/camera-model-with-lens\/\">Camera Model with Lens<\/a><br \/>\n<!--End of Navigation Panel--><\/p>\n<h1><a name=\"SECTION00320000000000000000\"\/><a name=\"camcal\"\/><\/p>\n<p>Camera Calibration<br \/>\n<\/h1>\n<p>\nBasic camera calibration is the recovery of the effective focal length <img loading=\"lazy\" width=\"22\" height=\"35\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img64.png\" alt=\"$ f_k$\"\/> and the principle<br \/>\npoint <img loading=\"lazy\" width=\"45\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img51.png\" alt=\"$ c_x,c_y$\"\/> in the image plane \u0097 or, equivalently, recovery of the position<br \/>\nof the center of projection <!-- MATH\n $(x_0, y_0, f_k )$\n --><br \/>\n<img loading=\"lazy\" width=\"88\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img71.png\" alt=\"$ (x_0, y_0, f_k )$\"\/> in the image coordinate system. This is<br \/>\nreferred to as <i>interior orientation<\/i> in photogrammetry. Additionally, customary cameras have appreciable geometric distortions, but only nonlinear camera calibration techniques take them into account. If the distortion is modelled, it can be distinguished between distorted <!-- MATH\n $p(x_d,y_d)$\n --><br \/>\n<img loading=\"lazy\" width=\"72\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img72.png\" alt=\"$ p(x_d,y_d)$\"\/> and undistorted <!-- MATH\n $p(x_u,y_u)$\n --><br \/>\n<img loading=\"lazy\" width=\"74\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img73.png\" alt=\"$ p(x_u,y_u)$\"\/> image coordinates. The relation is given by\n<\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"distortion_eq\"\/><!-- MATH\n begin{equation}\nbegin{pmatrix}x_u cr y_u end{pmatrix} =\nbegin{pmatrix}x_d cr y_dend{pmatrix} + \nbegin{pmatrix}x_d (kappa_1r^2 + kappa_2r^4) cr y_d (kappa_1r^2 + kappa_2r^4)end{pmatrix}\nend{equation}\n --><\/p>\n<table cellpadding=\"0\" width=\"100%\" align=\"CENTER\">\n<tr valign=\"MIDDLE\">\n<td nowrap=\"nowrap\" align=\"CENTER\"><img loading=\"lazy\" width=\"316\" height=\"87\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img74.png\" alt=\"$displaystyle begin{pmatrix}x_u cr y_u end{pmatrix} = begin{pmatrix}x_d cr...&#10;..._d (kappa_1r^2 + kappa_2r^4) cr y_d (kappa_1r^2 + kappa_2r^4)end{pmatrix}$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.11)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\nwhere <\/p>\n<p\/>\n<div align=\"CENTER\"><!-- MATH\n begin{equation}\nr = sqrt(x_d^2 + y_d^2).\nend{equation}\n --><\/p>\n<table cellpadding=\"0\" width=\"100%\" align=\"CENTER\">\n<tr valign=\"MIDDLE\">\n<td nowrap=\"nowrap\" align=\"CENTER\"><img loading=\"lazy\" width=\"151\" height=\"41\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img75.png\" alt=\"$displaystyle r = sqrt(x_d^2 + y_d^2).$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.12)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\nA calibration target is used to provide correspondences between points in the image and points in space.<br \/>\nThe relationship between the target coordinate system and the camera coordinate system is referred to as <i>exterior orientation<\/i>. The relation between the image- and the world-coordinate system can be written as<\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"scenetoimage\"\/><!-- MATH\n begin{equation}\nleft(\n    begin{array}{ccc}\n        x_b - c_x\n        y_b - c_y\n        -f_k\n    end{array}right)\n    = s_x\n    left(\n    begin{array}{ccc}\n        r_1 r_2 r_3  \n        r_4 r_5 r_6   \n        r_7 r_8 r_9\n    end{array}right)\n    left(\n    begin{array}{ccc}\n        X_w - X_0  \n        Y_w - Y_0 \n        Z_w - Z_0\n    end{array} right),,\nend{equation}\n --><\/p>\n<table cellpadding=\"0\" width=\"100%\" align=\"CENTER\">\n<tr valign=\"MIDDLE\">\n<td nowrap=\"nowrap\" align=\"CENTER\"><img loading=\"lazy\" width=\"391\" height=\"115\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img76.png\" alt=\"$displaystyle left( begin{array}{ccc} x_b - c_x y_b - c_y -f_k end{array...&#10;...( begin{array}{ccc} X_w - X_0  Y_w - Y_0  Z_w - Z_0 end{array} right) ,$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.13)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\n<p>\nwhere\n<\/p>\n<ul>\n<li><img loading=\"lazy\" width=\"60\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img77.png\" alt=\"$ (x_b,y_b)$\"\/> image coordinate of the projected point <!-- MATH\n $(X_w,Y_w,Z_w)$\n --><br \/>\n<img loading=\"lazy\" width=\"108\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img78.png\" alt=\"$ (X_w,Y_w,Z_w)$\"\/><\/li>\n<li><img loading=\"lazy\" width=\"60\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img79.png\" alt=\"$ (c_x,c_y)$\"\/> coordinate of the intersection between the optical axis and the image plane\n<\/li>\n<li><img loading=\"lazy\" width=\"22\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img80.png\" alt=\"$ s_x$\"\/> scale factor against the spatial sampling frequency\n<\/li>\n<li><img loading=\"lazy\" width=\"22\" height=\"35\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img64.png\" alt=\"$ f_k$\"\/> distance between the center of the lens and the image plane\n<\/li>\n<li><img loading=\"lazy\" width=\"18\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img81.png\" alt=\"$ r_i$\"\/> coefficients of the rotation matrix <!-- MATH\n $R = R_x*R_y*R_z$\n --><br \/>\n<img loading=\"lazy\" width=\"147\" height=\"35\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img82.png\" alt=\"$ R = R_x*R_y*R_z$\"\/><\/li>\n<li><!-- MATH\n $(X_w,Y_w,Z_w)$\n --><br \/>\n<img loading=\"lazy\" width=\"108\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img78.png\" alt=\"$ (X_w,Y_w,Z_w)$\"\/> world coordinates of the projected point\n<\/li>\n<li><!-- MATH\n $(X_0,Y_0,Z_0)$\n --><br \/>\n<img loading=\"lazy\" width=\"98\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img83.png\" alt=\"$ (X_0,Y_0,Z_0)$\"\/> coordinates of the center of projection in world coordinates\n<\/li>\n<\/ul>\n<p>\nTo find a solution for Equation <a href=\"#scenetoimage\">2.13<\/a> we have to find corresponding image and world coordinates. Often this work is done by the calibration technique and need not be done by hand. <\/p>\n<p>\nSo far many calibration techniques have been published. According to [<a href=\"node47.html#Men97\">MK97<\/a>], they can be<br \/>\ncategorized into four major techniques:<\/p>\n<\/p>\n<dl>\n<dt><strong>Techniques involving full scale nonlinear<br \/>\noptimization<\/strong><\/dt>\n<dd>[<a href=\"node47.html#TSAI86\">Tsa86<\/a>,<a href=\"node47.html#FAI75\">Fai75<\/a>,<a href=\"node47.html#SOB73\">Sob73<\/a>]. The accuracy obtained by these methods is very high. But it is very time consuming due to the nonlinear optimization used.\n<\/dd>\n<dt><strong>Perspective transformation matrix using linear equation<\/strong><\/dt>\n<dd>[<a href=\"node47.html#DH73\">DH73<\/a>,<a href=\"node47.html#AAK71\">AAK71<\/a>] <\/p>\n<p>The benefit of these techniques is their linearity. The computation is fast, unfortunately lens distortion cannot be modelled because it is not linear (Equation <a href=\"#distortion_eq\">2.11<\/a>). By solving an overdetermined system of linear equations the perspective camera matrix can be computed. The DLT (Direct Linear Transformation) is one example for this technique.\n<\/dd>\n<dt><strong>Two plane method<\/strong><\/dt>\n<dd>[<a href=\"node47.html#MBK81\">MBK71<\/a>,<a href=\"node47.html#IPS85\">IPS85<\/a>] Only linear equations have to be solved, but the relation between the world and the camera coordinate system is assumed to be known.\n<\/dd>\n<dt><strong>Geometric techniques<\/strong><\/dt>\n<dd>[<a href=\"node47.html#FB86\">FB86<\/a>,<a href=\"node47.html#LT86\">LT88<\/a>]\nOnly linear equations have to be solved to get the outer orientation of the camera, but neither the focal length nor the distortion coefficients can be computed.\n<\/dd>\n<\/dl>\n<p>Normally, camera parameters have only to be calculated once, thus a nonlinear optimization techniques can be used. However, sometimes the parameters have to be calculated several times during operation, in this case a linear technique should be preferred. The two plane method makes only sense, when the relation between the world and the camera coordinate system is known and does not change during operation. In general, the decision which calibration technique to choose depends on time and accuracy constraints.<\/p>\n<hr\/>\n<p><!--Navigation Panel--><b> Next:<\/b> <a name=\"tex2html288\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-geometry\/\">Stereo Geometry<\/a><br \/>\n<b> Up:<\/b> <a name=\"tex2html284\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-vision\/\">Stereo Vision<\/a><br \/>\n<!--End of Navigation Panel--><\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Camera Calibration<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1946,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":""},"categories":[],"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/pages\/1948"}],"collection":[{"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/comments?post=1948"}],"version-history":[{"count":0,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/pages\/1948\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/pages\/1946"}],"wp:attachment":[{"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/media?parent=1948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/categories?post=1948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}