The last few months I have been working hard on the sophisticated new experimental set-ups in the lab with which we will be able to get high spatial and temporal resolution tracking of large schools of fish, in tanks that are up to 3x3m in size!
To get highly accurate spatial data of the fish we need to correct for the distortion of the camera lens, which almost all lenses have to some extent. I just finished the script (in Python) that enables us to undistort the image from a camera using functions in opencv based on a video of a moving checkerboard.
Me calibrating a camera with a checkerboard pattern, with colours showing the output of my python script, with a school of 1000 moderlieschen in the background :)
It works pretty well already, even with non-optimal videos. Next step will be to stitch the videos of multiple linked camera’s.
My research is currently centred around understanding the role of consistent behavioural differences in the collective movements and functioning of animal groups. In particular, I assay large numbers of stickleback fish on various personality traits and expose them in groups to different ecological scenario’s. I have written custom tracking software in Python using the OpenCV library to be able to accurately track the position of individual fish in the freely-moving schools.
Today I wanted to share a simple visual that highlights the detailed individual-based tracking of a small fish school over time. Each fish is represented by a different colour, with the arrow showing its vectorized movement, with larger arrows indicating a higher speed. The video is centred around the vector of the group as a whole to better visualize the structure of the group over time. Lines indicate the smallest polygon encompassing all individuals and Individual Centre Distances. The moving axes indicate the relative speed of the group in a large circular arena.
In this short section of a 30-min long experimental trial it is clear that the group speed, cohesion, and structure fluctuate over time. At the same time, individuals also maintain to some extent their positions relative to the group centre, such as the green and yellow individual clearly having a stronger pulling power on the movements of the group as a whole.
I used RaspberryPi computers to film the fish, custom Python tracking scripts to acquire individual X,Y coordinates for each individual in the group, R to process the tracking data and acquire movement characteristics, and R with ffmpeg to create the visual.
I have recently started a youtube channel (here) to showcase my research projects and interests. As a scientist I believe it is important (and fun!) to engage with the public and make your work understandable to scientists and non-scientists alike. Not only because most science is ultimately payed by the tax payer, but also because one of the main goals of science is to learn more about our world and share this knowledge.
Next to publishing papers it is important to make these papers understandable so that this new knowledge can be appreciated and potentially be used by the general public. The aim with a new youtube channel is to show videos of different aspects of my experiments and projects but also of interesting aspects of social life of both human and non-human animals that reflect my research interests.
Today I would like to share a short video from a recent experiment that shows the successful tracking of five three-spined stickleback fish to investigate the role of animal personality on leadership and group movements.
By tracking the fish we can accurately (mm scale) determine each fish average position in the tank and calculate individual characteristics as well as social parameters for the group, such as group cohesion and leadership. In this particular situation fish 2 was the leader of the group.