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

Share this project:

Updates