{ "model": "yolov8s.pt", "framework": "ultralytics-yolov8", "epochs_configured": 50, "epochs_run": 49, "best_epoch": 39, "early_stopping_patience": 10, "imgsz": 640, "batch": 16, "seed": 42, "split": "validation", "note": "Metrics are from the best epoch on the validation split during training (Ultralytics logs val metrics per epoch). These are NOT directly comparable to a clean held-out test-split evaluation.", "metrics": { "val_map50": 0.6854, "val_map50_95": 0.2780, "val_precision": 0.6722, "val_recall": 0.6860 } }