This repository contains machine learning models developed for a computer vision project using the CIFAR-10 dataset. The project includes two different approaches:
A simple Convolutional Neural Network (CNN) baseline model. An advanced model utilizing transfer learning with ResNet50.
Description: The baseline model is a simple CNN designed to establish an initial performance benchmark. Performance: The model showed limited accuracy, as indicated by the learning curves and confusion matrix.
Description: This model employs transfer learning with the ResNet50 architecture, enhanced with additional preprocessing steps. Performance: Significant improvement in accuracy compared to the baseline model, as evidenced by the learning curves and confusion matrix analysis.
R
- Clone the repository:
git clone https://github.com/<your-username>/<your-repo-name>.git
- Install dependencies:
pip install -r requirements.txt
Run main.py
to train and evaluate both the baseline CNN and the ResNet50 models:
python main.py
This script will handle the following:
- Load the CIFAR-10 dataset.
- Train and evaluate the baseline CNN model.
- Train and evaluate the ResNet50 model.
- Perform data augmentation for training the models.
- Generate confusion matrices and ROC curves for performance analysis.
- The script
main.py
includes evaluation methods like confusion matrices and ROC curve analysis. - Check the output directory for saved model weights and performance metrics.
- Your Name - janmajay@iitdalumni.com
- Project Link: `https://github.com/QED137/ComputerVisionProject.git
Getting Started Prerequisites
Python 3.x
TensorFlow 2.x
OpenCV
Installation
lone the repository: git clone https://github.com/QED137ComputerVisionProject.git
Install the required packages: pip install -r requirements.txt
Running the Models
python3 main.py
Results and Analysis
Learning curves and confusion matrices for each model can be found within their respective directories. A comprehensive analysis and comparison of both models are detailed in the project report, where available. Due to space and computational constraints, the ResNet50 model was trained for only 5 epochs, and its learning curves are presented accordingly. This limitation is primarily due to GPU and CPU resource considerations.