Inspiration
We were motivated to create AgroDetect due to the pressing need for more efficient and effective methods of disease and pest identification in agriculture. With the world's population growing rapidly, there is an increasing demand for more efficient and more sustainable methods of food production, and farmers face challenges in meeting this demand every day, in the wake of issues such as climate change, limited resources, and rising production costs. AgroDetect seeks to address one of these challenges by leveraging technology to help farmers identify and manage crop diseases and pests more quickly and accurately. Additionally, the app's ability to collect and track location data will prove to be especially useful in detecting and responding to disease and pest outbreaks, which can be critical for mitigating crop losses and protecting our cropping systems.## What it does
How we built it
AgroDetect is a web application that helps farmers identify crop diseases and pests. It also tracks their spread over time by storing pest/disease reports in a database. Users can upload images of crop damage, and the application uses machine learning models developed using TensorFlow to predict the likely cause of the damage and provide a brief description of the issue. As mentioned earlier, the application can collect location data to help monitor the spread of diseases and pests to alert farmers about the prevalence of pests in nearby areas. AgroDetect is built using Python, HTML/CSS/JavaScript, and MongoDB, and it relies on Flask, Flask-Cors, NumPy, Matplotlib, Node.js, npm, python-Levenshtein, and Mongoose as dependencies. This tool can be a valuable resource for farmers seeking more efficient and accurate methods of disease and pest identification and management.
Challenges we ran into
As a part of our web application, we were planning to use USDA Library API and recommend the top 5 relevant articles based on the disease and crop type that the farmer has. However, as we test the API after implementation, the server for the USDA library went down. We had to look for a new API but it was hard to find an API that has agricultural data. Therefore, we had to come up with a new feature to add to our web application.
In addition, we had many different components, for example, react frontend, flask backend, tensor flow training, and mongoDB database. Since it is our first time developing a web application, we were not sure about how to integrate all those parts.
For the map displayed on the website, we were trying to plot a dot or create a heat map using the location data saved in our database. However, we did not have enough time to implement the plotting feature. Instead, we display the number of reports of the crop disease in certain radius. If we had more time, we would want to allow user to input the radius.
Accomplishments that we're proud of
There were several things we were able to accomplish during this hackathon which we were quite iffy about at the beginning. First and foremost, we were able to build a user friendly and visually appealing frontend in react that communicates with our backend to process the user input. We were also able to implement a fully functioning database capable of tracking many pest and disease reports coming from virtually anywhere. Lastly, the accomplishment we were most proud of was our machine learning models which ended up having had high accuracy rates (ml model for corn = 0.9543; ml model for soybean = 0.7587)
What we learned
One of the biggest things we learned was how to effectively structure a project. Every now and then we had to take a step back from our code and think about how each component was going to interact with another. This made it so that we didn't have to continue writing and deleting code that didn't work well in the scope of the overall program.
We also learned a ton of new technologies to make this possible. Although we had a working understanding of technologies such as react, mongodb, and tensorflow, making it all work together into a functional web application meant that we had to go deeper and find ways to make those technologies allow us to achieve our desired result.
What's next for AgroDetect
The biggest improvement we would like to make with AgroDetect is improve the accuracy of our models and expand to more pest and disease that the application can identify. This comes with being able to obtain and process large datasets containing the needed datapoints.
We could also improve the web application to have a more user friendly design and posses more features, allowing it to be easier for users to efficiently get crop diagnosis and disease/pest information. Furthermore, we could develop a mobile version of AgroDetect, which will allow users to take photos in the field, which will likely increase the number of reports we can base our application on due the greater ease of use.
Overall, we would love to see this web application deployed and used on a large scale to assist farmers and play a role in securing our food systems for fur future generations.
Log in or sign up for Devpost to join the conversation.