Welcome to my repository of computer vision projects completed as part of the Master of Science in Data Analytics for Science program at Carnegie Mellon University. Each folder contains a standalone implementation or exploration of core computer vision algorithms, with detailed reports and code to reproduce experiments.
├── 1_HOG_ImageClassification
├── Intro_to_CV
├── 2_LucasKanade
├── 3_Homographies
├── 4_3D_Reconstruction
├── 5_NeuralNetworks
├── 6_Photometric_Stereo
└── README.md
- 1_HOG_ImageClassification: Implementing image classification using Histogram of Oriented Gradients (HOG) features and SVM models.
- Intro_to_CV: Introductory exercises covering basic image operations, filtering, and edge detection.
- 2_LucasKanade: Building the Lucas–Kanade optical flow algorithm for motion estimation between image pairs.
- 3_Homographies: Estimating projective transformations (homographies) to warp images and stitch panoramas.
- 4_3D_Reconstruction: Epipolar correspondence and triangulation methods for reconstructing 3D scene structure.
- 5_NeuralNetworks: Designing and training neural network models (MLPs & CNNs) on vision datasets, including training scripts and performance analysis.
- 6_Photometric_Stereo: Recovering surface normals and depth maps using photometric stereo techniques and integrability enforcement.
- Clone this repository:
git clone https://github.com/<your-username>/cmu-computer-vision.git cd cmu-computer-vision
- Install OpenCV:
pip install opencv-python
If and when individual projects require additional packages (e.g., NumPy, Matplotlib, scikit-learn, PyTorch), you can install them as needed before running that project’s code.
Each project folder includes a detailed pdf with instructions for the project and a Jupyter notebook explaining:
- Problem statement and algorithmic background
- Setup instructions and data requirements
- Code walkthrough with functions and modules
- Results visualization and performance metrics
To get started, navigate into any project directory and follow its individual instructions. For example:
cd 2_LucasKanade
jupyter notebook LucasKanade.ipynbThese projects are part of my academic portfolio and are not intended for external contributions. However, feedback and improvements are welcome—feel free to open issues or reach out directly via email.