🌟 Summary
Ultralytics 8.4.189 improves deployment reliability and inference robustness, with key fixes for Sony IMX500 and Hailo exports, clearer dataset errors, and safer handling of model outputs. No model architecture changes were introduced.
📊 Key Changes
- More reliable IMX500 exports: Updated converter requirements and aligned dependency versions. IMX500 export is now explicitly supported on Linux with Python 3.10–3.12.
- Fixed Hailo segmentation exports: The segmentation prototype output node is now detected from the exported model, helping accommodate different model activations.
- Clearer dataset failures: Unreadable datasets are less likely to be reported misleadingly as datasets with no labels.
- Broader export compatibility: Replaced several
einsumoperations with equivalent matrix multiplications, enabling affected YOLOE and YOLO-World models to export to ONNX at lower opsets. - More robust predictions and results: Classification probabilities are preserved between inference calls; grayscale images and results without boxes are handled more safely.
- Safer TensorFlow exports: Existing ONNX Runtime variants, including Windows ML and Vitis AI builds, are recognized to avoid unnecessary runtime replacement.
- Updated mobile guidance and benchmarks: LiteRT, QNN, and Core ML performance tables were refreshed, and Platform documentation now explains how to open compatible exports in the Ultralytics YOLO app.
🎯 Purpose & Impact
- Fewer deployment and setup failures: The IMX500 dependency and Python-version updates address real export and inference issues; Hailo and ONNX fixes broaden export compatibility.
- More dependable inference: Saved classification results no longer change when a backend reuses its output buffer, and image/result utilities better handle uncommon inputs.
- Easier troubleshooting: Dataset errors are less confusing, helping users identify the underlying issue sooner.
- Better mobile deployment guidance: Updated device measurements and app instructions make it easier to evaluate and try exported models on phones.
What's Changed
- Document opening Platform exports in the Ultralytics YOLO app by @glenn-jocher in #26875
- Refresh mobile benchmark tables with Ultralytics 8.4.188 assets by @glenn-jocher in #26874
- Fix IndexError on 2D grayscale NumPy images in Annotator and save_one_box by @Rahulbiradar9 in #26878
- Fix YOLOE and YOLO-World low-opset ONNX exports at source by @Y-T-G in #26881
- Fix classification dataset URL scheme handling by @Vaishnavi220506 in #26879
- Document momentum behaviour under optimizer=auto by @mh-masum6875 in #26877
- Fix TF-family export clobbering onnxruntime-windowsml installs by @cainiao33 in #26870
- Fix Results.save_crop and verbose when boxes are missing by @wizzseen in #26868
- Preserve classification probabilities across inference calls by @aswanth-07 in #26860
ultralytics 8.4.189Fix IMX requirements, Hailo seg end nodes and unreadable-dataset errors by @glenn-jocher in #26883
New Contributors
- @mh-masum6875 made their first contribution in #26877
Full Changelog: v8.4.188...v8.4.189