https://github.com/amirreza81/fundamental-3d-computer-vision
Implementing some topics in 3D Computer Vision from scratch
https://github.com/amirreza81/fundamental-3d-computer-vision
3d-geometry 3d-reconstruction 3d-vision camera-calibration computer-vision cv2 image-mosaic image-processing keypoint-detection machine-learning projections reconstruction saltandpepper signal-processing smoothing two-view-geometry
Last synced: 6 months ago
JSON representation
Implementing some topics in 3D Computer Vision from scratch
- Host: GitHub
- URL: https://github.com/amirreza81/fundamental-3d-computer-vision
- Owner: Amirreza81
- License: mit
- Created: 2023-11-28T20:55:41.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-11T11:15:08.000Z (7 months ago)
- Last Synced: 2025-04-01T13:21:19.708Z (6 months ago)
- Topics: 3d-geometry, 3d-reconstruction, 3d-vision, camera-calibration, computer-vision, cv2, image-mosaic, image-processing, keypoint-detection, machine-learning, projections, reconstruction, saltandpepper, signal-processing, smoothing, two-view-geometry
- Language: Jupyter Notebook
- Homepage:
- Size: 25.2 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **Fundamental 3D Computer Vision**
This document presents assignments and solutions for the **Fundamental 3D Computer Vision (CE-344)** course at **Sharif University of Technology**. Each assignment focuses on fundamental concepts of 3D vision, including image processing, camera projections, and 3D reconstruction.
---
## **HW1 - Signal & Image Processing**
This assignment includes four tasks, each focusing on key image processing techniques:
- **2D-DFT using `np.fft.fft2`**
- **Fourier Transform implementation from scratch**
- **Image smoothing techniques**
- **Color space conversion and noise removal**### **Visual Representations**:
- **2D-DFT:**

- **Fourier Transform Implementation:**

- **Smoothing:**

- **Color Space Conversion (HSV & YCbCr):**

- **Salt & Pepper Noise Removal:**
For more details, refer to the [notebook](https://github.com/Amirreza81/Fundamental-3D-Computer-Vision/blob/main/Signal%20%26%20Image%20Processing/HW1.ipynb).
---
## **HW2 - 3D Geometry**
This assignment includes four main parts:
- **Implementing the camera matrix and projection**
- **Determining the camera matrix for a given scenario**
- **Applying the camera matrix to a vector**
- **Modifying rotation (R) and translation (T) matrices**### **Visual Representations**:
- **Camera Matrix Example:**

- **Projection Results:**

- **Sequential Rotations:**
For more details, refer to the [notebook](https://github.com/Amirreza81/Fundamental-3D-Computer-Vision/blob/main/3D-Geometry/HW2.ipynb).
---
## **HW3 - Cameras and Projections**
This assignment explores:
- **Understanding rotations in 3D space** (quaternions and rotation matrices)
- **Estimating camera pose from 2D-3D correspondences**
- **Image mosaicing using homography**### **Visual Representations**:
- **Rotation Visualization (Quaternion):**

- **Camera Pose Estimation & 3D to 2D Projection:**

- **Image Mosaicing Process:**





**Final Panorama Result:**
For more details, refer to the [notebook](https://github.com/Amirreza81/Fundamental-3D-Computer-Vision/blob/main/3D-Geometry/HW2.ipynb).
---
## **HW4 - 3D Reconstruction from Two Views**
This assignment covers:
- **Implementing the eight-point algorithm**
- **Implementing the normalized eight-point algorithm**### **Visual Representations**:
- **Input Images:**


- **Reconstruction Result:**
---
## **Instructor** ✍
[Professor Shohreh Kasaei](https://scholar.google.com/citations?user=mvx4PvgAAAAJ&hl=en)
[Sharif University of Technology - Image Processing Lab (IPL)](http://ipl.ce.sharif.edu/)For more details and assignments, visit the [repository](https://github.com/Amirreza81/Fundamental-3D-Computer-Vision).