
Ultralytics YOLO in Production
Take a trained Ultralytics YOLO model into production: pick a runtime, export and verify it, optimize for your hardware, track objects, build counting pipelines, run many streams, and catch drift before users do.
By Ultralytics Academy
Ship a YOLO26 model on the right runtime with verified parity, turn its detections into tracked IDs and counts across many streams, and instrument it so latency, accuracy, and drift problems page you before users notice.
Choose a runtime and
format=from the device, the latency budget, and the fleet, then confirm it with repeated benchmarks.Export to ONNX and prove parity with PyTorch, including the static-shape letterbox trap.
Decide between FP32, FP16, and INT8 on TensorRT and OpenVINO, with calibration data and an accuracy gate.
Track objects with ByteTrack, BoT-SORT, or TrackTrack and tune tracker thresholds to your detector's confidences.
Build line counters, zone occupancy, heatmaps, and calibrated speed estimates on top of tracking.
Run several camera streams through one model with batched inference, bounded queues, and measured frame drops.
Log per-frame metrics, detect confidence drift with a KS test, and pull the cheapest lever for latency and cost.
A runtime decision for your device, backed by repeated benchmark numbers against a millisecond budget.
An ONNX export with a recorded parity check (boxes, confidences, and mAP) against the PyTorch model.
An optimized export (OpenVINO or TensorRT) that passed an mAP and latency gate on the target hardware.
A counting pipeline with a counting line, a zone count, a heatmap, and a calibrated speed estimate on real video.
A multi-stream worker that batches frames from several cameras and reports processed and dropped frames per stream.
A monitoring loop: per-frame JSON metrics, a KS drift test on confidences, and a weekly holdout validation.
A trained model, such as
runs/detect/pills_v1/weights/best.ptfrom Train your first YOLO model, or the pretrainedyolo26n.ptcheckpoint to follow along.Python 3.10+ with
pip install "ultralytics[solutions]" onnxruntime scipy(solutions adds shapely and lap).Comfort with Python, the command line, and video sources (files, webcams, RTSP).
Recommended: complete Train your first YOLO model and Building High-Performance YOLO Datasets first.
Course content
4 modules · 9 lessonsModule 1
Module 2
Module 3
Track Objects with ByteTrack, BoT-SORT, and TrackTrack
Give every object a stable ID across frames, pick a tracker, and tune its thresholds to your detector.
Counting, Heatmaps, and Speed Estimation
Build line counters, zone occupancy, heatmaps, and speed estimates on top of tracking, and calibrate them honestly.
Module 4
Multi-Stream Inference
Run several cameras through one model with batched inference, bounded queues, and measured frame drops.
Observability and Drift
Log the metrics that catch silent accuracy loss, test confidence distributions for drift, and alert only on actionable signals.
Cost and Latency Tuning
Profile the whole pipeline, pull the levers that actually move latency and cost in order, and stop at a budget.