🌟 Summary
This release brings smarter and more flexible data augmentation with a major CutMix upgrade, improved YOLOE training workflows, and enhanced support for all YOLO models in tracking and documentation. 🖼️🛠️
📊 Key Changes
- CutMix Augmentation Overhaul:
- Added a
num_areasparameter to CutMix, allowing multiple candidate regions for mixing images. - CutMix now avoids overlapping mixed regions with existing objects, reducing label noise and improving training data quality.
- Improved logic for adding new objects during augmentation, ensuring better alignment and accuracy.
- Added a
- YOLOE Model Improvements:
- Unified and streamlined dataset handling and trainer inheritance for YOLOE and YOLO-World models, making training more consistent and maintainable.
- Updated segmentation training and documentation to ensure correct trainer usage and robust loss calculations.
- Standardized image channel handling for better dataset compatibility.
- Cleaner Augmentation Code:
- Centralized the method for selecting random dataset indexes, removing duplicate code across augmentation classes.
- Documentation for CutMix is now clearer and more complete.
- BOTSORT Tracker Update:
- Tracker documentation and logic now refer to "YOLO" models in general, not just YOLOv8, clarifying support for all YOLO versions (including YOLO11, YOLO12, etc.).
- Improved feature encoder logic for better handling of ReID (Re-Identification) settings.
- Workflow & Maintenance:
- Upgraded CI dependencies for improved environment management.
.ts(TorchScript) files are now ignored in version control to prevent accidental commits.- New contributors recognized in documentation.
🎯 Purpose & Impact
- Better Model Training:
- The smarter CutMix reduces label noise, leading to higher-quality training data and potentially more accurate, robust object detection models.
- More control over augmentation with the new
num_areasoption benefits users seeking to fine-tune training behavior.
- Developer Experience:
- Cleaner, more maintainable codebase makes it easier for developers to contribute and extend functionality.
- Unified training logic for YOLOE and YOLO-World models simplifies custom training workflows.
- User Clarity:
- Improved documentation and clearer naming help users understand features and capabilities, especially for new YOLO versions and tracking options.
- Broader Compatibility:
- BOTSORT tracker and dataset handling updates ensure smooth support for all current and future YOLO models.
- Reliability:
- Enhanced loss calculations and dataset initialization improve training stability, especially for segmentation tasks.
✨ This update is especially valuable for anyone training detection or segmentation models with Ultralytics, offering both immediate accuracy improvements and a smoother development experience!
What's Changed
- Bump astral-sh/setup-uv from 5 to 6 in /.github/workflows by @dependabot[bot] in #20390
- Remove redundant
get_indexesfunctions inaugment.pyby @Laughing-q in #20389 - YOLOE: Fix visual prompt training by @Laughing-q in #20413
- YOLOE: Clean up duplicated modules by @Laughing-q in #20416
- Fix BOTSORT initialization with ReID set to False by @lwalejko in #20392
ultralytics 8.3.120CutMix augmentation fix via IoU overlaps by @Laughing-q in #20393
New Contributors
Full Changelog: v8.3.119...v8.3.120