{"id":1992,"date":"2014-02-05T17:32:40","date_gmt":"2014-02-05T17:32:40","guid":{"rendered":"https:\/\/www.anagram.at\/en\/diplomarbeit\/fundamental-matrix\/"},"modified":"2014-02-05T17:32:40","modified_gmt":"2014-02-05T17:32:40","slug":"fundamental-matrix","status":"publish","type":"page","link":"https:\/\/www.anagram.at\/en\/diplomarbeit\/fundamental-matrix\/","title":{"rendered":"Fundamental Matrix"},"content":{"rendered":"<p><body><br \/>\n<!--Navigation Panel--><br \/>\n<b> Next:<\/b> <a name=\"tex2html329\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/rectification\/\">Rectification<\/a><br \/>\n<b> Up:<\/b> <a name=\"tex2html325\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-geometry\/\">Stereo Geometry<\/a><br \/>\n<b> Previous:<\/b> <a name=\"tex2html319\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/epipolar-geometry\/\">Epipolar Geometry<\/a><br \/>\n<!--End of Navigation Panel--><\/p>\n<h2><a name=\"SECTION00332000000000000000\"\/> <a name=\"fundamentalmatrix\"\/><\/p>\n<p>Fundamental Matrix<br \/>\n<\/h2>\n<p>\nThe fundamental matrix encodes all given geometrical constraints between a set of two stereo-images. Given a point <img loading=\"lazy\" width=\"23\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img92.png\" alt=\"$ x_1$\"\/> in the first view and its corresponding point <img loading=\"lazy\" width=\"23\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img93.png\" alt=\"$ x_2$\"\/> in the second view in homogenous coordinates, <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> fulfills the following equation<\/p>\n<\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"fundmat\"\/><!-- MATH\n begin{equation}\nx_2^TFx_1 = 0\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=\"93\" height=\"42\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img98.png\" alt=\"$displaystyle x_2^TFx_1 = 0$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.15)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\n<p>\n<img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> is a 3&#215;3 matrix with rank 2. Details about the derivation can be found in [<a href=\"node47.html#Har20\">HZ00<\/a>]. Some of the most important properties of <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> are:<\/p>\n<\/p>\n<dl>\n<dt><strong>Transpose<\/strong><\/dt>\n<dd>If <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> is the fundamental matrix of a pair of cameras (C,C&#8217;), then <img loading=\"lazy\" width=\"30\" height=\"19\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img99.png\" alt=\"$ F^T$\"\/> is the fundamental matrix of the pair in the opposite order (C&#8217;,C).\n<\/dd>\n<dt><strong>Epipolar lines<\/strong><\/dt>\n<dd>For any point x in the first image, we can find the corresponding epipolar line <img loading=\"lazy\" width=\"15\" height=\"17\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img8.png\" alt=\"$ l'$\"\/> with <img loading=\"lazy\" width=\"73\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img100.png\" alt=\"$ l' = Fx_1$\"\/> and also <!-- MATH\n $l = F^Tx_2$\n --><br \/>\n<img loading=\"lazy\" width=\"79\" height=\"40\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img101.png\" alt=\"$ l = F^Tx_2$\"\/>.\n<\/dd>\n<dt><strong>Epipole<\/strong><\/dt>\n<dd>for any point <img loading=\"lazy\" width=\"15\" height=\"19\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img25.png\" alt=\"$ x$\"\/> other than the epipole <img loading=\"lazy\" width=\"13\" height=\"19\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img5.png\" alt=\"$ e$\"\/>, <img loading=\"lazy\" width=\"73\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img100.png\" alt=\"$ l' = Fx_1$\"\/> contains the epipole <img loading=\"lazy\" width=\"18\" height=\"17\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img6.png\" alt=\"$ e'$\"\/>. Thus <img loading=\"lazy\" width=\"18\" height=\"17\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img6.png\" alt=\"$ e'$\"\/> satisfies <!-- MATH\n $e'^T(Fx)=(e'^TF)x = 0$\n --><br \/>\n<img loading=\"lazy\" width=\"190\" height=\"40\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img102.png\" alt=\"$ e'^T(Fx)=(e'^TF)x = 0$\"\/> for all <img loading=\"lazy\" width=\"15\" height=\"19\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img25.png\" alt=\"$ x$\"\/>. It follows that <img loading=\"lazy\" width=\"77\" height=\"19\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img103.png\" alt=\"$ e'^TF=0$\"\/>, i.e. <img loading=\"lazy\" width=\"18\" height=\"17\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img6.png\" alt=\"$ e'$\"\/> is the left null-space of F. Similarly <img loading=\"lazy\" width=\"62\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img104.png\" alt=\"$ Fe = 0$\"\/>, i.e. is the right null-space of F.\n<\/dd>\n<\/dl>\n<p>\nTo compute <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> you can use corresponding points  to solve the homogeneous linear Equation <a href=\"#fundmat\">2.15<\/a>. The standard technique is to use pre-conditioning followed by symmetric matrix eigendecomposition to solve for the nine elements of <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/> up to an undetermined scale factor. <\/p>\n<p>\nIn case of known camera calibration parameters \tthe essential matrix <img loading=\"lazy\" width=\"20\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img3.png\" alt=\"$ E$\"\/> is the equivalent to the fundamental matrix <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img89.png\" alt=\"$ F$\"\/>. In this case the rotation and translation between the cameras can be computed, up to an unknown scale factor. The images are now related by the following equation<\/p>\n<\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"essmat\"\/><!-- MATH\n begin{equation}\nx_2'^TEx_1' = 0\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=\"97\" height=\"42\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img105.png\" alt=\"$displaystyle x_2'^TEx_1' = 0$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.16)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\nwhere <img loading=\"lazy\" width=\"20\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img3.png\" alt=\"$ E$\"\/> is the essential matrix, <img loading=\"lazy\" width=\"23\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img106.png\" alt=\"$ x_1'$\"\/> and <img loading=\"lazy\" width=\"23\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img107.png\" alt=\"$ x_2'$\"\/> are ideal image coordinates. The ideal image coordinates <img loading=\"lazy\" width=\"49\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img108.png\" alt=\"$ x_1',x_2'$\"\/>have to be calculated from the original image coordinates <img loading=\"lazy\" width=\"49\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img109.png\" alt=\"$ x_1,x_2$\"\/>, so that <img loading=\"lazy\" width=\"23\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img106.png\" alt=\"$ x_1'$\"\/> and <img loading=\"lazy\" width=\"23\" height=\"38\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img107.png\" alt=\"$ x_2'$\"\/> are the projected coordinates for an ideal camera. An ideal camera has focal distances <!-- MATH\n $f_x = f_y = 1$\n --><br \/>\n<img loading=\"lazy\" width=\"99\" height=\"35\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img110.png\" alt=\"$ f_x = f_y = 1$\"\/>, image center <!-- MATH\n $x_0 = y_0 = 0$\n --><br \/>\n<img loading=\"lazy\" width=\"99\" height=\"33\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img111.png\" alt=\"$ x_0 = y_0 = 0$\"\/> and homogenous z-coordinate = 1. Thus the camera calibration matrix is the identical matrix <img loading=\"lazy\" width=\"35\" height=\"35\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img112.png\" alt=\"$ I_{3x3}$\"\/>. The essential matrix can be written as<\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"essmat2\"\/><!-- MATH\n begin{equation}\nE = R[T]_x\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=\"91\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img113.png\" alt=\"$displaystyle E = R[T]_x$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.17)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\nwhere <img loading=\"lazy\" width=\"19\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img114.png\" alt=\"$ R$\"\/> is the rotation matrix, <img loading=\"lazy\" width=\"18\" height=\"16\" align=\"BOTTOM\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img115.png\" alt=\"$ T$\"\/> is the translation vector between the two cameras and <img loading=\"lazy\" width=\"37\" height=\"37\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img116.png\" alt=\"$ [T]_x$\"\/> is defined as <\/p>\n<p\/>\n<div align=\"CENTER\"><a name=\"cp_trans\"\/><!-- MATH\n begin{equation}\n[T]_x = begin{pmatrix} 0 & -T_z & T_y cr T_z & 0 &-T_x cr -T_y & T_x & 0 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=\"229\" height=\"115\" align=\"MIDDLE\" border=\"0\" src=\"https:\/\/www.anagram.at\/app\/uploads\/2014\/02\/img117.png\" alt=\"$displaystyle [T]_x = begin{pmatrix}0 &amp; -T_z &amp; T_y cr T_z &amp; 0 &amp;-T_x cr -T_y &amp; T_x &amp; 0 end{pmatrix}$\"\/><\/td>\n<td nowrap=\"nowrap\" width=\"10\" align=\"RIGHT\">\n(2.18)<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><br clear=\"ALL\"\/><\/p>\n<p\/>\n<p>\nFor more information about the essential matrix have a look at [<a href=\"node47.html#Fau93\">Fau93<\/a>,<a href=\"node47.html#Har20\">HZ00<\/a>].<\/p>\n<\/p>\n<hr\/>\n<p><!--Navigation Panel--><b> Next:<\/b> <a name=\"tex2html329\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/rectification\/\">Rectification<\/a><br \/>\n<b> Up:<\/b> <a name=\"tex2html325\" href=\"https:\/\/www.anagram.at\/diplomarbeit\/stereo-geometry\/\">Stereo Geometry<\/a><br \/>\n<!--End of Navigation Panel--><\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fundamental Matrix<\/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\/1992"}],"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=1992"}],"version-history":[{"count":0,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/pages\/1992\/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=1992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.anagram.at\/en\/wp-json\/wp\/v2\/categories?post=1992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}