Project Description

The purpose of this project is to reconstruct 3D scene and simultaneously obtain the camera poses of a monocular camera. This is also known as Structure from Motion(SfM)

The following are the steps involved in the SfM:

  • Feature Matching and Outlier rejection using RANSAC
  • Estimating Fundamental Matrix
  • Estimating Essential Matric from Fundamental Matrix and Intrinsic Camera Matrix
  • Estimating Camera Pose from decomposition of Essential Matrix
  • Check for Cheirality Condition using Trinagulation
  • Perspective-n-Point
  • Bundle adjustment

Pseudo code

summary

Results

Feature Matching using SIFT and RANSAC

feature matching

Triangulation check for Cheirality Condition

all_poses

Non-Linear Triangulation

linear_nonlinear

Linear Camera Pose Estimation

PnP56

Bundle Adjustment and Sparse Scene Reconstruction

BundleAdjustment56

Requirement

Python 2.0 or above

License

License: MIT

Copyright (c) Feb 2023 Pradip Kathiriya