pypi ultralytics 8.4.172
v8.4.172 - `ultralytics 8.4.172` Add rotation-aligned OBB crops to save_crop (#26486)

3 hours ago

🌟 Summary

v8.4.172 makes oriented-box cropping work as expected and improves reliability across model training, export, dataset handling, and deployment.

📊 Key Changes

  • Rotation-aligned OBB crops: save_crop=True and ObjectCropper now save crops upright and aligned to each oriented bounding box. Areas extending beyond the image are filled with black.
  • Model correctness fixes: AIFI positional embeddings now match non-square feature maps, and RT-DETR computes matching costs in float32 to avoid AMP precision errors affecting training assignments.
  • More reliable training and resume: NaN recovery now correctly restarts the recovered epoch, while resumed runs preserve the selected optimizer and early-stopping progress.
  • Improved dataset and export handling: Corrupted dataset caches trigger a rescan; classification datasets recognize more supported image formats; and static INT8 exports can calibrate even when the dataset is smaller than the requested batch.
  • Broader Python support: Python 3.14 is added to package support and several Docker and export environments. The Python export image remains on Python 3.13 for dependencies that do not yet support 3.14.
  • Platform documentation refreshed: Docs now describe current Platform behavior and APIs, including Agents management, dataset version comparisons, and direct LabelMe imports.

🎯 Purpose & Impact

  • OBB users can now get useful, tightly aligned crops instead of no crops or axis-aligned approximations.
  • Training and validation should be more dependable, particularly when using AMP, recovering from NaNs, or resuming an interrupted run.
  • Dataset and export workflows are more resilient to damaged caches, varied image formats, and small calibration datasets.
  • Updated Python support and clearer Platform documentation make it easier to choose compatible environments and follow current workflows.

What's Changed

  • Fix NaN conv outputs in JetPack5 Docker image from OpenBLAS 0.3.8 by @glenn-jocher in #26473
  • Bump Prettier from 3.8.5 to 3.9.9 by @glenn-jocher in #26472
  • Remove cloudpickle and filelock base dependencies and disallow new ones by @glenn-jocher in #26471
  • Remove redundant Lost-state checks in ByteTrack and FastTracker second association by @glenn-jocher in #26481
  • Use pre-cached assets in COCO-eval and CLI solutions tests by @JaviChulvi in #26476
  • Align validation, Edge TPU export, and Platform dataset, Agents API, and billing docs with current behavior by @raimbekovm in #26467
  • Fix AIFI position embedding for non-square feature maps by @ArgoHA in #26483
  • Align Ultralytics Platform docs with current Platform behavior by @pderrenger in #26485
  • Move AMD doc to Deployment Integrations by @lakshanthad in #26489
  • Name LabelMe and Labelbox in Platform import format lists and correct Label Studio OBB and VOC notes by @raimbekovm in #26488
  • Use >= floors in example requirements to stop Dependabot pin bumps by @dependabot[bot] in #26501
  • Restore the shared CI asset cache in Docker tests and keep it out of images by @glenn-jocher in #26502
  • Fix corrupt dataset caches, NaN recovery, YOLOE predict state and batching, RT-DETR save_txt, and tracker/cfg/solution bugs by @cainiao33 in #26477
  • Fix RT-DETR Hungarian matching precision under AMP by @Nikhi00718 in #26475
  • Restore the optimizer=auto choice and early stopping state on resume by @raimbekovm in #26487
  • Replace outputs from previous predict and val runs and give each video its own output name by @raimbekovm in #26494
  • Fix integer crop coordinates and JPEG output collisions by @Vaishnavi220506 in #26474
  • Upgrade CPU containers and isolated exports to newer Python versions by @glenn-jocher in #26510
  • Load every supported image format in classification datasets and refresh stale disk cache by @raimbekovm in #26497
  • Fix OpenVINO INT8 calibration for undersized datasets by @JaviChulvi in #26507
  • Fix yolo_bbox2segment background-first detection and rerun duplicates, and accept jpeg and uppercase masks by @wizzseen in #26508
  • Add rotation-aligned OBB crops to save_crop by @Nikhi00718 in #26486

New Contributors

Full Changelog: v8.4.171...v8.4.172

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.