🌟 Summary
This release brings improved keypoint handling, smarter data augmentation, and enhanced usability for training and exporting models, making YOLO workflows more robust and user-friendly. 🚀
📊 Key Changes
- Keypoint Clipping for Visualization: Keypoints are now clipped to stay within image boundaries, ensuring better training data quality and more accurate visualizations.
- Simplified Data Augmentation Access: Data augmentation transforms can now be accessed more intuitively, making it easier for developers to customize and debug pipelines.
- Improved Pretrained Weights Loading: Pretrained weights are now loaded directly during training, ensuring expected behavior and smoother user experience.
- Keypoint Data Integrity: The original keypoint data is preserved, and confidence-based filtering is handled more cleanly, improving data reliability.
- Enhanced Keypoint Flipping: Vertical and horizontal flip augmentations for pose estimation now work reliably, with clear warnings if required configuration is missing.
- Smarter Predictor Handling: YOLOE and visual prompt prediction logic is now more robust, reducing errors and improving compatibility with video and stream sources.
- Better Validation Metrics: Validation summaries now have clearer metric names, more detailed per-class info, and improved export options (including direct Colab links).
- Dynamic Batch Export Fix: Exported models now correctly handle dynamic batch sizes, preventing shape mismatches during inference.
- Parallel Training Compatibility: Text embedding generation is now compatible with multi-GPU setups, improving YOLO World and YOLOE training stability.
- Consistent Object Counting Results: Object counting results and documentation are now more consistent and easier to understand.
- Streamlined XML Export: The XML export process is simplified, removing unnecessary dependencies and ensuring more reliable output.
- Documentation Improvements: Expanded tips and examples for handling images with extreme aspect ratios in classification tasks.
🎯 Purpose & Impact
- More Reliable Keypoint Detection: By keeping keypoints within image bounds and preserving original data, users get higher-quality training and more accurate predictions, especially for pose estimation tasks.
- Easier Customization: Developers can now more easily access and modify data augmentations, leading to faster experimentation and fewer bugs.
- Smoother Training Experience: Loading pretrained weights and handling parallel training setups is now more intuitive and robust, reducing setup headaches.
- Better Results Analysis: Improved validation summaries and export options help both experts and newcomers quickly interpret and share model performance.
- Cleaner, Faster Exports: Streamlined XML export and dynamic batch fixes mean models are easier to deploy and integrate into diverse workflows.
- Clearer Documentation: Enhanced docs and code examples make it easier for all users to get started and avoid common pitfalls.
Overall, this update delivers a more stable, accurate, and user-friendly experience for anyone training, validating, or deploying YOLO models. 🎉
What's Changed
- Scope pretrained weights loading by @Laughing-q in #21156
- Preserve original keypoint data and eliminate internal
0.5
threshold by @WillieMaddox in #21165 - Support flip up/down augmentation for pose by @WillieMaddox in #20932
- YOLOE: Optimize redundant predictor initialization by @Y-T-G in #21198
- Update classification tip for
CustomizedValidator
by @picsalex in #21196 - Align
metrics
summary method toval
logs by @RizwanMunawar in #21203 - Fix dynamic batch inference with
nms=True
by @Y-T-G in #21190 - YOLOE: Fix
generate_text_embeddings
for DDP training by @Laughing-q in #21210 - Add
SolutionResults
attributes inindex.md
andclasswise_counts
typo fix by @RizwanMunawar in #21216 - Remove unnecessary
lxml
dependency by @Laughing-q in #21221 ultralytics 8.3.160
Clipkeypoints
for better visualization control by @Laughing-q in #21220
New Contributors
- @WillieMaddox made their first contribution in #21165
Full Changelog: v8.3.159...v8.3.160