An open API service indexing awesome lists of open source software.

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

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:**
![2D-DFT](./Signal%20&%20Image%20Processing/2ddft.png)
- **Fourier Transform Implementation:**
![Fourier Transformation](./Signal%20&%20Image%20Processing/Fourier.png)
- **Smoothing:**
![Smoothing](./Signal%20&%20Image%20Processing/smoothing.png)
- **Color Space Conversion (HSV & YCbCr):**
![cvtcolor](./Signal%20&%20Image%20Processing/third.png)
- **Salt & Pepper Noise Removal:**
![noises](./Signal%20&%20Image%20Processing/noises.png)

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:**
![Camera Matrix](./images-readme/hw2_cameramatrix.png)
- **Projection Results:**
![Projection](./images-readme/hw2_proj.png)
- **Sequential Rotations:**
![Rotation](./images-readme/hw2_rot.png)

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):**
![Visualization](./images-readme/hw3_vis.png)
- **Camera Pose Estimation & 3D to 2D Projection:**
![Camera_Pose](./images-readme/hw3_pos.png)
- **Image Mosaicing Process:**
![first](./images-readme/hw3-1.png)
![second](./images-readme/hw3-2.png)
![third](./images-readme/hw3-3.png)
![fourth](./images-readme/hw3-4.png)
![fifth](./images-readme/hw3_5.png)

**Final Panorama Result:**
![sixth](./images-readme/hw3_final.png)

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:**
![one](./3D%20Reconstruction%20from%202%20Views/im1.jpg)
![two](./3D%20Reconstruction%20from%202%20Views/im2.jpg)
- **Reconstruction Result:**
![res](./3D%20Reconstruction%20from%202%20Views/image.png)

---

## **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).