Inspiration
Fish are sometimes hard to identify, especially for new anglers. People also really like to keep track of their records, and sometimes there aren't any scales nearby, but you can always guess a rough length. Certain fish are also invasive or endangered. It's important for anglers to be aware of their catches in order to fish sustainably.
What it does
Our convolutional neural takes live capture of a Canadian freshwater fish and classifies what it is into 9 categories. The length can be entered and used to estimate mass based on the species detected.
How we built it
We used TensorFlow for the fish classification, specifically CNN. The data was gathered from scraping google images, where we used image hashing to remove duplicates and manually sorted as well. The weight prediction uses sklearn with polynomial regression for each species, the data of which was gathered from an ARCGIS dataset of common North American fish. The app is made using flutter.
Challenges we ran into
We were unable to sync up the front end with the back end, since we attempted to run the AI models locally on the device instead of a server and ran into complications doing so. Google images are awful. Data is a pain to gather on your own, especially in such a short amount of time.
Accomplishments that we're proud of
We managed to make something that works... most of the time. It's about 80% accurate.
What we learned
Data is everything. Bad data will lead to bad results which will lead to a faulty project. People should keep the front end in mind in the process of developing the back end.
What's next for FindMyFish
A functional app with more fish classes and better-gathered data
Built With
- flutter
- scikit-learn
- tensorflow
Log in or sign up for Devpost to join the conversation.