--- license: mit tags: - object-detection - yolo - biology - computer-vision - c-elegans - worm-counting base_model: ultralytics/assets --- # 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](https://github.com/tommyli88/wormml): ```bash 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: ```bash python scripts/download_weights.py --camera og ``` Run inference on a preprocessed image: ```python 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](https://github.com/tommyli88/wormml/tree/main/configs) folder of the main repository. ## Citation ```bibtex @misc{wormml2024, title = {WormML: A Cross-Camera Pipeline for C. elegans Worm Counting}, year = {2026}, note = {\url{https://github.com/tommyli88/wormml}} } ```