After watching the above video, check out our website here: http://fishotron.fyquah.me/
After reading the problem statement and chatting to Harry yesterday, who has worked in Fisheries for several years, we realised that there was a pressing need for a faster way to measure and record information about fish. The current procedure involves manually measuring several properties, recording the data offline, and then manually transcribing it into a spreadsheet for data analysis. We knew there had to be a better way.
How it works
By using state of the art computer vision technology, we are able to measure the length of a fish placed on our special board by using an overhead camera. Using this technique, and by averaging multiple readings and rejecting anomalies, we can obtain an average accuracy of +-5mm, which much better than the vast majority of manual readings, and significantly faster [approximately 1 second measurement time per fish].
We automatically upload this information to a public website which we have developed (visible here: http://fishotron.fyquah.me/ ) , where people can see information about the fish, as well as edit it. This enables simple, real-time auditing from interested organisations, as well as an easy way to increase engagement with the public, as they can discover just where their fish came from, using uploaded GPS data.
Challenges and solutions
Computer vision is difficult! We initally tried to create tracking points (known as 'fiducial markers') by hand, and then identify them. However this was extremely challenging, and did not allow us to differentiate separate tracking points. By switching to using an external library, integrated into our code, we can very precisely track the location, rotation, ID and skew of multiple points in real time - allowing our software to work, even when the camera is not precisely positioned over the paper.
Accomplishments that we are proud of
Learning to use OpenCV was great fun - it's a beautifully designed library, with a host of awesome features. We also levelled up our C++ know-how, and also our engineering-using-only-contents-of-office-stationary-cabinet skills.
What we learned
Talk to people who know what they're doing - who know what the process is, and who will be able to tell you if your idea is useful in the real world!