🌟 Summary
This release brings powerful new ways to export confusion matrix results, improved YOLOv7 ONNX/TensorRT inference support, enhanced OpenVINO documentation for YOLO11, and several usability and documentation updates. 📊🚀
📊 Key Changes
-
Confusion Matrix Export Enhancements
- You can now export confusion matrix results from model validation in multiple formats: CSV, XML, HTML, JSON, and SQL.
- ConfusionMatrix class improved to support class names and easier export.
- Documentation and tests updated to reflect these new export options.
-
YOLOv7 ONNX & TensorRT Inference Support
- Added detailed guides and scripts to help users export YOLOv7 models to ONNX/TensorRT and run inference with Ultralytics.
- Clarified that only inference (not training) is supported for YOLOv7 in Ultralytics.
-
OpenVINO Documentation Update for YOLO11
- All OpenVINO integration docs now reference YOLO11, with updated export instructions, usage examples, and benchmarks for Intel CPUs, GPUs, and NPUs.
- Added new hardware compatibility tips and troubleshooting guidance.
-
Prediction Arguments & OBB Documentation
- Added documentation for the new
rect
argument, explaining its effect on image padding and inference speed. - Fixed code example for accessing oriented bounding box (OBB) results.
- Added documentation for the new
-
BatchNorm Initialization Fix
- Prevents unintended changes to BatchNorm statistics when initializing models from YAML files, ensuring more stable model behavior.
-
Training Parameter Docstring Update
- Updated training function documentation to use the correct parameter name
batch
instead ofbatch_size
.
- Updated training function documentation to use the correct parameter name
🎯 Purpose & Impact
-
Easier, Flexible Analysis
- Exporting confusion matrices in various formats makes it simple to analyze, share, or report results using your preferred tools. Great for research, presentations, or audits.
-
Broader Model Compatibility
- YOLOv7 ONNX/TensorRT inference support lets users leverage more model types within Ultralytics, expanding deployment options.
-
Up-to-date Hardware Guidance
- OpenVINO documentation now fully supports YOLO11 and the latest Intel hardware, helping users achieve optimal performance.
-
Improved Usability
- Clearer documentation and parameter naming reduce confusion and help both new and experienced users get the most out of Ultralytics.
-
More Reliable Training
- Fixes to BatchNorm initialization ensure consistent model behavior, especially when loading custom architectures.
In summary:
This update makes validation results more accessible, expands model and hardware support, and improves the overall user experience for both developers and non-experts. 🎉
What's Changed
- Add guide for YOLOv7 ONNX inference by @Y-T-G in #18453
- OpenVINO docs update by @ambitious-octopus in #20731
- Fix OBB predict example by @Y-T-G in #20855
- Add
rect
to prediction arguments by @Y-T-G in #20857 - Prevent BatchNorm stats from being changed on model initialization from
yaml
by @Y-T-G in #18149 - Update train method docstrings to reflect correct
batch
parameter by @erfan-zekri in #20888 ultralytics 8.3.147
Confusion Matrix export to CSV, XML, HTML, JSON, and SQL formats by @RizwanMunawar in #20834
Full Changelog: v8.3.146...v8.3.147