Back to Projects

3D Scene Reconstruction

A multi-view computer vision pipeline that reconstructs 3D scenes from 2D images through camera calibration, feature matching, pose estimation, and triangulation, with interactive point cloud visualizations.

Python OpenCV NumPy Plotly

Overview

This project turns photographs from multiple viewpoints into an interactive 3D point cloud. It connects camera calibration, image correspondences, and geometric reconstruction in a single computer vision pipeline.

Reconstruction Pipeline

  1. Calibrate the camera: estimate lens distortion and camera intrinsics from checkerboard images, removing unreliable calibration views.
  2. Match image features: combine SIFT, corners, edges, optical flow, and manually annotated correspondences.
  3. Recover geometry: compare a custom normalized eight-point RANSAC solver with OpenCV's five-point method, then recover camera poses and triangulate points.
  4. Fuse views: align stereo reconstructions and normalize their scale to reveal regions hidden from a single image pair.

Explore the Results

Plotly visualizations let you inspect the reconstructed scene from different angles:

The GitHub repository includes the notebook, annotation tools, and a report documenting the experiments.