cookit is a deep learning model for object-detection of food ingredients on images. It's running on a webserver, deployed in a Docker container. The model used for predictions is FasterRCNN+InceptionResNetV2, trained on OpenImages v4
The frontend repository is running here. A user may upload there an image of certain food ingredients and the deep learning model will detect a list of ingredients which are on the image. The user can than edit and extend ingredients to find recipes which make the most of available ingredients at home.
Get the project
# Either
git clone git@github.com:csseries/cookit.git
# Or
git clone https://github.com/csseries/cookit.git
Create virtualenv:
sudo apt-get install virtualenv python-pip python-dev
deactivate; virtualenv ~/venv ; source ~/venv/bin/activate ;\
pip install pip -U; pip install -r requirements.txt
Install requirements:
pip install -r requirements
NOTE: At the time of writing, Mac users with a M1 chip had to apply this command in addition:
pip uninstall tensorflow
pip install tensorflow-macos tensorflow-metal
Download model (optional):
make download_model
Run the backend
# Will run backend locally on http://localhost:8080/predict
make run_locally
To test the performance of the model, run
make performance_test
which will download a number of images, apply the detector and calculate an accuracy value. Based on the used set of test images, an average accuracy of 0.31 is reached.
This project was made within the scope of a Le Wagon Data Science bootcamp, batch #674 in Munich. 🚌