🌟 Summary
Ultralytics 8.4.123 expands depth-estimation dataset compatibility, allowing standard scaled PNG and floating-point NPY depth maps to be used directly across training, NDJSON conversion, and Ultralytics Platform workflows. 🚀
📊 Key Changes
-
🗂️ Broader depth format support
- Accepts plain 16-bit grayscale PNG depth maps.
- Adds support for floating-point
.npydepth maps with values stored in meters. - PNG files no longer require Ultralytics-specific embedded metadata.
-
⚙️ Configurable depth scaling
- Adds the optional
depth_scaledataset YAML field. - Defaults to
1000, meaning PNG values are interpreted as millimeters. - Supports datasets with other conventions, such as KITTI (
256) and Virtual KITTI 2 (100).
- Adds the optional
-
🔗 Improved dataset pairing and validation
- Depth files are matched by filename stem in parallel
images/anddepth/directories. - PNG files are preferred, with automatic fallback to NPY files.
- Depth maps may use a smaller resolution than RGB images when their aspect ratios match.
- Invalid values, including zero, NaN, and infinity, are safely handled.
- Depth files are matched by filename stem in parallel
-
📥 NDJSON depth dataset support
- Depth records now only require a paired
depth.url. - Dataset-level
depth_scaleis preserved when converting NDJSON to YOLO format. - Large downloads are processed in batches to reduce memory usage.
- Depth records now only require a paired
-
☁️ Ultralytics Platform integration
- Depth datasets can now be uploaded, exported, and used for training on the Platform.
- NDJSON exports include the depth task, scaling configuration, and paired depth URLs.
- Depth estimation is now fully listed among the Platform’s supported task types.
-
🧰 Dataset configurations updated
- Built-in depth datasets now preserve their native storage scales instead of converting everything to meter-based metadata PNGs.
- Documentation and tests were updated for ARKitScenes, DIODE, KITTI, TartanAir, Virtual KITTI 2, Depth8, and other depth datasets.
🎯 Purpose & Impact
- ✅ Easier dataset adoption: Existing depth datasets can be used with less preprocessing and fewer custom conversion scripts.
- 📦 Simpler, more portable files: Plain PNG and NPY formats work with common tools and do not depend on special PNG metadata.
- 🎯 More accurate dataset handling: Dataset-specific scales preserve the intended precision and depth range.
- 🚀 End-to-end depth workflows: Users can now prepare, upload, convert, and train depth datasets through the Ultralytics Platform.
⚠️ Migration consideration: Older self-describing Ultralytics depth PNGs that rely on embedded metadata may need to be converted to the new scaled PNG format. See the depth dataset format documentation.
What's Changed
- Accept existing depth dataset formats by @glenn-jocher in #25859
Full Changelog: v8.4.122...v8.4.123