Skip to content

FoodVision is a Python project focused on multiclass image classification, employing Convolutional Neural Networks (CNN).

License

Notifications You must be signed in to change notification settings

nikhil25803/FoodVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodVision

FoodVision is a Python project that effectively utilizes Convolutional Neural Networks (CNN) for food image classification. The adoption of best practices, automation through shell scripting, and the inclusion of both command line and GUI interfaces contribute to its accessibility and usability. Future improvements aim to enhance the model's performance and user experience.

Tools and Software Used

Python TensorFlow Keras Matplotlib Shell Script

Project Structure

FoodVision
 ├── 📄  LICENSE
 ├── 📄  README.md
 ├── 📄  .gitignore
 ├── 📄  requirements.txt - Contains all the dependencies
 ├── 📄  GUI.py - Generates a user-friendly GUI for image classification.
 ├── 📄  prediction.py - Allows image prediction using command line arguments.
 ├── 📄  main.py -  Builds and trains CNN models.
 └── 📂  data/ - Contains datasets and Python files for automating the download and structuring.
 └── 📂  models/ - Holds various CNN models along with their accuracy and loss curves.
 └── 📂  utils/ - Includes helper functions for data preprocessing and model evaluation.

Project Setup

  • Create and activate the virtual environment
python -m venv env

For windows

source env/Scripts/Activate

For Linux

source env/bin/activate
  • Install Dependencies
pip install -r requirements.txt
  • Make a prediction - Command Line Arguments (CLI)
python prediction.py --help

Response

Predict and plot food images.

options:
  -h, --help     show this help message and exit
  --model MODEL  Model name or number
  --food FOOD    Food class name
python prediction.py --model 1 --food pizza

Response image

  • Make a prediction - Through GUI
python GUI.py

Response image

Customization?

If you are looking to enhance the model accuracy, run the setup.sh bash file to avail all the images you'll need for building the model.

bash setup.sh

This will automatically download and unpack the zip file and will delete unnecessary data as well.

About

FoodVision is a Python project focused on multiclass image classification, employing Convolutional Neural Networks (CNN).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published