An image classification model from data collection, cleaning, model training, deployment and API integration.
The model can classify 20 different types of caps
The types are following:
- baseball cap
- beanie cap
- fedora cap
- cowboy hat
- kepi cap
- flat cap
- trucker cap
- newsboy cap
- pork pie hat
- bowler hat
- top hat
- sun hat
- boater hat
- ivy cap
- bucket hat
- balaclava cap
- turban cap
- taqiyah cap
- rasta cap
- visor cap
Data Collection: Downloaded from DuckDuckGo using term name
DataLoader: Used fastai DataBlock API to set up the DataLoader.
Data Augmentation: fastai provides default data augmentation which operates in GPU.
Details can be found in notebooks/data_prep.ipynb
Training: Fine-tuned a resnet34 model for 5 epochs (3 times) and got upto ~89% accuracy.
Data Cleaning: This part took the highest time. Since I collected data from browser, there were many noises. Also, there were images that contained. I cleaned and updated data using fastai ImageClassifierCleaner. I cleaned the data each time after training or finetuning, except for the last time which was the final iteration of the model.
I deployed to model to HuggingFace Spaces Gradio App. The implementation can be found in deployment
folder or here.
The deployed model API is integrated here in GitHub Pages Website. Implementation and other details can be found in docs
folder.