v8.4.7 - `ultralytics 8.4.7` AVIF training and new COCO12-Formats dataset (#23358)
๐ Summary
Ultralytics v8.4.7 adds AVIF training support and a new COCO12-Formats mini-dataset to continuously verify that all supported image types load correctly end-to-end (especially in CI) ๐งช๐ผ๏ธ
๐ Key Changes
- AVIF is now a supported training image format โ
๐ท
IMG_FORMATSexpanded to includeavif
- More robust image decoding for modern formats ๐ก๏ธ
- Adds a Pillow-based fallback image reader (
_imread_pil) for cases where OpenCV canโt decode AVIF/HEIC
- Adds a Pillow-based fallback image reader (
- New โCOCO12-Formatsโ dataset + generator script ๐งฐ
- A tiny 12-image dataset covering all supported extensions (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP)
- Includes a dataset YAML and a generator (
generate_coco12_formats.py) to build the set for testing/validation - Adds a dedicated docs page and links it in the dataset index ๐
- Training and tooling reliability improvements ๐ง
- Fixes loss image-size calculation for OBB and Pose26 multi-scale training ๐
- Fixes semantic segmentation masking/indexing for overlapping instances ๐งฉ
- More accurate optimizer parameter-group logging ๐งพ
- Adds retry + validation for dataset image downloads (NDSON) ๐๐ฅ
- Install/export stability & experiment tracking ๐ฆ๐
- Pins torch < 2.10 to prevent ExecuTorch export incompatibilities ๐งท
- Saves runs under
runs/by default for relative projects + improves W&B traceability ๐๏ธ
- Docs updates (large) ๐โก
- Docs images migrated to a CDN and improved alt text for accessibility/SEO
๐ฏ Purpose & Impact
- Train directly on AVIF images without manual conversion ๐
- Useful for modern web/phone pipelines where AVIF is common
- Fewer โit works on my machineโ image-loading failures ๐งฏ
- The new COCO12-Formats dataset is designed to catch format-specific decoding issues early, especially in CI/CD
- Better resilience across environments ๐
- Pillow fallback reduces dependence on how OpenCV was built (many prebuilt OpenCV wheels lack AVIF support)
- More reliable training & clearer debugging ๐
- Fixes reduce subtle scaling bugs (Pose/OBB), segmentation masking issues, and misleading optimizer logs
- Smoother installs/exports and cleaner run management ๐
- Dependency pin helps prevent breakage; run folder changes improve organization and experiment tracking
What's Changed
- Fix docs images content disposition by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/23322
- Docs images cleanup by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/23323
- Fix the length of optimizer params group print by @Laughing-q in https://github.com/ultralytics/ultralytics/pull/23314
- Platform docs by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/23338
- Route outputs to
runs/by default and improve W&B run traceability by @artest08 in https://github.com/ultralytics/ultralytics/pull/23026 - fix image size calculation in OBB and Pose26 loss for multi-scale training by @lmycross in https://github.com/ultralytics/ultralytics/pull/23342
- fix: ๐ pin torch version to <2.10 for executorch export by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/23353
- fix semantic segmentation loss indexing error by @lmycross in https://github.com/ultralytics/ultralytics/pull/23330
- Retry NDSON download failures by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/23354
- Fix
multi_scalerange sampling and clarify docs by @artest08 in https://github.com/ultralytics/ultralytics/pull/23284 ultralytics 8.4.7AVIF training and new COCO12-Formats dataset by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/23358
New Contributors
- @artest08 made their first contribution in https://github.com/ultralytics/ultralytics/pull/23026
Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.6...v8.4.7