Sandwhich
Sandwhich is a mobile app built to solve the sandwich debate by determining if the picture you've taken is a sandwich using machine learning, Flutter, and TensorFlow Lite.
Available on Google Play and the App Store
Screenshots
Built With
- Flutter Packages
- Flare by 2Dimensions
- Link to our flare file
π€·ββοΈ
- Link to our flare file
- Google Fonts
Getting Started
Building from Source
Clone the repository
git clone https://github.com/MotionMobs/Sandwhich
cd Sandwhich
Run Sandwhich
flutter run
π
Your
π₯ͺ
Train Your Model/ How To To train your
brew update && brew install imagemagick
Set up file structure for your images
training_images
β βββ input
β β βββ not-sandwich
β β β βββ processed # processed not-sandwich images
β β β βββ unprocessed # original, not yet processed not-sandwich images
β β βββ sandwich
β β β βββ processed # processed sandwich imagess
β β β βββ unprocessed # original, not yet processed sandwich images
β βββ output # ready for model
β β βββ not-sandwich # minimum 20 images to train
β β βββ sandwich # minimum 20 images to train
βββ
Once original images are loaded into the folders, as described above, process the images
cd training_images
./conversion.sh
After all images have been processed we need to build the Docker image, run the script to retrain the model, and run the script to convert the retrained model to a .tflite
model we can use in the app.
Go back to the root of the project and run:
cd -
./train.sh
Prepare to wait a while.
Testing
To test the new model, run ./test_model.sh $IMAGE_PATH
where $IMAGE_PATH
is any path to an image you want to test with. For convenience, you can even drag an image into the terminal to have its path placed at the end of whatever is currently in the terminal.
- When ready to use the new model, move it to the assets folder and overwrite the old model. Backup old model if desired.
- Run the app, find some sandwiches, and enjoy!
To release on Android:
flutter build apk --target-platform android-arm64
Team
Credits
Sandwhich icon was created by Chad Remsing from the Noun Project