🌟 Summary
The Ultralytics v8.3.39
release focuses on improving model behavior, functionality, and user experience across multiple aspects, including classification validation, documentation enhancements, and tool usability. It introduces critical fixes and new features to improve the overall quality of the platform. 🚀
📊 Key Changes
-
🧠 Fixed Classification Validation Loss:
- Adjusted classification model's loss scaling during validation to improve output consistency and accuracy.
- Introduced a refined approach to apply
softmax
only in necessary scenarios for clarity and precision.
-
🎯 "Classes" Filter in Training:
- Added a new
classes
argument to the training configuration, enabling model training on specific class IDs selectively.
- Added a new
-
🎥 Enhanced Video Annotation Tool:
- Introduced a "Sweep Annotation" utility for dynamic video annotation. Users can now visualize objects based on an interactive sweep line that tracks their positions.
-
🎨 Improved Color Handling in LibTorch Example:
- Addressed a key issue by adding a BGR to RGB conversion step in the C++ LibTorch inference example, ensuring color compatibility for accurate YOLO results.
-
🗂️ Documentation Updates:
- Significant improvements in README files:
- Clickable YOLO11 performance plot images now redirect to documentation.
- Enhanced clarity about model auto-download behavior and training details.
- Added new high-quality tutorial videos across docs for better onboarding and understanding.
- Fixed
YOLOv11
references to the correct termYOLO11
for consistency.
- Significant improvements in README files:
-
⚙️ Code Improvements and Maintenance:
- Simplified segmentation handling with better clipping (
clip()
) for out-of-bounds coordinates in segmentation tasks. - Added an elegant
__getattr__
method making model attributes (e.g.,stride
ortask
) directly accessible from theModel
class. - Refined model logging for better debugging and developer experience.
- Simplified segmentation handling with better clipping (
🎯 Purpose & Impact
- Enhanced Accuracy and Model Behavior: The classification loss scaling fix addresses a crucial inconsistency, delivering more reliable results during validation phases.
- Increased Flexibility: The "classes" argument empowers users with precise control, making training workflows more tailored and efficient by focusing on specific class IDs. 💡
- Better Video Annotation: The "Sweep Annotation" tool adds an intuitive way to annotate video data interactively, offering new possibilities for detection and tracking tasks.
- Improved Inference Quality: The BGR to RGB fix ensures accurate detections for users operating in C++ environments with LibTorch inference.
- Streamlined User Education: Updated and accessible documentation alongside engaging video tutorials helps onboard new users quickly while enhancing knowledge for experienced developers. 📚
- Consistency: Terminology such as
YOLO11
aligned across documentation ensures clarity and avoids user confusion.
This release keeps refining both functionality and usability, advancing the YOLO ecosystem for a diverse range of practical applications. 🎉
What's Changed
- Add YOLO11 docs page redirect in
README.md
andREADME.zh-CN.md
by @RizwanMunawar in #17806 - Fix missing labels when all segment points are out of bounds by @Y-T-G in #17810
- New Solutions sweep counting annotator by @RizwanMunawar in #17742
- Improved Docs minify by @glenn-jocher in #17816
- Revert Docs minify attempt by @glenn-jocher in #17831
- Update format.yml Discord and Kaggle links by @glenn-jocher in #17814
- Update contributing.md with open-sourcing guide by @glenn-jocher in #17832
- Fix YOLO11 usage by @glenn-jocher in #17834
- Update Tasks Banner in README.md by @pderrenger in #17833
- Fix region-counting indents by @glenn-jocher in #17835
- Update Tasks banner spacing by @glenn-jocher in #17843
- Add functions descriptions in
plotting.py
by @RizwanMunawar in #17813 - Remove Docs Tasks banner linebreak by @glenn-jocher in #17844
- Add https://youtu.be/-aYO-6VaDrw and https://youtu.be/M7xWw4Iodhg to docs by @RizwanMunawar in #17863
- Add
classes
to train arguments by @Y-T-G in #17856 - Add BGR to RGB conversion in LibTorch example by @Y-T-G in #17864
__getattr__
support to access YOLO attributes via Model class by @WYYAHYT in #17805ultralytics 8.3.39
fix classification validation loss scaling by @Y-T-G in #17851
New Contributors
Full Changelog: v8.3.38...v8.3.39