Set up analysis
Choose footage and sampling settings.
Works best with a fixed camera. Draw a crop around the tank floor. Fewer than five blobs may mean fish overlap; extra blobs may come from tank edges or reflections.
Model settings Roboflow InferenceJS
Using zebrafish_in_aquarium/9, a trained YOLOv8n model for zebrafish. Enter a Roboflow workspace publishable key, never a private API key.
Frame preview
Colored groups and nearby links.
Explore the groups
Adjust the distance to see when groups join. The chart shows the selected frame.
Each detection center is a candidate fish position. Centers within the link distance form connected groups; a chain of links can join fish farther apart. Single fish are shown separately. The random comparison places the same number of points uniformly inside the selected tank crop 399 times and compares mean nearest-neighbor distance. A low percentile means tighter spacing than those random placements in that frame; adjacent video frames are not independent tests. Inch estimates use the paper-grid calibration and are approximate. When the detected count is low, the detector checks close to the crop edge, then may split a large joined region. These estimates are marked in the raw export. Reflections can create extras, and fish are not tracked between frames. Read the full method.
Review sampled frames
Click the center of each visible fish inside the crop. Click one of your numbered marks to remove it. Review labels belong to each frame; they do not track individual fish across time.