Fish tracking for population dynamics
Pilot project to develop an underwater camera and net system to track fish on the surface of the Baltic Sea and analyze their population dynamics.
Problem Statement
Get an estimate of fish counts by common-names (proxy for family/species) and regions in the Baltic Sea, and analyze how they change over time. This is important for understanding population dynamics and ecosystem health.
Method Overview
Detectors like YOLO-X and Faster R-CNN were trained on the annotated dataset to detect fish in each video frame. Then, multiple tracking algorithms (including, SORT, Deep SORT, OC-SORT and ByteTrack) were applied to associate detections across frames and generate trajectories for each fish. Finally, we analyzed the trajectories to estimate counts and population dynamics over time and across regions.
Visual Results
Result-1
Quantitative Results - Object Detection
| Method | AP50 |
|---|---|
| FasterRCNN-R50 | 68.4 |
| YoloX | 71.8 |
Quantitative Results - Multi-Object Tracking
| Method | MOTA |
|---|---|
| SORT | 24.9 |
| ByteTrack | 24.9 |
| DeepSORT-R50 | -1.08 |
Challenges
- Bounding box area to actual object(fish) area ratio very high - leads to false positives.
- Fish movement patterns are complex and unpredictable. Motion models like Kalman filter may not capture the dynamics accurately.
- Vision based Re-Identification of fish is challenging due to similar appearance and occlusions leading to failure of algorithms like DeepSORT.