๐ Summary
Ultralytics 8.4.151 improves export correctness, TensorRT QAT performance, tracking behavior, model diagnostics, and documentationโwhile introducing no new runtime arguments. ๐
๐ Key Changes
-
Preserved
conf=0.0in NMS exports ๐ฏ- The most important fix ensures an explicit zero confidence threshold is written into exported ONNX and other NMS-enabled graphs.
- The default confidence of
0.25is now applied only whenconfis omitted or set toNone. - Added an ONNX regression test that verifies the serialized threshold.
-
Faster QAT TensorRT engines โก
- Quantization-aware training exports now run unquantized TensorRT layers in FP16 instead of FP32.
- Applies to TensorRT 10 and TensorRT 11 while preserving INT8 quantization ranges.
- Reported benchmarks show QAT INT8 performance improving substantially, with no changes to standard post-training INT8 or FP16 exports.
-
Explicit zero confidence preserved in tracking ๐ฅ
model.track(conf=0.0)now keeps the requested value instead of replacing it with the default0.1.- Omitted confidence values still default to
0.1, maintaining existing tracking behavior.
-
Warnings for blank class labels โ ๏ธ
AutoBackendnow warns when model class names are empty or contain only whitespace.- The original names remain unchanged, and repeated access does not produce repeated warnings.
-
Expanded tracking and validation documentation ๐
- Solution guides now document all forwarded tracking arguments, including
imgsz,max_det, andquantize. - Validation documentation now explains the
fractionoption for selecting subsets of training, validation, or test data. - Corrected the documented YOLO26n-depth parameter count.
- Solution guides now document all forwarded tracking arguments, including
-
Improved PyTorch hook guidance ๐งฉ
- Added a runnable example showing how to register forward hooks after the training model is initialized.
- Clarifies behavior with distributed training, EMA checkpoints, validation, prediction, and tracking.
-
Updated YOLO27 preview documentation ๐ญ
- Reorganized the preview page, clarified NMS and NMS-free detection heads, removed unsupported performance claims, and linked the preview from relevant YOLO26, task, and mode pages.
- YOLO27 remains unreleased; YOLO26 continues to be the recommended stable model family.
-
Documentation rendering and layout fixes ๐ผ๏ธ
- Corrected isolated-object images that previously displayed raw Markdown syntax.
- Shortened an Intel DL Streamer heading to prevent table-of-contents overflow.
๐ฏ Purpose & Impact
- More predictable exports: Users can intentionally export with
conf=0.0without the value being silently changed to0.25. โ - Better deployment speed: QAT TensorRT engines should make more effective use of FP16 hardware acceleration, particularly on GPUs where FP32 fallback was slowing inference.
- More reliable tracking controls: Confidence thresholds now behave consistently when users explicitly provide zero or other numeric values.
- Easier troubleshooting: Warnings for blank class names help identify why detections may appear without visible labels.
- Clearer documentation: Expanded argument tables, hook examples, validation guidance, and YOLO27 status notes make the platform easier to use and reduce ambiguity for both new and experienced developers. ๐
What's Changed
- Clarify YOLO27 preview documentation and lead with the page heading by @glenn-jocher in #26162
- Render the isolated-object figures as HTML and shorten the DL Streamer heading by @raimbekovm in #26168
- Document the forwarded solution track args, val fraction and the fused depth params by @raimbekovm in #26166
- Link the YOLO27 preview from the task, mode and YOLO26 pages by @raimbekovm in #26165
- Warn on empty class names when initializing AutoBackend by @cainiao33 in #26164
- Preserve explicit zero confidence in track mode by @aswanth-07 in #26161
- Document forward hooks across training model rebuilds by @aswanth-07 in #26157
- Run the float head of QAT TensorRT engines in FP16 by @Y-T-G in #26167
- Preserve conf=0.0 in nms=True exports instead of baking 0.25 into the graph by @cainiao33 in #26163
Full Changelog: v8.4.150...v8.4.151