New Release: Ultralytics v8.4.184

:rocket: Ultralytics v8.4.184: More Reliable Images, Models, and Workflows

Ultralytics YOLO v8.4.184 is here! This reliability-focused release fixes multi-page TIFF loading and improves segmentation prompts, specialized model loading, validation, experiment tracking, and Ultralytics Platform workflows. No new model architecture is introduced—this update focuses on making everyday work more predictable.

:framed_picture: Highlight: Safer Multi-Page TIFF Loading

Grayscale TIFF scans now load as their first page by default, rather than incorrectly treating pages as image channels. This helps prevent scanned documents from causing channel-count errors during training.

For multispectral workflows, cv2.IMREAD_UNCHANGED still stacks same-size pages as bands. See PR #26842 by @glenn-jocher for the fix.

:bullseye: Model Loading and Segmentation Improvements

  • Reliable YOLOE and YOLO-World loading: Checkpoint contents now determine the correct model wrapper, even with generic filenames such as best.pt. PR #26793 by @raimbekovm makes specialized checkpoints easier to reuse.
  • Clearer YOLOE errors: Changing classes on a text-fused YOLOE model now raises an explicit error instead of silently relabeling predictions or failing later. PR #26824 by @raimbekovm adds this safeguard.
  • Faithful SAM mask refinement: Floating-point prompt masks retain negative and fractional values. PR #26794 by @Nikhi00718 preserves the original refinement inputs.
  • Better multipart polygons: Reversed segments connect at their closest points through PR #26834 by @mottopanikeiku.
  • Consistent semantic backgrounds: Class filtering preserves the polygon semantic background class with PR #26798 by @raimbekovm.
  • Flexible model filenames: Model file extensions are now case-insensitive thanks to PR #26819 by @Vaishnavi220506.

:bar_chart: Prediction, Data, and Validation Fixes

  • Rectangular classification inputs: PR #26810 by @aswanth-07 fixes classification prediction with rectangular image sizes.
  • Correct tensor layout: PR #26801 by @Y-T-G makes BCHW tensors contiguous before the BGR-to-RGB flip.
  • Safer 2D preprocessing: PR #26811 by @cainiao33 prevents a LetterBox crash when 2D inputs need no resizing.
  • More robust downloads: Archive URLs containing query strings now work with dataset autodownload through PR #26789 by @cainiao33.
  • Clear stream errors: Empty stream manifests now produce an actionable error with PR #26791 by @cainiao33.
  • More consistent confusion matrices: Detections are matched in confidence order through PR #26828 by @lu123bing.
  • Cleaner label-free validation: PR #26837 by @raimbekovm skips class-averaged precision-recall curves when a split has no labels.
  • Leaner metric computation: PR #26815 by @cainiao33 moves constant setup outside compute_ap.

:link: Smoother Integrations and Runtime Behavior

  • Respect existing W&B runs: Training can log into a user-started run, preserve its settings, and leave it open afterward with PR #26821 by @raimbekovm. Training arguments are also added to that run’s configuration through PR #26831 by @raimbekovm.
  • More reliable Platform resume: PR #26790 by @cainiao33 prevents transient send failures from forking duplicate models.
  • Improved device handling: PR #26809 by @cainiao33 fixes crashes from the bare "intel" device string in OpenVINO and LiteRT backends.
  • Stronger settings validation: PR #26792 by @raimbekovm validates every settings.update() form and keeps fallback configuration directories private per user.

:hammer_and_wrench: CI and Documentation Updates

More complete CPU runners now include rsync through PR #26796, OpenSSH through PR #26797, and GUI OpenCV libraries through PR #26829, all by @glenn-jocher. GitLab mirroring also waits through rate limits instead of failing repositories with PR #26840 by @glenn-jocher.

Documentation improvements include:

  • Corrected IMX500 export examples: PR #26803 by @Ali-Tharwat uses YOLO11n in the export table, while PR #26812 and PR #26814 by @glenn-jocher further correct the table and model naming.
  • Clearer dataset guidance: PR #26813 by @glenn-jocher clarifies Platform dataset downloads and Objects365 segmentation weight names.
  • More Platform training guidance: PR #26826 by @JaviChulvi documents detection and OBB training on segmentation datasets.
  • Refreshed Platform and export docs: PR #26817 by @raimbekovm updates screenshots and aligns guidance with Platform changes and Axelera’s NMS default.
  • Full-frame classification examples: PR #26835 by @Nikhila-Dhevi-R documents the relevant transforms.
  • Additional documentation polish: PR #26820 by @glenn-jocher fixes dataset and author links, and PR #26816 by @RizwanMunawar adds a video resource.

:raising_hands: Thank You, Contributors!

Thanks to everyone who contributed fixes, documentation, and testing. A special welcome to @Ali-Tharwat, whose first contribution arrived in PR #26803!

:rocket: Try v8.4.184

Install this release with:

pip install --upgrade ultralytics==8.4.184

The v8.4.184 release page has the release details, and the full changelog shows every change.

Give it a try and share your feedback below! We’d especially like to hear how the TIFF, segmentation, validation, and integration fixes work with your workflows.