/3D-Stereo-Reconstruction

A computer vision stereo reconstruction algorithm that creates a 3D map given two images.

Primary LanguagePython

3D-Stereo-Reconstruction

A computer vision stereo reconstruction algorithm that creates a 3D map given two images.

Sift Feature Matching

1

find_match() visualization for SIFT feature mapping between img1 and img2, using 0.75 threshold for neighbor search.

Fundemental Matrix Computation

2

compute_F() computes the fundamental matrix by using an 8-point 1000 iteration RANSAC algorithm, a null_space calculator, and an SVD function. Epipolar lines are pictured above.

Triangulation

3

triangulation() and skew_pt() combine to provide the triangulated 3d point representation of the camera poses, of which disambiguate_pose() returns the best one.

Stereo Rectification

4

compute_rectification() rectifies the disambiguated camera poses and computes the dense stereo matching between the two views based on the calculated homographies.

5

Finally, we calculate the disparity map using dense_match(), making use of dense SIFT feature matching across epipolar lines, I used a combined representation of SIFT features with a keypoint size of 3 and 10, with the size 10 SIFT features weighted higher. The disparity is then calculated as a difference in the rectified positions, represented in the disparity map above.