This repository contains three projects developed in Python using Jupyter Notebooks.
They explore computer vision, classification, and regression tasks using PyTorch & FastAI.
- Dataset: Oxford-IIIT Pet Dataset
- Techniques:
- Transfer Learning (ResNet18, ResNet34).
- Data augmentation (flips, lighting, zoom).
- Mixed precision training (
to_fp16()). - One-cycle learning rate policy.
- Concepts Explored:
- FastAI DataBlock API.
- Error analysis (confusion matrix, most confused classes).
- Architecture & hyperparameter comparison.
- Dataset: PASCAL VOC 2007 (objects with multiple labels per image).
- Techniques:
- Multi-category classification (
MultiCategoryBlock). - Custom label parsing from CSV.
- Custom splitter for train/validation sets.
- Data augmentation with RandomResizedCrop.
- Multi-category classification (
- Concepts Explored:
- Multi-label learning with one-hot encodings.
- Interpreting predictions for multiple classes.
- Training CNNs for complex image datasets.
- Dataset: BIWI Head Pose Dataset.
- Techniques:
- CNN regression with
PointBlock. - Custom label extraction from calibration files.
- Subject-based validation splitting.
- Data normalization & augmentations.
- CNN regression with
- Concepts Explored:
- Using CNNs for regression tasks (predicting coordinates).
- Handling custom datasets.
- Visual evaluation of predictions.
- Python
- PyTorch
- FastAI
- Scikit-learn, Pandas, Numpy
- Matplotlib, Seaborn
- Single-label & multi-label classification.
- CNN regression for pose estimation.
- Data preprocessing & augmentation.
- Transfer learning & fine-tuning.
- Model evaluation & interpretation.
- Experimentation with architectures & hyperparameters.