Pocket Kitchen is a system for managing food more efficiently in the home towards reducing household food waste. These scripts send detected incoming/outgoing food items in a fridge to a database.
- On-device object detection - Pocket Kitchen uses the Coral TPU and EdgeTPU TensorFlow models to perform object detection on-device. This means that no data is processed on the cloud, and all processing is done on the device itself.
- Customizable - Pocket Kitchen is designed to be customizable. For example, the user can add their own model trained on their own objects.
- Open Source - Pocket Kitchen is open source, so anyone can contribute to the project.
![](https://private-user-images.githubusercontent.com/79009541/287771170-ac5485a9-2357-4d39-92ba-5f24e1f23b3a.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4MjQxNDQsIm5iZiI6MTcyMzgyMzg0NCwicGF0aCI6Ii83OTAwOTU0MS8yODc3NzExNzAtYWM1NDg1YTktMjM1Ny00ZDM5LTkyYmEtNWYyNGUxZjIzYjNhLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE2VDE1NTcyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZhNTBhNzhmODVlNTA2NDEyYjg1ZWNhMzk2ZWQ4NDc5ZjIyYzk4ZTcwOGJiMzRlMzE2ZDQyMTJkOTYyYWE2MjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Ha1RRwA9IVbQu64s6WjOlDZf3rojN-RTJ6BDfHxvxBc)
While similar to an API, these scripts are running locally and populating a database. The database is then accessed by the Pocket Kitchen app to display the data.
![](https://private-user-images.githubusercontent.com/79009541/287769514-925e18b6-0a6d-419e-a428-f41df2974bf4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4MjQxNDQsIm5iZiI6MTcyMzgyMzg0NCwicGF0aCI6Ii83OTAwOTU0MS8yODc3Njk1MTQtOTI1ZTE4YjYtMGE2ZC00MTllLWE0MjgtZjQxZGYyOTc0YmY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE2VDE1NTcyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiODFjMjhiOWVhM2JiN2UwMTQ4YTliYTUzNzBhMTVlMThhODIyZTdjODEzYjZjZjJiZGUwMDRkYjNlMTY4MmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Mv7M2S2M5guOCN1lNjjhXkKcuzYT2Rv1dZ-V2Juiz2s)
- Raspberry Pi 4
- Coral TPU
- Pi Camera (We use HD Camera Module V2, but any Pi camera should work. Autofocus is recommended.)
- 3D-Printed Camera Mount
![](https://private-user-images.githubusercontent.com/79009541/287771597-5cc1f8e0-ca51-486b-b50c-384897b4fcde.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM4MjQxNDQsIm5iZiI6MTcyMzgyMzg0NCwicGF0aCI6Ii83OTAwOTU0MS8yODc3NzE1OTctNWNjMWY4ZTAtY2E1MS00ODZiLWI1MGMtMzg0ODk3YjRmY2RlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE2VDE1NTcyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFjMzYwZjFlMmRkZTI5YjczMzVlZTBhNjg0MmEzZDliMzZkYjIzNGE4MjIwYmUzMmMzZDMxYjAyOGU1YzBjNWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.otHAzfv2Wt21csC1YaIkfhRHbTKqAyJUSHHpLKlA62U)
- You can use the enclosed model or create your own custom fine-tune EfficientDet-Lite0 model from TensorFlow Edge Object Detection
$ bash setup.sh
$ python3 detect.py --model <model>
- Add support for true API