github.com/alexander-hamme/Tadpole-Tracker ↗
Undergraduate senior thesis research project that tracks and records movement data of many Xenopus laevis tadpoles at once, in real time.
Open this visualization on its own page →
Contributors
2
Lines of Code
594
From
2018-06-23
To
2019-02-16
About alexander-hamme/Tadpole-Tracker
Tadpole-Tracker is a real-time computer vision system designed to automatically detect and track multiple Xenopus laevis tadpoles in video footage for neurobiology research. Built in Java using the DeepLearning4J library, the system combines two core components: a YOLOv2-based convolutional neural network for tadpole detection in each frame, and a tracking layer that uses Linear Kalman filters for trajectory estimation paired with the Hungarian algorithm for maintaining unique identities across frames as animals move and potentially collide.
The project achieves real-time performance of approximately 30 frames per second on a GTX 1070 GPU, which is substantially faster than the author's earlier Python implementation that reached only 19 fps on the same hardware. The system was developed as an undergraduate senior thesis at Bard College in collaboration with the neuroscience department and includes a custom-trained tadpole detection model built from the author's own dataset. Notable technical features include handling of complex multi-object tracking scenarios where collisions and identity confusion between tadpoles must be resolved algorithmically.
The author has documented the project extensively, including a full senior thesis paper, and notes that while a Python translation exists for broader accessibility to the research community, the Java version significantly outperforms it. The codebase is organized around a SinglePlateTracker class that orchestrates the detection and tracking pipeline, making it suitable for researchers studying tadpole behavior and movement patterns.