SmarterChef was developed by Gabriela May-Lagunes, Jesse Miller, Tal Segal, Varun Tanna, and Anil Tipirini as a final project for DATASCI W251 Deep Learning in the Cloud and at the Edge at UC Berkeley. It is a fully working end-to-end system that recognizes food items, maintains an inventory of those items, and recommends recipes based on the items in inventory. It establishes the fundamental infrastructure for more advanced food recognition programs, as well as for any system designed to track inventory via camera/image recognition and perform analysis / recommendations based on that inventory.
- You can read our final report here
- You can view our final presentation (including a video demo) here
To run the program for the first time, navigate to the user-interface folder and execute the run script as follows:
cd user_interface
sh run
The run script will execute the full initial set-up from building the docker image to running the docker container and launching the program.
In subsquent runs, the container and program can be launched directly by navigating to the user_interface/w251_app folder and entering the docker commands as follows:
cd user_interface/w251_app
docker rm w251_app
docker run --name w251_app -v $PWD:/app/ --device=/dev/video0:/dev/video0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -p 8000:8000 w251_app
Other files in the repo include:
- custom_model_train.ipynb: a jupyter notebook showing the model training and validation process
- train.py: script used for training
- val.py: script used for validation
- other supporting folders and files utilized in the above scripts