fridgesnap

An image-classification Android application developed to generate recipes from user-taken images of food items.

https://github.com/liiiiamb/fridgesnap

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

An image-classification Android application developed to generate recipes from user-taken images of food items.

Basic Info
  • Host: GitHub
  • Owner: liiiiamb
  • License: mit
  • Language: Java
  • Default Branch: main
  • Size: 7.45 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

FridgeSnap

An image-classification Android application developed to generate recipes from user-taken images of food items.

About the Project

FridgeSnap has been developed to assist with the reduction of global food waste. FridgeSnap uses image classification and machine learning technologies to generate recipes from user-taken images of singular food items. The application currently works on Android devices. The applicaiton was developed within the AndroidStudio IDE, using Java and XML for the development of the back-end and the front-end of the app respectively, and Python was used to develop the image classification model that sits behind the application. The application can be installed using the code files provided (ensure to install the model file from the provided OneDrive link below) or using the .APK file provided in a OneDrive link within the Usage section of this page. Example screens of the application can be seen below:

AppScreens

Built with:

FridgeSnap has been built using the following frameworks and languages:

  • Java
  • Python
  • XML
  • numpy
  • pandas
  • tensorflow

Usage:

To install and use FridgeSnap, you can either download the .APK file to your Android device from this repository, or install the code files to an IDE, such as AndroidStudio, and open the files using an emulator.

In order to use the application from the code files - download the code files and the model file from this link: https://1drv.ms/u/s!AgDuTxHEc862gfgxHbID2BRP_xkqfA?e=g2I58R . Insert the .tflite file into the assets folder of the application. This will allow the application to use the developed model.

Alternatively, you can install the application using the .APK file, available from this link: https://1drv.ms/u/s!AgDuTxHEc862gfgyNTvV2qIyKOZocQ?e=o0wQ1X to any Android device. Once the application is opened:

  1. Enter in your details by clicking 'Sign Up' - to skip this process, enter the '@' character into the email address box on the landing page to go straight to the image aspect of the application
  2. Once on the image page, click 'Take image' and take an image of any food item, this will display a prediction list of the top three predictions, select the correct item
  3. After you have taken an image of all desired items, press Continue, the next screen shows a list of all items entered so far. You are able to delete any items in the list by selecting the relevant checkbox and clicking 'Delete items'.
  4. To add an item manually, click 'Add manual items', enter the name of an item, then click 'Submit' followed by 'Continue'
  5. Once you have all items added to the general food item list, click 'Continue', this will perform a search for recipes that use the items
  6. On the discover screen you have the option to (1) favourite recipes by clicking the 'Favourite' button on any recipe card, (2) hide recipes by clicking 'Hide' on any recipe card, (3) view recipes by clciking anywhere on a recipe card.
  7. To exit the application and sign out at any time, click the 'X' button at the top left of many screens within the app

Video demonstration:

A video demonstration of the application can be seen on the following link: Video demonstration

License:

Distributed under the MIT License

Contact:

Name: Liam Boyd
Email: liam_boyd2@outlook.com
LinkedIn: https://www.linkedin.com/in/liam-boyd-7b4463214/

Acknowledgments:

FridgeSnap has been completed as my final year research project as part of a BSc Software Engineering degree at Edge Hill University, Ormskirk, United Kingdom. This project has been supervised by Dr Nonso Nnamoko, whose help has been invaluable throughout all aspects of the project. Special thanks to the Department of Computer Science at Edge Hill University for providing me with the resources to carry out full development of the machine learning model that sits behind the application.

Owner

  • Login: liiiiamb
  • Kind: user

3rd-year Software Engineering student

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Boyd  
    given-names: Liam
    orcid: https://orcid.org/0009-0002-8631-0765
title: "FridgeSnap"
version: 1.0.0
date-released: 2023-06-30

GitHub Events

Total
  • Fork event: 2
Last Year
  • Fork event: 2

Dependencies

build.gradle maven
  • androidx.appcompat:appcompat 1.4.1 implementation
  • androidx.appcompat:appcompat 1.3.1 implementation
  • androidx.camera:camera-camera2 $camerax_version implementation
  • androidx.camera:camera-lifecycle $camerax_version implementation
  • androidx.camera:camera-view 1.0.0-alpha14 implementation
  • androidx.constraintlayout:constraintlayout 2.1.4 implementation
  • androidx.constraintlayout:constraintlayout 2.1.1 implementation
  • androidx.legacy:legacy-support-v4 1.0.0 implementation
  • com.amitshekhar.android:android-networking 1.0.2 implementation
  • com.github.bumptech.glide:glide 4.12.0 implementation
  • com.google.android.gms:play-services-safetynet 17.0.0 implementation
  • com.google.android.material:material 1.4.0 implementation
  • com.google.android.material:material 1.6.0 implementation
  • com.squareup.picasso:picasso 2.71828 implementation
  • com.squareup.retrofit2:converter-gson 2.9.0 implementation
  • com.squareup.retrofit2:retrofit 2.9.0 implementation
  • org.tensorflow:tensorflow-lite 2.7.0 implementation
  • org.tensorflow:tensorflow-lite-gpu 2.3.0 implementation
  • org.tensorflow:tensorflow-lite-metadata 0.1.0 implementation
  • org.tensorflow:tensorflow-lite-metadata 0.4.3 implementation
  • org.tensorflow:tensorflow-lite-support 0.1.0 implementation
  • org.tensorflow:tensorflow-lite-support 0.4.3 implementation
  • pl.droidsonroids.gif:android-gif-drawable 1.2.22 implementation