Underwater Fish Detection, Tracking, and Classification

Underwater Fish Detection, Tracking, and Classification

A robust computer vision pipeline for underwater fish analysis. It uses a YOLOv8 model for stable, real-time tracking and classification. Features multiple processing modes, including buffered real-time analysis and high-accuracy offline filtering, making it a flexible tool for marine biologists and researchers.

Computer VisionObject DetectionTracking
PythonYOLOv8

This project implements a complete computer vision pipeline to process underwater video footage. The system is designed to perform three core tasks:

  1. Detection: Identify and locate fish within each frame of a video.
  2. Tracking: Assign a unique, persistent ID to each detected fish and follow it across multiple frames.
  3. Classification: Determine the specific species of each detected fish. The pipeline is built to be flexible, offering multiple processing modes ranging from fast, real-time analysis for live camera feeds to more computationally intensive, high-accuracy offline processing for pre-recorded videos.
View on GitHub

Collaborators

Valeria De Stasio, Christian Faccio