In our environmental science class, we learned about the importance sharks have to local ecosystems. They can be the top predator, keeping smaller fish populations in check. A significant increase or decrease in shark populations will have cascading effects on the ecosystem. Thus, monitoring local shark populations can give us a good measure on the health of a marine ecosystem. However, this requires almost constant surveillance, and humans are bound to make mistakes in spotting shark. To solve this, we developed SharkML, a comprehensive shark monitoring system automated via machine learning.

What it does

SharkML monitors the surroundings and predicts the probability that there is a shark. It can also give background alerts if there is a Shark in the area.

How we built it

Our web app is powered by Tensorflow.js which we use to analyze the background footage, and is written in HTML, CSS, and Javascript.

Challenges we ran into

  1. Finding a dataset for this was tough -- we ended up finding a few datasets online and merging them to create our two classes needed to train the model.
  2. None of us had prior experience with Tensorflow.js, and it took a while to learn.

Accomplishments that we're proud of

  1. Building a usable product during this timeframe
  2. Adapting due to us not having hardware, and just using a webcam
  3. Learning tensorflow.js in the timeframe we had

What we learned

Using Tensorflow.js in a web app (none of us have used TF.js), and it took a lot of time to implement. Overcoming issues of a dataset not existing for the problem we’re trying to solve.

What's next for SharkML

We hope that our solution can be implemented by local governments in areas so they can monitor the health of their marine ecosystems. After showing our proof of concept of this working with a webcam, we hope to move on to running it on a Raspberry Pi and using hardware.

Built With

Share this project: