This repository contains source code for mobile app we built for this hackathon. If you're looking for the backend source code, please go here.
- Infrastructure: Amazon Web Services SageMaker
- Deep Learning Library: PyTorch, transfer learning with pretrained ResNet18
- Training Dataset: PlantVillage Disease Classification Challenge - Color Images
- React NativeReact Native
- Currently, we had access to dataset containing images of leaves. This alone limits the performance of the model as it would not be able to classify the fruits. We hope to collect data on the fruits and improve on the performance of the model.
- Expensive but affordable to train on GPU due to infrastructure cost. This is because GPU even though on the cloud do not come cheap.
- Deployment might also be expensive. However, we hosted the model for free on Heroku. If the project at some point starts generating revenue, we will move to scale the deployment on AWS SageMaker.
- React Native does not support capturing frames from a live camera. We used
Accelerometer
as a workaround for this. Accelerometer provides access to the device accelerometer sensor(s) and associated listeners to respond to changes in acceleration in 3d space, meaning any movement or vibration. Once we detect a change, we automatically take a picture for analysis. - To not incur costs, we hosted the trained model on a free service provided by Heroku. This service has a high latency. There is usually a huge delay in response time.
- Clone the code repository
git clone git@github.com:abiodunjames/DiseaseFinderApp.git
- Install npm packages
yarn install
-
Make sure you configure AUTH and Storage parameter in
aws.config.js
-
Install expo client Run
expo start
in your terminal. Use the expo client app to scan the barcode.