top of page
Machine Learning & AI
Course: University of Michigan EECS 280: Programming and Introductory Data Structures (Winter 2022)
Piazza Post Classifier (C++) February 2022 – March 2022
Focus Areas: Natural Language Processing (NLP), Naïve Bayes Classification, Text Classification
-
Developed a Multi-Variate Bernoulli Naïve Bayes Classifier to categorize Piazza discussion posts based on their content.
-
Implemented a Bag-of-Words Model to extract unique words from each post and compute probabilistic word distributions for classification.
-
Trained and tested on real piazza data from past terms, using labeled past posts for supervised learning.
-
Computed log-probability scores to predict the most probable category for each post.
-
Optimized performance by efficiently processing training data, storing word frequencies, and implementing techniques to handle unseen words.
-
Achieved high classification accuracy, successfully identifying class discussion subject matter.
Course: University of Michigan EECS 442: Computer Vision (Winter 2024)
Numbers and Images (Python, NumPy, OpenCV, Matplotlib) January 2024
Focus Areas: NumPy Optimization, Data Visualization, Color Spaces, Image Processing
-
Implemented vectorized operations for mathematical tasks, avoiding explicit loops for efficiency.
-
Processed and visualized multi-channel image datasets, handling outliers and extreme pixel values.
-
Converted images between RGB and LAB color spaces, improving brightness and contrast perception.
-
Implemented Floyd-Steinberg dithering to enhance grayscale and color image quality under limited bit-depth.
Fitting Models and Image Warping (Python, NumPy, OpenCV, Matplotlib) February 2024-March 2024
Focus Areas: RANSAC, Affine & Homography Transformations, Image Warping, Augmented Reality
-
Implemented Random Sample Consensus (RANSAC) to fit 3D planes and linear transformations with outlier rejection.
-
Computed affine transformations and homographies using least squares optimization and Singular Value Decomposition (SVD) for 2D point correspondences.
-
Applied perspective transformations with OpenCV’s warpPerspective function to rectify book covers and reconstruct synthetic frontal views.
-
Detected keypoint correspondences, estimated homographies, and merged images into seamless panoramas using feature matching and blending techniques.
-
Applied template matching and homography transformations to overlay synthetic textures onto real-world objects, simulating augmented reality (AR) effects.
Two-Layer Neural Network and CNN (Python, NumPy, PyTorch, OpenCV, Matplotlib) March 2024
Focus Areas: Computational Graphs, Backpropagation, Neural Networks, and Image Classification
-
Implemented backpropagation for scalar computational graphs, visualized gradient flow, and performed numerical gradient checking.
-
Built a fully connected two-layer neural network for image classification from scratch, without deep learning libraries.
-
Implemented Softmax loss, L2 regularization, and ReLU activation, ensuring stability and preventing overfitting.
-
Trained a two-layer neural network on the CIFAR-10 dataset, tuning learning rate, batch size, and regularization strength for improved accuracy.
-
Designed and trained a Convolutional Neural Network (CNN) for Fashion-MNIST classification using PyTorch.
-
Evaluated an ImageNet-trained model on real-world images, comparing correct vs. incorrect classifications.
Learning Based Image Colorization of Donuts (Python, PyTorch, OpenCV) March 2024 – April 2024
Focus Areas: Convolutional Neural Networks (CNNs), Image Colorization, Computer Vision
-
Developed a U-Net CNN model trained on 1,500+ grayscale-to-color image pairs from the COCO dataset, focusing on donuts.
-
Utilized edge detection (Canny filter) and assigned pixel colors based on a predefined 10-color palette.
-
Applied cross-entropy loss, batch normalization, and the Adam optimizer for stability and accuracy.
-
Achieved 85.78% pixel match accuracy, with qualitative assessments emphasizing realistic colorization.
-
Explored potential applications in historical photo restoration, media enhancement, and digital art.
Image-to-Image Translation and Diffusion Models (Python, PyTorch, OpenCV, NumPy, Matplotlib) March 2024 – April 2024
Focus Areas: Image-to-Image Translation, Diffusion Models, Deep Learning
-
Implemented Pix2Pix GANs for image-to-image translation, generating realistic shoe images from edge-detected inputs.
-
Evaluated performance using BCE Loss (generator) and L1 Loss (discriminator), tracking loss trends over 20+ epochs.
-
Developed diffusion models including Denoising Diffusion Probabilistic Models (DDPM), Denoising Diffusion Implicit Models (DDIM), RePaint, and Diffusion Posterior Sampling (DPS) for image generation and inpainting, enhancing sampling efficiency.
-
Optimized training and loss functions using PyTorch, Adam optimizer, and noise scheduling techniques.
3D Deep Learning (Python, PyTorch, NumPy, OpenCV, Matplotlib) April 2024
Focus Areas: Neural Radiance Fields (NeRF), 3D Reconstruction, and Epipolar Geometry
-
Implemented the Eight-Point Algorithm to estimate the fundamental matrix.
-
Computed epipoles using Singular Value Decomposition (SVD) and visualized epipolar lines for stereo image analysis.
-
Developed a Neural Radiance Fields (NeRF) model for 3D scene synthesis, using positional encoding and ray sampling for volumetric rendering.
-
Trained the NeRF model, estimated RGB color and depth maps, and optimized rendering parameters for improved clarity and generalization.
Course: University of Michigan EECS 492: Introduction to Artificial Intelligence (Winter 2024)
Flowers (Python, PyTorch, NumPy, Matplotlib, OpenCV, Torchvision) April 2024
Focus Areas: Variational Autoencoders (VAEs), Image Reconstruction, Deep Learning
-
Implemented a Variational Autoencoder (VAE) to generate and reconstruct images from the Flowers102 dataset.
-
Built an encoder-decoder architecture using CNNs for feature extraction and image generation.
-
Applied self-attention mechanisms to improve feature representation and enhance image quality.
-
Used KL divergence for regularization, optimizing the latent space representation.
-
Conducted hyperparameter tuning with grid search for learning rates and layer configurations to optimize model performance.
-
Improved reconstruction accuracy by 64% through iterative testing and refinement.
bottom of page