This repo is a collection of models, applications, and configurations used to create an automated coral spawning detection and alerting system in collaboration with the Florida Fish and Wildlife Conservation Commission and The Florida Aquarium.
The implemented system is designed to ingest video data streams from networked cameras, apply a spawning detection model to the stream to identify when coral are spawning, provide alerts to registered users if a spawning event is detected, and gather statistics about all spawning events.
The system was built on open source software and all components of the system are pubicaly available to assist in reuse by other entities.
The video ingestion system includes components to save entire video streams to storage, persist a subset of frames to storage, and make API requests to other services. A minimal configuration for ingestion of networked cameras and examples are available in the FWC Camera Ingest repo.
The spawning detection model is an off the shelf ResNet34 implemented in fastai and trained on spawning coral video samples provided to us by The Florida Aquarium. The model is packaged as a BentoML service and is available as a Docker image.
The logs and Prometheus metrics from the detection model are parsed for spawning events and calculations are made about the duration of such events. The results from these calculations are ingested into Graphana which is configured to to send alerts to an email list when a spawning event occurs.