Ultralytics v8.4.172: Rotation-Aligned OBB Crops and More Reliable Workflows
Ultralytics YOLO v8.4.172 brings upright oriented-box crops and reliability improvements across training, export, datasets, and deployment. The v8.4.172 release also expands Python support and refreshes Ultralytics Platform documentation.
Highlight: Rotation-Aligned OBB Crops
- PR #26486 by @Nikhi00718 adds rotation-aligned crops to
save_crop=TrueandObjectCropper. Crops are now upright and aligned to each oriented bounding box, with black padding where boxes extend beyond the image.
Model and Training Fixes
- PR #26483 by @ArgoHA fixes AIFI positional embeddings for non-square feature maps.
- PR #26475 by @Nikhi00718 computes RT-DETR Hungarian matching costs in float32, preventing AMP precision errors from affecting training assignments.
- PR #26487 by @raimbekovm restores the
optimizer=autochoice and early-stopping state when resuming training. - PR #26477 by @cainiao33 fixes corrupted dataset caches, recovered-epoch restarts after NaNs, YOLOE prediction state and batching, RT-DETR
save_txt, and tracker, configuration, and solution issues.
Dataset, Export, and Output Improvements
- PR #26497 by @raimbekovm enables classification datasets to load every supported image format and refresh stale disk caches.
- PR #26507 by @JaviChulvi fixes OpenVINO INT8 calibration when the dataset is smaller than the requested batch.
- PR #26494 by @raimbekovm replaces outputs from previous prediction and validation runs and gives each video its own output name.
- PR #26474 by @Vaishnavi220506 fixes integer crop coordinates and JPEG output collisions.
- PR #26508 by @wizzseen fixes
yolo_bbox2segmentbackground-first detection and duplicate outputs on reruns, while adding support for JPEG and uppercase mask filenames.
Deployment and Maintenance
- PR #26510 by @glenn-jocher expands Python 3.14 support across the package and several Docker and export environments. The Python export image remains on Python 3.13 for dependency compatibility.
- PR #26473 by @glenn-jocher fixes NaN convolution outputs caused by OpenBLAS 0.3.8 in the JetPack5 Docker image.
- PR #26471 by @glenn-jocher removes
cloudpickleandfilelockfrom base dependencies and adds safeguards against new base dependencies. - PR #26481 by @glenn-jocher removes redundant Lost-state checks in ByteTrack and FastTracker second association.
- PR #26476 by @JaviChulvi uses pre-cached assets in COCO evaluation and CLI solutions tests.
- PR #26502 by @glenn-jocher restores the shared CI asset cache in Docker tests without including it in images.
- PR #26472 by @glenn-jocher updates Prettier from 3.8.5 to 3.9.9.
- PR #26501 by @dependabot[bot] switches example requirements to
>=version floors to avoid repeated dependency pin bumps.
Documentation Updates
- PR #26467 by @raimbekovm aligns validation, Edge TPU export, and Platform dataset, Agents API, and billing documentation with current behavior.
- PR #26485 by @pderrenger refreshes Ultralytics Platform documentation, including current workflows, Agents management, and dataset version comparisons.
- PR #26488 by @raimbekovm names LabelMe and Labelbox in Platform import format lists and corrects Label Studio OBB and VOC notes.
- PR #26489 by @lakshanthad moves AMD documentation into Deployment Integrations.
Community Thanks
Thank you to the YOLO community and the Ultralytics team for these improvements! A special welcome to @ArgoHA, whose AIFI fix marks their first contribution.
Try It and Share Your Feedback
Install this release with:
pip install --upgrade ultralytics==8.4.172
Explore the full changelog for all changes, then try the update in your workflows.
How are the new OBB crops working for you? Share your results, questions, or any issues below—your feedback helps improve YOLO for everyone.