🌟 Summary
This release delivers a critical fix to YOLO detection validation metrics, improves dataset flexibility, enhances export reliability, and polishes documentation and developer experience. 🚀
📊 Key Changes
- Metrics Fix in YOLO Detection Validation: Corrected the assignment of mAP50 and mAP50-95 metrics, ensuring accurate reporting in validation results.
- Flexible Text Sample Handling in Datasets: Added a
max_samples
parameter for controlling the number of text samples inGroundingDataset
and improved logic for negative text selection. - Export Improvements & Warnings: Enhanced TensorRT export logic with better device handling and warnings for dynamic batch sizes, helping users avoid common pitfalls.
- Classification Dataset Compatibility: Now supports
valid/
as a fallback validation folder, improving compatibility with Roboflow and similar dataset exports. - Type Annotation Consistency: Standardized all references from
numpy.ndarray
tonp.ndarray
across code and documentation for clarity. - HEIC Image Support Update: Switched from
pillow_heif
topi-heif
for HEIC image decoding, simplifying license compliance. - Documentation & UI Enhancements:
- Embedded a new YouTube video in the data annotation guide for easier learning.
- Improved object counting example and clarified usage of the
sweep_annotator
method. - Removed unnecessary CSS animations from the Similarity Search web page for a faster, cleaner interface.
- Minor Fixes:
- Corrected an error message in classification augmentations for better developer clarity.
🎯 Purpose & Impact
- Accurate Model Evaluation: Ensures that users and researchers see the correct mAP metrics, preventing confusion and supporting trustworthy model comparisons.
- Greater Dataset Flexibility: Developers can fine-tune text augmentation, leading to more efficient training and better use of resources.
- Smoother Model Export: Clearer export warnings and device handling reduce errors and improve deployment reliability, especially for advanced users exporting to TensorRT.
- Broader Dataset Compatibility: Makes it easier to use datasets from popular tools like Roboflow without manual folder renaming.
- Improved Developer Experience: Consistent type hints and clearer error messages make the codebase more approachable and maintainable.
- Better Documentation & Usability: New video resources and UI tweaks help both new and experienced users get started and work more efficiently.
- License Compliance: The change in HEIC image support ensures continued open-source compliance and easier integration in commercial projects.
This update is recommended for all users, especially those validating detection models, working with custom datasets, or exporting models for deployment. 🚀🛠️
What's Changed
- Fix inconsistent
max_samples
value betweenGroundingDataset
andYOLOMultiModalDataset
by @Y-T-G in #21286 - Add max batch warning for dynamic model with NMS by @Y-T-G in #21320
- Support
valid/
as fallback validation folder for classification datasets by @JamesBond6873 in #21321 - Fix wrong error message in
classify_augmentations
by @Toprak2 in #21322 - Update Python hints for augmentation functions by @Laughing-q in #21329
- Eliminate extra
CSS
fromsimilarity-search.html
by @RizwanMunawar in #21335 - Update
sweep_annotator
example by @RizwanMunawar in #21331 - Switch
pillow_heif
topi_heif
by @picsalex in #21339 - Add https://youtu.be/iBk6S-PHwS0 to docs by @RizwanMunawar in #21346
ultralytics 8.3.164
Fix swapped mAP50 and mAP50-95 in COCOEval stats by @Y-T-G in #21350
New Contributors
- @JamesBond6873 made their first contribution in #21321
- @Toprak2 made their first contribution in #21322
Full Changelog: v8.3.163...v8.3.164