FoodVision is a CNN Image Classification Model that classifies images into 101 food categories using the Food101 dataset. It can identify 101 different food classes.
It is based upon a pre-trained Model that has been fine-tuned on the Food101 Dataset.
The Model actually beats the DeepFood Paper's model which also trained on the same dataset.
The Accuracy aquired by DeepFood was 77.4% and our model's 85% . Difference of 8% ain't much, but the interesting thing is, DeepFood's model took 2-3 days to train while our's barely took 90min.
Check the deployed app
app_video.mp4
Once an app is loaded,
- Upload an image of food.
- Once the image is processed,
Predict
button appears. Click it. - Once you click the
Predict
button, the model prediction takes place and the output will be displayed along with the model's Top-5 Predictions - And voilà, there you go.
If you want to know how the model was trained check out
FoodVisionGithub.ipynb
Notebook
At first glance the files in the repo may look intimidating and overwhelming. To avoid that, here is a quick guide :
.gitignore
: tells what files/folders to ignore when committingapp.py
: Our Food Vision app built using Streamlitutils.py
: Some of used fuctions inapp.py
foodvisiongithub.ipynb
: Notebook used to train the modelmodel/
: Contains all the models used as .hfd5 filesrequirements.txt
: List of required dependencies required to runapp.py
extras/
: contains images and files used to write this README File