π Summary
This release introduces full support for multispectral (multi-channel) images in the Ultralytics ecosystem, allowing YOLO models to train, validate, predict, and export with images containing more than 3 channels (e.g., 10-channel multispectral data). π
π Key Changes
-
Multispectral Image Support:
- Added robust handling for images with any number of channels (not just RGB) across all YOLO tasks (detection, segmentation, pose, classification, etc.).
- Introduced a
channels
field in dataset configuration files to specify the number of image channels. - Updated data loaders, caching, and image reading utilities to correctly process multi-channel images, including TIFF support.
- All model initialization, training, validation, and export routines now dynamically adapt to the dataset's channel count.
-
New COCO8-Multispectral Dataset:
- Added a 10-channel multispectral version of the COCO8 dataset for rapid testing and experimentation.
- Provided a utility to convert standard RGB images to multispectral format via interpolation.
- Comprehensive documentation and usage examples for multispectral datasets.
-
Augmentation & Preprocessing Improvements:
- Data augmentations and transformations now intelligently apply only to compatible channel configurations.
- Enhanced plotting and visualization to handle multi-channel data gracefully.
-
Other Notable Updates:
- Improved MobileSAM documentation for clarity and easier comparison with YOLO models.
- Updated callbacks documentation with a new, more relevant YouTube tutorial.
- Enhanced dataset splitting utilities and documentation for classification tasks.
- Standardized logging for warnings and errors, making messages clearer and more consistent.
- Improved test coverage for ARM64 systems and multispectral workflows.
π― Purpose & Impact
-
Unlocks Advanced Use Cases:
- Enables researchers and practitioners to work with multispectral and hyperspectral imagery (e.g., satellite, medical, or scientific images) directly in Ultralytics and YOLO models.
- Facilitates new applications in agriculture, remote sensing, and any domain requiring spectral analysis beyond standard RGB.
-
Seamless Integration:
- Multispectral support is built-in and automaticβno need for custom code or workarounds.
- All core YOLO workflows (training, validation, prediction, export) now support multi-channel data out of the box.
-
Enhanced Experimentation:
- The new COCO8-Multispectral dataset provides a quick, lightweight way to test multispectral pipelines and debug models.
- Utility functions make it easy to convert existing datasets to multispectral format for experimentation.
-
Improved Usability & Documentation:
- Clearer docs, better logging, and more robust dataset handling make the platform easier to use for both new and advanced users.
- ARM64 and cross-platform improvements ensure broader compatibility.
In summary:
This update is a major step forward for users needing advanced image analysis, making Ultralytics and YOLO models more versatile and ready for real-world, multi-channel data challenges. π
What's Changed
- Update MobileSAM documentation by @glenn-jocher in #20219
- Add https://youtu.be/ENQXiK7HF5o to docs by @RizwanMunawar in #20218
- New COCO8-Multispectral dataset by @glenn-jocher in #20221
- Add Tests CI after building Arm64 Docker images by @lakshanthad in #19672
- RTDETR: Remove unused
preprocess_batch
function by @Laughing-q in #20215 - Fix stale workflow by @Y-T-G in #20227
- Update extra.js with
0.3.20/dist/embed.min.js
by @glenn-jocher in #20230 - Allow validation with
rect
for dynamic models by @Y-T-G in #20232 - Scope
tensorboard.SummaryWriter
import by @glenn-jocher in #20220 - Fix test_solutions.py Streamlit test by @glenn-jocher in #20233
- Classify results background transparency by @glenn-jocher in #20239
- Fix Annotator tuples>lists by @glenn-jocher in #20242
- Add PIL
results.plot(save=True)
test by @glenn-jocher in #20241 - Refactor
autosplit
and implementsplit_classify_dataset
by @glenn-jocher in #20245 - Integrate "WARNING β οΈ" and "ERROR β" prefixes for LOGGER by @glenn-jocher in #20246
- Update
build_reference.py
for automaticmkdocs.yml
updates by @glenn-jocher in #20247 ultralytics 8.3.12
New YOLO Multispectral Image Support by @Laughing-q in #20223
Full Changelog: v8.3.111...v8.3.112