One of the great struggles that plagues farmers in Canada, and likely worldwide, is the identification of agricultural pests and diseases in their crops. Not only is it hard to detect new diseases emerging in their plants, it is difficult to know how to best remedy these diseases. We decided to develop AgriDisease to help farmers identify crop diseases and treat them in the most environmentally friendly way possible.
What it does
Our solution is a cross-platform application that allows the user to take a picture of their crop to identify if it has a disease. If it does, the application also suggests the most environmentally-friendly ways to treat the agricultural pest. Furthermore, future releases of this application will pair farmers' reports and findings with their geographical location and tag their activity on an in-app map. This way, nearby farmers can begin to get a sense of what diseases may be lurking in the area.
How we built it
We built this app using Firebase as the backend and Flutter as the frontend environment. The app was developed for Android phones (using Android Studio) initially, although making the port to iOS should be very simple. The AutoML feature in Firebase was used to create a TensorFlow Lite model that we then implemented into a working application that uses the camera of a phone.
Challenges we ran into
We ran into a lot of trouble implementing the TensorFlow Lite model into whichever front end we were using. We started in Angular, moved to React Native, and finished the project using Flutter. We had the most success, however, with Flutter, meaning it was the right technology to pivot too.
Accomplishments that we're proud of
We're are very proud of how we created a TensorFlow model from scratch, after finding and cleaning data ourselves. None of us are very experienced in machine learning and were all excited to learn and test the model once it finally started working.
What we learned
We learned a lot of training a neural network, including cleaning and prepping data. We also learned a lot about the power of Firebase and how to connect it through various frontends. Similarly, we had to pivot to Flutter and learn Dart, a language none of us were at all familiar with.
What's next for AgriDisease
We're looking to fully integrate the TensorFlow lite model we have with the camera application we've developed. Similarly, a social feature would be nice that allowed the farmers to interact with their neighbors and be warned if many of their neighbors are having issues with a certain crop or pest.