Tracking of the heads and tails of freely moving zebrafish
Tracking of the tails of head-embedded larvae
Automatic detection of rollovers using Deep Learning and TensorFlow
Custom-made analysis of thousands of bouts
Categorization of bouts of movements into behaviors
Graphical user interface to explore tracking results

ZebraZoom: Tracking of freely swimming zebrafish larvae.

Escape Responses tracking
Tracking of the heads and tails of larvae (only the tip of the tail is shown for clarity). The tracking is only displayed when ZebraZoom detects a bout, which allows to check not only the quality of the tracking but also the quality of bouts detection. The tip of the tail becomes red when the tail angle reaches a local maximum or minimum, which allows to check the quality of bends detection.
Tracking Multiple fish without collision.

ZebraZoom works for a wide range of different experimental conditions and for both larvae and adult fish

Tracking performed for 12 rectangular wells.
Tracking performed for 16 circular wells.

Tracking performed for 4 circular wells.

Tail tracking of head-embedded larvae

We’ve combined ZebraZoom with DeepLabCut to track head-embedded (in agar) larvae with poor light conditions

Accurate tail tracking despite very poor light conditions.

Automatic detection of rollovers using Deep Learning and TensorFlow

Automatic detection of rollover using deep learning.
A red circle appears when the fish is rolling over.

Custom-made analysis of thousands of bouts

A. Distribution of global parameters of movements for 5–7 dpf WT larvae
B. Effect of the glycinergic receptor antagonist strychnine on the global parameters of movements
C. Effect of the atoh7 mutation on the global parameters characterizing movements

We’ve used supervised and unsupervised machine learning to automatically classify bouts into distinct behavior

Clusters are detected automatically with unsupervised machine learning. Cluster 1: Slow Forward Swims. Cluster 2: Small Amplitude Turns. Cluster 3: Large Amplitude Turns. Cluster 4: Burst Swims

Characterization of several “classic” behaviors
A: Slow forward swim; B: Routine turn; C: Escape response
i: Superimposed images taken every 17 ms; ii: tail-bending angle over time; iii: tail curvature

Graphical User Interface to explore and validate tracking results:


After publishing the first version of ZebraZoom, we’ve kept improving our software to make it faster, more reliable, adaptable to wide range of experimental conditions, and able to track both larvae and adult fish. We’ve also built a graphical interface that enables to both explore the results and efficiently check that the tracking and data extraction worked appropriately.

We’ve combined ZebraZoom with DeepLabCut to track the tail of head-embedded larvae in poor lighting conditions. We’ve also used deep learning and TensorFlow to automatically detect rollovers.

We have extensive experience analyzing and making sense of the thousands of bouts extracted by our software and we know how to use machine learning to classify bouts into distinct behaviors.

We’ve used C++, Python, Matlab, OpenCv, TensorFlow, DeepLabCut, scikit-learn and more. We are constantly learning new computer vision, data science, machine learning, and software engineering skills. We combine those skills with our biology and neuroscience knowledge to always push further our ability to efficiently analyze animal behavior.

Video Credits: Claire Wyart, Feng Quan, Mingyue Wu, Laura Desban, Martin Carbó-Tano

search previous next tag category expand menu location phone mail time cart zoom edit close