I calculated both the projection matrix and camera center exactly as described in the homework documentation, without alteration. I did not normalize the pixels. Here is the projection matrix, with a residual of 0.0445:
0.4583 -0.2947 -0.0140 0.0040
-0.0509 -0.0546 -0.5411 -0.0524
0.1090 0.1783 -0.0443 0.5968
The camera center in world coordinates is: -1.5127, -2.3517, 0.2826
Here we can see the keypoints and camera in a 3D diagram:
Diagram view 1 |
Diagram view 2 |
I calculated the fundamental matrix exactly as described in the homework documentation, without alteration. I did not normalize the pixels. Here is my fundamental matrix:
-5.3626e-07 7.9036e-06 -1.8860e-03
8.8353e-06 1.2132e-06 1.7233e-02
-9.0738e-04 -2.6423e-02 9.9950e-01
You can see that there are as many as 6 orders of magnitude difference in these entries. However, this magnitude difference can still be handled well by a double precision machine. This is apparent in the epipolar lines below. They pass through the centers of the keypoint matches, with very little error. Here are the epipolar lines:
Here are of the epipolar lines of Mount Rushmore. There are 50 matches total:
You can see that some of the lines are slightly off; for example, the line passing through Lincoln's nose passes through the top of it in one image, and through the bottom in the other.