The WHO recommends a daily fruit consumption of 400 grams per person for better health. However, in Indonesia, the average intake is only 81.14 grams per capita per day (BPS, 2021), falling short of the WHO threshold. Limited awareness of nutritional benefits leads to repetitive fruit choices and potential health issues. An Android app that classifies fruit images could address this challenge by providing interactive identification and detailed nutritional information, promoting healthier choices and reducing chemical consumption.
Fruiteasy, an innovative Android application that uses advanced image classification technology to help you make informed fruit choices. Simply capture an image of a fruit, and our app will identify it and provide detailed nutritional information, serving methods, dietary benefits, and potential health benefits.
Demo Apps Video
Click Me
Here's the API we used into our Apps:
Base URL
(https://fruiteasy-be-nrw674jbdq-et.a.run.app)
API for Register Features :
Request Verify Email - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/UserAuth/request-verify-email).Store Data to Firestore - GET
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/UserAuth/signup)
API for Login Features :
Login - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/UserAuth/login).
API for Forgot Password Features :
Request Email Reset Password - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/ForgotPass/request-password-link)Response Reset Password View - GET
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/ForgotPass/reset-password-view)Reset Data Password in Firestore - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/ForgotPass/reset-password-link)
API for Edit MyProfile Features :
Edit Profile - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/UserAuth/edit-profile).
API for Reset Password Features :
Reset Password - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/UserAuth/reset-password).
API for Predict Image and Add History Features :
Predict Image - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/Predict/upload).History - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/Predict/history).
API for Get Data History Features :
Get Data History -GET
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/Predict/get-history)
API for Get Data Fruit Season Features :
Get Data Fruit Season by Month - GET
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/GetContent/musim_buah)Get Data Content Fruit by Month - GET
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/GetContent/content-fruit/current-month)
API for Report Bug Features :
Sending Email Report Bug - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/Support/report-bug)
API for Contact Us Features :
Sending Email Contact Us - POST
(https://fruiteasy-be-nrw674jbdq-et.a.run.app/Support/contact-us)
- Python 3.10.12
- Tensorflow 2.15.0
- Install necessary packages using
pip install -r requirements.txt
Resources | Description | Link URL |
---|---|---|
fruiteasyV6.h5 | Our latest trained model | Link |
CombinedV6.zip | Our latest raw dataset | Link |
Complete-ready-to-useV4.zip | Our latest cleaned/preprocessed/formatted/augmented dataset | Link |
262-for-testV2.zip | Our latest dataset for testing | Link |
We already provide a code to preprocess/format/augment our raw dataset (our dataset available on /Assets/dataset-and-pretrain.txt
)
- If you want to use Google Colab/Jupyter Notebook, simply upload the
Preprocessing_formatting_augmenting.ipynb
, or use our colab Here. Just run all the cells and modify some variable name if you want. - If you are using linux and want to use standard python code, follow this steps:
- Download one of the raw dataset in here
/Assets/dataset-and-pretrain.txt
, the raw dataset indicated by nameCombinedV
- Extract the dataset
- simply run
python3 Preprocessing-alternative-code.py
- zip the file and use it for next step
📰 Preprocessing | 📔 Train-eval-predict |
---|---|
Link | Link |
Here is a couple notes:
- Make sure T4 Gpu selected on runtime for better performance
- Run the dependencies cell
- After that you can either go for training process (A) or simply skip it to use our model directly (B)
- If you choose option A, you need to run all the cells from 1 to 5, then run either option with fine tuning or without fine tuning (please choose one), next start the training loop using 6, for the rest 7-10 you can simply explore it (self explanatory)
- If you choose option B, you can directly use the model to predict after running the 1 and 2.