Movement studies provide essential ecological insights and aid in conservation efforts. Fine-scale movement data helps identify rare behaviors, usage of habitats, and importance of protected areas. Automated and remote techniques (such as Artificial Intelligence) enable the collection of fine-scale movement data from underwater imagery. However, translating raw movement data into ecologically relevant metrics remains a challenge.
In this repository, you will find a framework to classify fish behaviour and show how it can be used to predict behavioural events from large datasets.
Behavioural events can be defined in several ways, but in this repo, an event is a behaviour that occurs in a short period and is measured when an animal is detected and tracked in the cameras's FOV.
90 hours of underwater videos were collected in piped tidal weirs in southeast Queensland, Australia. Underwater cameras recorded all fish swimming across the weirs from 7AM to 4PM. Videos were recorded across three sites, over three sampling dates.
FishID, was used to automatically detect and track fish.
To access our raw tracking datasets please see
- Moses perch
- Southern herring
- Yellowfin bream These datasets have been curated, wrangled and post-processed and not represent the raw tracking outputs from FishID.
Please see here to understand the structure of the datasets
The behavioural framework was built around structural equation models (SEM) because they can capture behavioural events that cannot be directly observed from observed data. Normally, underwater fish tracking data is noisy, complex and non-continous.
This framework was composed of three data types
- sampling covariates
- environmental covariates
- behavioural indicators
Name | Type | Description |
---|---|---|
Camera distance to pipe entrance | Sampling covariate | Numeric variable indicating proximity of the camera to the weir outlet |
Tides and Time | Environmental covariates | Hourly tide values and time of detection across videos. See Time decomposition |
Spatial angle | Behavioural indicators | Numeric variable that indicates the movement angles (degrees) between detection X and detection Y at any given video frames |
Spatial speed | Behavioural indicators | Numeric variable that indicates the movement speed in pixels per milliseconds of an individual between detection X and detection Y at any given video frames |
Detection depth | Behavioural indicators | Detection height (y coordinate) as an indicator of depth of the detection. Lower detection height means a detection near the surface whereas a higher detection height means a detection closer to the seafloor |
Sinuosity | Behavioural indicators | Numerical index that measures the degrees of undulations in a track. Higher sinuosity values mean that there are more undulations in an individual track. |
To read more about the theory of SEMs please see latent variable modelling.
In our cross-validation routine we randomly selected 50 tracks or blocks as an evaluation dataset. For every block we created a 30 min buffer. We predicted against each track or block in the evaluation dataset. For details on how to generate the buffered evaluation data see cross_validation