/deep-food

Make a photo of your fridge, recognize ingredients and generate matching recipes with deep learning. Our model combines transfer learning and object recognition networks, trained on artificially and automatically generated data.

Primary LanguageJupyter Notebook

deep-food

Project Intro

  • Have you ever wished you can make a photo of your fridge, upload it and get a recipe recommendation?
  • This is what we attempt with our app deepfoodie: personalised recipe generation based on ingredients recognition from a photo

Collaborators

Name Github Page
Michael Drews (https://github.com/michi-d)
Nima H. Siboni (https://github.com/nima-siboni)
Iskriyana Vasileva (https://github.com/Iskriyana)
Gleb Sidorov (https://github.com/gsidorov)

Methods Used & Tech Stack

  • Scraping - selenium, requests
  • Image manipulation & artificial image creation - Pillow, OpenCV
  • Deep Learning - Convolutional NN with TensorFlow
  • Transfer Learning - Resnet50, MobileNetV2, InceptionV3

Getting Started

Link to App

http://34.75.113.48/

If you want to run the web app locally

  • Go to the deployment folder cd deployment
  • Start the application streamlit run app_web_deepfoodie.py
    • In case you get the error "ModuleNotFoundError: No module named 'importlib_metadata'", deactivate and activate the environment again
  • Upload a photo of your fridge or use our example photo in /assets/example_photo.jpg
  • Click on "deep-foodie activate your vision". The model is now running in order to identify the ingredients in the image.
  • Once deepfoodie is ready with the ingredients identification, you will see your picture with red squares and labels of what deepfoodie thinks he saw
  • Now, click on "show me recipes" to get 3 gourmet recommendations. Enjoy!

Other useful points

Generate new artificial validation set

For 500 samples, use:

python /data/generate_artifical_validation_set.py validation_artificial --N_samples 500