Skip to content

gordonzhang1/WhaleBeing

 
 

Repository files navigation


WhaleBeing

Full-Stack dynamic AI Prediction model for whale-ship collisions
View Demo »

Visit Website

About The Project

Logo

Up to 20,000 whales per year are killed by ships globally, posing a significant threat to already vulnerable whale populations. The issue of ship strikes is not only an tragedy for marine ecosystems but also an avoidable one: in many cases, reducing ship speeds and rerouting to avoid high-risk areas comes at little to no cost to ship operators.

To change this tragedy, we built WhaleBeing.

What it does

WhaleBeing uses a dynamic prediction model to display how ship routes interact with blue whale habitats using a web app.

Users enter a ship ID to see their ship’s route on a map, along with a heatmap showing where whales are likely to be during the ship’s travel time. The app instantly shows a percentage risk of hitting a whale, highlights high-risk parts of the route, and points out areas ships should avoid.

How we built it

The core of our maching learning model is based off a 2019 research paper published in _ Diversity and Distributions (https://onlinelibrary.wiley.com/doi/full/10.1111/ddi.12940) _, and predicts daily, year-round habitat suitability for blue whales off the coast of California. We implemented a method using a Boosted Regression Tree and candidate Generalized Additive Mixed Models to use satellite data of tracked blue whales to produce a whale distribution prediction.

WhaleBeing enables users to search and visualize ship routes overlaid on our dynamic prediction heatmaps using the SeaRoutes API. Once a ship route is found, WhaleBeing calculates the likelihood of that route intersecting with areas of high blue whale activity by integrating the distribution weights along the nodes of the ship route.

This calculation is pivotal in assessing the risk of ship strikes and supports proactive decision-making to mitigate such risks, ultimately aiding in the protection of this endangered species.

Built With

  • React
  • Python
  • Flask
  • NumPy
  • Pandas
  • TailwindCSS

Deployed With

  • Azure
  • Vercel

(back to top)

Features

  • AI-Powered Whale Distribution Prediction: Built a machine learning model in Python with NumPy and Pandas to predict whale distribution patterns using open-source satellite data, providing whale presence forecasts for any day of the year.
  • Real-Time Whale Heatmap: Integrated the machine learning model with the Mapbox API to deliver an interactive, real-time predictive whale heatmap, enhancing maritime navigation and minimizing the risk of ship strikes.
  • Ship Strike Risk Analysis: Developed a Python-based risk-analysis algorithm in Flask to assess the probability of ship strikes with whales.
  • Seamless Integration with Ship Route Search: Incorporated the Searoutes API to enable dynamic ship route searches, calculating risk percentages based on predicted whale presence.
And more to come!

(back to top)

Getting Started

Want to try WhaleBeing out? Go to www.whalebeing.ca and type in 9455911 for the ship IMO number, and 2025/01/09 - 2025/01/11 for the dates.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Gordon Zhang - g234zhan@uwaterloo.ca

Project Link: https://github.com/gordonzhang1/WhaleBeing

(back to top)

About

🏆 DeltaHacks 1st Place Overall - Full-stack marine navigation website to prevent whale-ship collisions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 71.2%
  • Python 19.6%
  • CSS 7.0%
  • HTML 2.2%