Ultralytics YOLO
Description
๐ Summary
๐ v8.4.116 improves installation reliability, expands YOLOE and Platform workflows, strengthens tracking and export support, and refreshes YOLO26 documentation.
๐ Key Changes
๐ง OpenCV compatibility fix โ current PR #25702 by @Y-T-G
- Raises the minimum
opencv-pythonversion from4.6.0to4.7.0. - Keeps the exclusion for
4.13.0.90, which is affected by a FIPS self-test crash. - Removes an outdated ONNX DNN backend requirement check.
- This aligns the dependency with
cv2.imdecodemulti, which Ultralytics uses internally.
- Raises the minimum
๐ง Reusable YOLOE prompt embeddings
- Adds
save_prompt_embeddings()andload_prompt_embeddings()for storing text or visual prompt configurations in NPZ files. - Profiles are validated against the source YOLOE model and can be reused before exporting to formats such as ONNX, OpenVINO, TensorRT, CoreML, LiteRT, and RKNN.
- Exported models remain standard single-input models and do not require the NPZ file at runtime.
- Adds
๐ Improved model guidance
- Reworks the model index into a task-and-mode comparison table.
- Positions YOLO26 as the recommended model for new projects, with YOLO11 as a mature production alternative.
- Clarifies support for YOLO12, OBB, SAM models, YOLOE, YOLO-World, RT-DETR, and other model families.
- Adds a YOLO26 custom-dataset training video and highlights monocular depth estimation.
๐ฏ Broader and safer tracking support
- Documents and supports OBB tracking alongside detection, segmentation, and pose.
- Rejects unsupported semantic and depth tracking tasks with a clear error before processing begins.
- Skips unnecessary camera-motion compensation work when
gmc_method: none. - Keeps OC-SORT observation history bounded on all track lifecycle paths.
๐ฆ More efficient model export
- Streams ONNX and QNN calibration data instead of retaining all transformed images in memory.
- Reduces calibration memory usage substantially for large datasets.
- Updates anchor creation to use CoreML-friendly tensor operations, improving dynamic CoreML export compatibility.
๐งช Depth and segmentation fixes
- Excludes ground-truth depth values outside the configured valid range during calibration, keeping calibration consistent with validation metrics.
- Fixes FP16 segmentation with class-agnostic NMS.
- Preserves YOLOE one-to-one classifier weights during linear probing, preventing a severe accuracy drop.
- Makes pose activation-map gradients compatible with autograd and
torch.compile.
๐ผ๏ธ Visualization and analytics improvements
- Restores percentage labels in analytics pie charts.
- Speeds up semantic-mask overlay rendering by replacing repeated full-image scans with a palette lookup.
โ๏ธ Expanded Ultralytics Platform workflows
- Adds documented custom metadata support for datasets, images, projects, and models.
- Supports nested metadata, metadata search, NDJSON image metadata, and Dataset Ingest API uploads.
- Refreshes Platform integration screenshots and documents native Platform support for YOLOv8 and YOLOv5.
- Refactors Platform callbacks to load only where needed, reducing unnecessary imports in prediction, validation, and export paths.
๐ก๏ธ Reliability and infrastructure
- Makes downloads atomic, preventing concurrent test or application processes from reading partially written files.
- Updates CI runner images to Node.js 24 for compatibility with newer tooling.
- Refreshes OpenVINO benchmark data across Intel CPUs and NPUs.
- Improves documentation deployment detection when configuration defaults change.
๐ฏ Purpose & Impact
- โ Fewer installation failures: Users relying on OpenCV image decoding now receive a compatible version automatically.
- ๐ Simpler YOLOE deployment: Prompt configurations can be prepared once and reused across multiple export targets.
- ๐พ Lower memory usage: Large ONNX and QNN calibration jobs are more practical, especially on limited-memory systems.
- ๐ฅ More capable tracking: OBB tracking is now clearly supported, while unsupported tasks fail with actionable messages instead of obscure runtime errors.
- ๐ Better model fine-tuning: YOLOE linear probing and depth calibration now preserve pretrained performance more reliably.
- ๐งฉ Improved deployment compatibility: Dynamic CoreML exports and FP16 segmentation workflows are more robust.
- ๐ Better Platform organization: Custom metadata helps teams track provenance, review status, equipment, projects, and deployment context.
- ๐ Clearer onboarding: The refreshed model documentation makes it easier to choose the right Ultralytics model and understand its supported modes.
What's Changed
- Fix analytics pie chart percentage labels by @rudrakumar07 in https://github.com/ultralytics/ultralytics/pull/25600
- Prevent concurrent download cache corruption by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25612
- Fix dynamic CoreML anchor export by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25619
- Refactor Ultralytics Platform integration by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25622
- Fix FP16 end-to-end segmentation with class-agnostic NMS by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25613
- Preserve YOLOE one-to-one classifiers during linear probing by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/25607
- Name the PyPI version check step by @MGPOCKY in https://github.com/ultralytics/ultralytics/pull/25606
- Stream ONNX and QNN calibration data by @amanharshx in https://github.com/ultralytics/ultralytics/pull/25617
- Exclude out-of-range ground truth from depth calibration by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25614
- Build semantic overlays in a single pass by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25585
- Add reusable YOLOE prompt embedding profiles by @zgh2022 in https://github.com/ultralytics/ultralytics/pull/25572
- Remove stale reproduce command from Chinese depth notes by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25624
- Refresh Platform integration screenshots by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25627
- Update
openvino 2026.2.1benchmarks with Intel 155H, 258V and 358H systems by @lakshanthad in https://github.com/ultralytics/ultralytics/pull/25360 - Docs: Update "What is Ultralytics Platform?" section (include YOLOv8 & YOLOv5) by @sergiuwaxmann in https://github.com/ultralytics/ultralytics/pull/25641
- Add https://youtu.be/7lZa3Yi2kbo to docs by @RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/25642
- Update docs landing new banner to depth estimation by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25645
- docs: Update depth estimation tip to specify monocular depth estimation by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/25649
- Bump eviden-actions/clean-self-hosted-runner from 1 to 1.4.34 in /.github/workflows by @dependabot[bot] in https://github.com/ultralytics/ultralytics/pull/25651
- Include OBB in the tracking task summaries by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25661
- Skip the GMC warp when a tracker sets
gmc_method: noneby @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25636 - Bound the OC-SORT observation history on every recording path by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25638
- Refuse semantic and depth tracking instead of crashing by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25665
- Upgrade CI runner images to Node 24 by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25673
- Bump eviden-actions/clean-self-hosted-runner from v1.4.34 to v1.4.35 in /.github/workflows by @UltralyticsAssistant in https://github.com/ultralytics/ultralytics/pull/25680
- Reorder the models nav and replace the index list with a task and mode chooser by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25659
- Document image upload metadata by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25697
- Deploy docs when
ultralytics/cfg/default.yamlchanges by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25663 - Fix pose activation map gradients by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25694
- Document custom metadata for platform resources by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25700
- Raise minimum
opencv-pythonto 4.7.0 by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/25702
New Contributors
- @MGPOCKY made their first contribution in https://github.com/ultralytics/ultralytics/pull/25606
Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.115...v8.4.116
Notes
Files
ultralytics/ultralytics-v8.4.116.zip
Files
(3.4 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:fb49f6b93f44d0c7d25fac0c8f201494
|
3.4 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/ultralytics/ultralytics/tree/v8.4.116 (URL)
Software
- Repository URL
- https://github.com/ultralytics/ultralytics