WormML โ€” YOLOv11 Worm Counting Weights

Pretrained YOLOv11-Large checkpoints for counting C. elegans worms across four imaging systems. Each model was trained on images from a specific camera and should be used with its matching preprocessing pipeline.

Models

File Camera Preprocessing
og_best.pt OG (original lab microscope) Hough circle crop โ†’ resize 1344ร—1344
tau_best.pt Tau imaging system Histogram equalisation + circle crop
lb_best.pt LoopBio automated platform Circle crop + colour inversion + augmentation
uva_best.pt UVA external dataset No preprocessing

Usage

Download all weights with one command using the WormML repository:

git clone https://github.com/tommyli88/wormml.git
cd wormml
pip install -r requirements.txt
python scripts/download_weights.py

Or download a single camera:

python scripts/download_weights.py --camera og

Run inference on a preprocessed image:

from ultralytics import YOLO

model = YOLO("weights/og_best.pt")
results = model("plate_image.jpg", conf=0.35, iou=0.30)
print(f"Worm count: {len(results[0].boxes)}")

Recommended Thresholds

These confidence and IoU thresholds were tuned on each camera's validation set to minimise mean absolute error:

Camera Confidence IoU
OG 0.35 0.30
Tau 0.36 0.25
LB 0.265 0.30
UVA 0.32 0.30

Training

All models use YOLOv11-Large (yolo11l.pt) trained for 100 epochs. Camera-specific hyperparameters (warmup epochs, box loss weight, learning rate, augmentation) are documented in the configs folder of the main repository.

Citation

@misc{wormml2024,
  title  = {WormML: A Cross-Camera Pipeline for C. elegans Worm Counting},
  year   = {2026},
  note   = {\url{https://github.com/tommyli88/wormml}}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support