Invasive species can thrive and take over our natural ecosystem, taking resources from native species and potentially harming them. To combat this, we created an app that allows users to find and identify invasive species they encounter to take action in restoring the natural ecosystem.
What it does
The app can be accessed through a website, and users can upload photos of plant or animal species they encounter in the wild. A machine learning algorithm uses a database of images for the top invasive species in Ontario to identify whether or not the species in the image is an invasive species.
How I built it
A web extension was used to scrape thousands of images of different invasive species from the web. Using TensorFlow, we wrote a machine learning algorithm to identify the species according to our database. The website, built using Flask, allows users to upload their pictures and directs them to different pages depending on the species detected.
Challenges I ran into
As most of us had never used TensorFlow or Flask previously, there was a learning curve in familiarizing ourselves with the languages and frameworks. As well, the machine-learning aspect of this project was difficult as there were errors when trying to process the images. Different approaches had to be used to optimize the accuracy of the predictions (from 20% to ~70%).
Accomplishments that I'm proud of
We were able to create a fully-functioning app to classify invasive species and potentially make a different in the ecosystem. We also dramatically increased the accuracy of our detection app using optimization methods.
What I learned
Machine learning is hard and complex, but with enough practice and knowledge, is a very powerful tool.
What's next for InvFind
Potentially expanding our services to classifying more invasive species, as well as other species (not just invasive).