Skip to content

tusharparimi/3d-reconstruction

Repository files navigation

3d-reconstruction

This project is to generate a 3d-reconstruction of an 90-degree surface using just a pair of stereo images taken of that surface. This depth estimation is done using Triangulation of SIFT features correspondenses between the two stereo images. The implementation is done using OpenCV and Open3D.

Results

  • Stereo images
image
  • 3d reconstruction results (front & top views)
image image

video for 3d view- https://youtu.be/Uw53UdLdsOM?si=gAgVVJTPpVnZ2maY

Implementation steps

  • First we need a calibrated camera this can be done taking bunch of pictures of a chessboard pattern with your camera and feeding them into the chess_calib.py script. This will gives you the camera's intrinsic and extrinsic parameters(camera mtx, distortion coeffs and reproojection error). These help calibrate an uncalibrated camera.
  • Once you have the camera parameters you undistort your stereo images using those params and extract the SIFT keypoints and find matches between the pair of sstereo images.
image image
  • Now use Triangulation(Linear least squares method used here particularly) to find 3d estimates of the SIFT correspondenses.
  • Use Chierality constraint to find the actual projection
  • Finally, the 3d points are saved as a 3d poiint cloud in a .pcd file and visualized using Open3d.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages