pypi ultralytics 8.4.180
v8.4.180 - ultralytics 8.4.180 OKS-aware label assignment for YOLO26-pose (#26695)

3 hours ago

🌟 Summary

Ultralytics 8.4.180 improves pose-aware training for YOLO26-pose and fixes several edge cases in data loading, result export, tracking, and visualization.

📊 Key Changes

  • 🧍 YOLO26-pose assignment now considers keypoint quality as well as box overlap. The training process uses both bounding-box overlap and keypoint OKS when selecting positive matches, resolving conflicts, and creating confidence targets. Ground truths with no visible keypoints continue to use box overlap alone. This behavior is enabled by default and applies only to YOLO26-pose; YOLOv8/YOLO11 pose loss behavior is unchanged.
  • 📹 More robust data-source and dataset handling. Stream manifests are recognized regardless of extension capitalization, and extensionless URLs returning images are treated as single images. Dataset lookup now accepts .yml as well as .yaml; conversion also handles non-ASCII cache paths more reliably and skips unlabeled DOTA background images.
  • 📄 Safer result and validation exports. Results.summary() now returns an empty list instead of failing when there are no boxes or oriented boxes. Validation text labels use split-relative image paths, preventing different images with the same filename from being merged into one label file.
  • 🎥 Improved tracking under camera rotation. Camera-motion compensation now updates box sizes and oriented-box angles appropriately, reducing geometry errors that could accumulate in tracks.
  • 🖼️ Fixed multiline text rendering with Pillow 13. Classification and other visualizations that draw multiline text are less likely to crash.

🎯 Purpose & Impact

  • 🎯 Better alignment between pose training and pose evaluation: YOLO26-pose can favor detections with more accurate keypoints, not just better-fitting boxes. This may improve pose quality and confidence ranking.
  • 🛠️ Fewer workflow interruptions: Common edge cases in data loading, exports, and plotting are handled more safely.
  • 📈 More dependable outputs: Tracking boxes retain more appropriate geometry during camera motion, and validation labels remain distinct for images from different folders.

What's Changed

  • Handle case-insensitive stream manifests by @Vaishnavi220506 in #26721
  • Fix Results.summary when boxes and OBB are both missing by @wizzseen in #26725
  • Preserve box geometry during tracking camera rotation by @Nikhi00718 in #26717
  • Fix chunked image URLs, same-stem val labels, DOTA backgrounds, NDJSON cache encoding and .yml lookup by @cainiao33 in #26724
  • Fix multiline Annotator.text crash on Pillow 13 by @raimbekovm in #26716
  • ultralytics 8.4.180 OKS-aware label assignment for YOLO26-pose by @Bovey0809 in #26695

Full Changelog: v8.4.179...v8.4.180

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.