# Dataset for testing the optimal triangulation method

2 messages
Open this post in threaded view
|

## Dataset for testing the optimal triangulation method

 I'm trying to implement the optimal triangulation method (Algorithm 12.1 from "Multiple View Geometry"), but I'm having some trouble getting the results I want. I haven't found many examples of fundamental matrices and on on the web, so I'm wondering if someone has got a set of a fundamental matrix, two camera matrices (one of which is the 3x4 identity matrix), and a few points in 2D and 3D for me to test with. In my implementation, I get to the last point "(xi) The 3-space point X may then be obtained by the homogeneous method of 12.2". This, however, requires two camera matrices. As suggested in the same book, I use P1 = [1 0 0 0; 0 1 0 0; 0 0 1 0] and P2 = [e2x * F | e2] where F is the fundamental matrix, e2 is the left epipole from e2' * F = 0 and e2x is the skew-symmetric matrix form of e2. Using cvSVD to find e2 from F, and the input images left01.jpg and right01.jpg from the repositories (in /opencv/samples/c/*) I obtain the following e2 and P2: F: ( 3 x 3 )     0.00000041    -0.00003567    0.00938759     0.00003563    -0.00000333    -0.03538222     -0.01032410    0.03462822    1.00000000 e2: ( 1 x 3 )     0.95907376     0.28315455     0.00101525 P2: ( 4 x 3 )     -0.00292335    0.00980514    0.28319047    0.95907376     0.00990157    -0.03321106    -0.95906423    0.28315455     0.00003406    0.00000691    -0.03659230    0.00101525 I believe this camera matrix P2 is the problem. Shouldn't P2(0,0) and P2(1,1) be closer to 1.0 ? Of course, if anyone has a finished implementation which does this already (which they'd like to share), I'd be happy to use that instead :) -Jostein [Non-text portions of this message have been removed]
Open this post in threaded view
|

## Re: Dataset for testing the optimal triangulation method

 I have the fundamental matrix F =     0.0000158837883646    -0.0000152334359882    -0.0002570398792159     0.0000189358888747    0.0000186621982721    -0.0041565797291696     -0.0049716099165380    -0.0040264814160764    1.0000000000000000 I want camera matrices on the canonical form P1 = [ I | 0 ], P2 = [ E*F | e ], where E is the skew-symmetric cross-product form of e and e is the left epipole defined by e*F = 0. This is better explained on p.256 in "Multiple View Geometry". Could someone calculate e and P2 for me so I can see how they are supposed to look like? I get e = [ 0.11755536    0.99305763    0.00415794 ] and P2 =     -0.00493717    -0.00399861    0.99307491    0.11755536     0.00058451    0.00047327    -0.11755643    0.99305763     -0.00001355    0.00001732    -0.00023337    0.00415794 but P2 doesn't seem right... -Jostein 2008/12/27 Jostein Austvik Jacobsen <[hidden email]> > I'm trying to implement the optimal triangulation method (Algorithm 12.1 > from "Multiple View Geometry"), > but I'm having some trouble getting the results I want. > > I haven't found many examples of fundamental matrices and on on the web, so > I'm wondering if someone has got a set of a fundamental matrix, two camera > matrices (one of which is the 3x4 identity matrix), and a few points in 2D > and 3D for me to test with. > > In my implementation, I get to the last point "(xi) The 3-space point X may > then be obtained by the homogeneous method of 12.2". This, however, requires > two camera matrices. As suggested in the same book, I use P1 = [1 0 0 0; 0 1 > 0 0; 0 0 1 0] and P2 = [e2x * F | e2] where F is the fundamental matrix, e2 > is the left epipole from e2' * F = 0 and e2x is the skew-symmetric matrix > form of e2. Using cvSVD to find e2 from F, and the input images left01.jpg > and right01.jpg from the repositories (in /opencv/samples/c/*) I obtain the > following e2 and P2: > > F: ( 3 x 3 ) >     0.00000041    -0.00003567    0.00938759 >     0.00003563    -0.00000333    -0.03538222 >     -0.01032410    0.03462822    1.00000000 > > e2: ( 1 x 3 ) >     0.95907376 >     0.28315455 >     0.00101525 > > P2: ( 4 x 3 ) >     -0.00292335    0.00980514    0.28319047    0.95907376 >     0.00990157    -0.03321106    -0.95906423    0.28315455 >     0.00003406    0.00000691    -0.03659230    0.00101525 > > I believe this camera matrix P2 is the problem. Shouldn't P2(0,0) and > P2(1,1) be closer to 1.0 ? > > Of course, if anyone has a finished implementation which does this already > (which they'd like to share), I'd be happy to use that instead :) > > -Jostein > [Non-text portions of this message have been removed]