pypi ultralytics 8.4.166
v8.4.166 - ultralytics 8.4.166 Support Pascal VOC-style palette and 16-bit PNG masks (#26426)

3 hours ago

🌟 Summary

Ultralytics 8.4.166 focuses on more reliable dataset handling and prediction outputs, alongside updated Platform and inference documentation. No model architecture changes are included.

📊 Key Changes

  • 🗂️ Semantic masks and dataset conversion: The release preserves class IDs in Pascal VOC-style palette PNG masks and retains pixel values from 16-bit masks. It also rebuilds older semantic-mask caches and includes LVIS images even when they have no annotations.
  • 🎯 More accurate segmentation outputs: Fixes prevent resized instance masks from shrinking during validation and preserve the correct letterbox crop when saving semantic predictions.
  • 🧰 Dataset and training reliability: Fixes address stale disk-cached images, relative directories and globs in prediction source lists, outdated classification split copies, and unsafe small-image training configurations.
  • 🖼️ Image and video handling: Annotation visualization and image compression now account for EXIF orientation, and saved videos retain the expected duration when frames are skipped.
  • 📚 Documentation updates: Inference guidance now reflects Rust inference 0.0.50, including device selection, video requirements, GPU preprocessing, and RT-DETR support. Platform docs also describe current annotation, dataset, inference, and deployment behavior.

🎯 Purpose & Impact

  • ✅ Better compatibility with real-world datasets: Palette-based and 16-bit masks are less likely to be rejected or interpreted with incorrect class IDs.
  • 📐 More trustworthy segmentation results: Validation masks and saved predictions better match the original image dimensions and content.
  • 🛠️ Fewer confusing failures: Dataset loading, training checks, and prediction inputs behave more consistently, catching some issues earlier.
  • 📖 Clearer guidance for users: Updated docs help users understand current Platform features and inference defaults, including the Ultralytics Platform.

What's Changed

  • Docs: document Platform image generation, similarity, and face blurring by @JaviChulvi in #26411
  • Align Rust inference docs with ultralytics-inference 0.0.50 by @raimbekovm in #26431
  • Sync platform docs and screenshots with annotation, inference, and deployment changes by @raimbekovm in #26419
  • Classify unsupported onnx opset rejections as expected in fuzzing by @raimbekovm in #26430
  • Include the multi_scale minimum size in the final batch=1 training check by @raimbekovm in #26429
  • Clarify optimizer=auto learning rate behavior by @zkoymen in #26435
  • Respect cache mode when loading existing .npy images by @aswanth-07 in #26432
  • Resolve relative directories and globs in prediction source lists by @Vaishnavi220506 in #26420
  • Fix semantic save_json letterbox crop, yolo_bbox2segment on NumPy>=2.4, and stale classify re-split copies by @cainiao33 in #26423
  • Threshold rescaled segment val masks and keep saved video duration with vid_stride by @Nicholas022400701 in #26416
  • Apply EXIF orientation in image utilities and fix TQDM ':60' time rollover by @MohammadHijjawi97 in #26414
  • ultralytics 8.4.166 Support Pascal VOC-style palette and 16-bit PNG masks by @Nikhi00718 in #26426

New Contributors

Full Changelog: v8.4.165...v8.4.166

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.