Inspiration
While going for walks, we tend to notice that there are tons of unique and neat plants all around us. We wish to save the plant as a memory but the only way of doing so is by taking a picture of it. However, a picture does not give us any information about the plant except for its physical characteristics. We took inspiration from previously played apps such as pokemon go which feature a way to capture pokemon while you're walking around pretty much anywhere. We decided that a great way for people to not forget these cool looking plants was to incorporate both of these ideas into one.
What it does
PlantPedia allows nature lovers, plant enthusiasts and biologists to learn more about the beautiful flora that surrounds them by providing general information about plants. Through a simple snapshot of the plant, PlantPedia is able to provide the user with all the info they need regarding it. In addition, if one wishes to add the plant to their collection, PlantPedia informs the user with enough information so the user can cater to the plants’ needs.
How we built it
PlantPedia was made with Python using OpenCv, json, NumPy, Kivy and TensorFlow libraries. We programmed an app that uses computer vision to link the picture of a plant to a dataset found on Kaggle that contains essential information about the plant.
Challenges we ran into
In terms of the tensorflow model, we could only get data for only 102 plant species which means that our app is compatible with very few plants all around the world. Since we only used Python for building the app, we had to learn Kivy because our team only had prior experience working in JavaScript. This inexperience caused us to have significant troubles with getting the camera to work.
Finally, we had to write out all of the plant descriptions in the csv file because it was easier than using a web scraper model.
Accomplishments that we're proud of
We are proud of the fact that we were able to create a fully functional app within the time frame. We had many doubts in our minds regarding whether or not we would be able to finish the entire project especially because of the need to learn a new technology on such short notice. However, our team was able to adapt and swiftly learn the Kivy framework and implement it onto PlantPedia.
What we learned
We learned how to integrate TensorFlow on a small device and how to program a mobile GUI with Kivy. In terms of specific learning experiences with the GUI, we learned how to take a picture with a phone from our app, how to navigate between multiple pages, and functionality with the buttons.
What's next for PlantPedia
In the future, we hope to deploy our project for the world to use. We plan on making the UI more user-friendly and also add additional features such as a way for PlantPedia users to communicate with each other and share their discoveries/observations. We would also like to use larger datasets and further ameliorate the model so that it is accurately able to recognize and provide information about all different types of plants in the world.
Built With
- kivy
- machine-learning
- python
- tensor-flow
Log in or sign up for Devpost to join the conversation.