Skip to content

Code and repository for "Computer vision reveals fish behaviour through structural equation modelling of movement patterns"

License

Notifications You must be signed in to change notification settings

slopezmarcano/sem-for-automated-animal-behaviour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A framework to understand animal behaviour when using Artificial Intelligence data

Powered by Status Supported by

Table of Contents

  1. Objectives
  2. Dataset
  3. Automated Processing of Videos
  4. Behavioural Framework
  5. Cross-Validation Routine

📍Objectives

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

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.

📍Dataset

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.

📍Automated processing of videos

FishID, was used to automatically detect and track fish.

To access our raw tracking datasets please see

Please see here to understand the structure of the datasets

📍Behavioural framework

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.

📍Cross-validation routine

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

About

Code and repository for "Computer vision reveals fish behaviour through structural equation modelling of movement patterns"

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages