๐ Summary
This release refactors and unifies the validation and metrics system across all YOLO tasks, making the codebase more modular, maintainable, and consistent. It also brings UI improvements, performance boosts, and enhanced user feedback across the Ultralytics ecosystem. ๐ ๏ธโจ
๐ Key Changes
-
Major Validator & Metrics Refactor
- Unified the metrics classes for detection, segmentation, pose, classification, and OBB tasks, reducing code duplication and making it easier to extend or maintain.
- All validator classes now use a consistent, modular structure for processing predictions and ground truths.
- Improved postprocessing and plotting logic for more reliable and clear results visualization.
-
Semantic Image Search UI Upgrade
- Added "Top K" filter buttons (Top 5, Top 10, Top 30) and a search bar to the similarity search interface, making it easier to explore and compare results.
-
Performance & Stability Improvements
- Optimized pose estimation in AI Gym by removing unnecessary
.cpu()
calls and adding caching for faster angle calculations. - Improved model image size handling for dynamic models, ensuring more reliable predictions.
- Adjusted model fusion logic for better compatibility with NVIDIA JetPack and smoother PyTorch model loading.
- Optimized pose estimation in AI Gym by removing unnecessary
-
User Experience Enhancements
- Added clear log messages when YOLO settings are updated, showing exactly which settings changed.
- Improved error handling and test reliability, especially for custom or in-memory models.
-
Bug Fixes
- Fixed validation errors when training YOLOE-11-seg models.
๐ฏ Purpose & Impact
-
For Developers:
- Easier to add new features or maintain the codebase thanks to unified and modular validation/metrics logic.
- More robust and reliable testing and model deployment, especially on edge devices or with custom models.
-
For End Users:
- Smoother, faster, and more accurate experience in pose estimation and fitness tracking solutions.
- Enhanced transparency and feedback when updating settings or running experiments.
- More intuitive and interactive image search in Ultralytics HUB, helping users quickly find the most relevant results.
-
For the Community:
- Sets the stage for future improvements and new features across all YOLO tasks, ensuring consistency and quality in results and reporting.
In summary:
This update makes Ultralytics' YOLO models and tools more powerful, user-friendly, and future-proofโwhether you're building on the platform or using it for your projects! ๐
What's Changed
- Add top-k filter buttons with search bar in
similarity-search
by @RizwanMunawar in #21032 - Remove unnecessary
.cpu()
call and add@lru_cache
by @RizwanMunawar in #21022 - Add hints when updating
settings
by @Laughing-q in #21031 - Avoid overriding
imgsz
for dynamic models by @Y-T-G in #21019 - Update val.py to fix yoloe-11-seg val error by @keeper-jie in #21004
- Revert
model.fuse()
to maintain NVIDIA JetPack 5 and below compatibility by @lakshanthad in #21028 ultralytics 8.3.154
RefactorValidator
andMetrics
classes by @Laughing-q in #21009
Full Changelog: v8.3.153...v8.3.154