/BellVsRipped

An Azure web application to classify between Bell Bottoms and Ripped Jeans.

Primary LanguageJupyter Notebook

BellVsRippped

Site Live On => https://calm-desert-07b80cc1e.azurestaticapps.net/

This a fun little web app to classify between Bell Bottoms and Ripped Jeans.

Table of Contents


Usage

  1. Clone the repository
git clone https://github.com/AdityaG09/Bell-Vs-Rippped.git
  1. Enter the directory
cd BellVsRipped
  1. Install required packages and start the app on localhost
npm install
npm run start

Machine Learning Process

  • DATA PREPARATION - Training data was scraped using Bing Image Search API. Dataset contains 150 images per class.
  • MODELING - ResNet-34 architecture on Pytorch(fastai) was used for training the model.
  • EVALUATION - Transfer Learning enabled achieving accuracy of 98.2% while using very little images per class for training.
  • DEPLOYMENT - Converted the PyTorch model into an ONNX runtime for faster inference. Deployed the ONNX runtime as an API using Azure Functions.

BellVsRipped.ipynb explains the steps and process in detail, so that it is easy to follow along.

Open In Colab


Performing Grad-CAM

Additionally, Using the hooks functionality of PyTorch, Grad-CAM heatmaps were generated. This helps us understand why the model labels the given image as a particular class.

Grad-CAM on Bell bottoms Grad-CAM on Ripped jeans

Credits

The web app is built on top of an existing template found here => ML-React-App-Template. Credits to Karan Bhanot.