pypi ultralytics 8.4.213
v8.4.213 - `ultralytics 8.4.213` Decode large segmentation mask stacks inside their boxes (#27197)

one hour ago

🌟 Summary

Ultralytics 8.4.213 makes large segmentation predictions more memory- and compute-efficient, while also improving data handling, inference reliability, and deployment documentation. 🚀

📊 Key Changes

  • Faster handling of large segmentation masks (PR #27197): For large mask stacks, prediction now decodes each mask within its detection box rather than across the whole image. Outlines and exports can use these box-local masks directly; the familiar dense masks.data tensor is created only when requested. Smaller mask stacks keep the existing path.
  • More reliable tiled predictions: Tile-seam detections are no longer suppressed by overlapping detections from a different class when class-aware NMS is enabled.
  • Safer dataset conversion: COCO conversion now errors instead of mixing labels when different images map to the same label file. SAM-based segmentation conversion also keeps class IDs matched to the masks that survive filtering.
  • Improved results and visualization: Fixes correct confusion-matrix percentages for datasets with over 100 classes, and correct red/blue color handling for PIL images and SAM3 tensor results.
  • Platform and OCR improvements: Training can upload initial batch previews to the Platform; local run paths produce cleaner Platform project names. OCR now shares the ONNX Runtime setup used by YOLO models.
  • Clearer guidance: ONNX and TensorRT documentation was reorganized and expanded with output formats, deployment details, and refreshed benchmarks. Validation export docs now describe per-class metrics.

🎯 Purpose & Impact

  • Segmentation users with many detections or large images may see lower mask-processing costs, especially when they need outlines or exports but do not read the full mask tensor. Accessing masks.data still produces the usual dense result.
  • Tiled detection users are less likely to lose valid objects at tile boundaries just because an overlapping object belongs to another class.
  • Dataset creators and evaluators get clearer failures for conflicting label paths and more trustworthy class metrics.
  • Deployers and Platform users benefit from clearer export guidance, more consistent OCR runtime behavior, and more useful training previews. No model architecture change is included in this release.

What's Changed

  • Show correct confusion matrix percentages on Platform for models with over 100 classes by @laodouya in #27183
  • Keep tiled detections that overlap an object of a different class by @AhmetMert01 in #27188
  • OCR uses the same ONNX Runtime setup as YOLO models by @Laughing-q in #27189
  • Stop COCO conversion from mixing labels of images with the same name by @AhmetMert01 in #27187
  • Name a Platform project by a local save directory's last folder by @glenn-jocher in #27191
  • Docs: per-class validation exports, Gemini 4 Hydrogen, OCR languages, Platform search and import details by @pderrenger in #27194
  • Restructure the ONNX and TensorRT integration pages and refresh their benchmarks by @raimbekovm in #27190
  • Keep class IDs aligned when SAM drops low-confidence masks in yolo_bbox2segment by @Yannis-A-D in #27193
  • Fix swapped red and blue in Annotator PIL images and SAM3 tensor results by @AhmetMert01 in #27196
  • Add epoch-0 training visual uploads by @Laughing-q in #27173
  • ultralytics 8.4.213 Decode large segmentation mask stacks inside their boxes by @glenn-jocher in #27197

New Contributors

Full Changelog: v8.4.212...v8.4.213

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.