Skip to content

3D reconstruction using Structure from Motion(SfM) algorithm.

Notifications You must be signed in to change notification settings

aditya-jha13/SfM-3DReconstruction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SfM-3DReconstruction

3D reconstruction using Structure from Motion(SfM) algorithm.

Report: Link

Requirments

Build OpenCV and PCL libraries from source.

Installation

git clone https://github.com/aditya-jha13/SfM-3DReconstruction

Build & Run

cd path/to/SfM-3DReconstruction
cmake .
make
./mySfM

Demo

The input images are present in test images folder. The images are taken from different viewpoints of a scene.

Feature Matching

The features are detected in each image using the AKAZE Detector and features are matched for each pair of image using FLANN Based Matcher.

1 1

Final Reconstruction & Comparison

Final Image of Reconstruction(pointclouds)

1

Expected Reconstruction(3D triangular meshes)

1

The expected output is optimal as it has bundle adjustment integrated as well as the the point clouds are made denser by converting pointclouds to meshes.

TODO: Integrate bundle adjustment and make the final reconstruction denser.

About

The first step in the SfM pipeline is Feature Matching where we find and match the features between each pair of images which is later used to find the relative transformation between the images. In the second step, we estimate motion between the images and triangulate the matched points in 3D space. The major functions used in this step are cv::findEssentialMat, cv::recoverPose and cv::triangulatePoints.

About

3D reconstruction using Structure from Motion(SfM) algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published