🌟 Summary
v8.4.122 standardizes Ultralytics depth estimation around compact, self-describing 16-bit PNG depth maps—simplifying the data pipeline and significantly reducing storage requirements. 🖼️📉
📊 Key Changes
- Canonical depth format introduced: Depth targets now use 16-bit PNG files with embedded metadata describing their meter range.
- Invalid pixels are clearly represented: Pixel value
0is reserved for missing or invalid depth values, allowing training and evaluation to ignore them safely. - New depth utilities added:
save_depth_png()writes depth maps in the required format.load_depth()reconstructs meter-valued depth maps for training and inference.
- NPY support removed: The depth loader, converters, manifests, path handling, and compatibility fallbacks no longer support
.npydepth maps. - Dataset support updated: Built-in depth dataset configurations and generators—including Depth8, NYU Depth, KITTI, SUN RGB-D, DIODE, Hypersim, TartanAir, Virtual KITTI 2, and ARKitScenes—now produce and consume PNG depth maps.
- NDJSON conversion updated: Depth records must use the
linear-u16PNG encoding contract. - Documentation and tests refreshed: Depth dataset guides, task documentation, reference pages, and validation tests now describe the PNG-only workflow.
- Smaller published archives:
- Depth8 archive reduced to approximately 8.9% of its previous size.
- NYU Depth archive reduced to approximately 39.6% of its previous size. 🚀
🎯 Purpose & Impact
- Lower storage and download costs: PNG compression substantially reduces dataset and hosted asset sizes.
- More portable depth files: Each PNG contains the information needed to interpret its depth values, making files easier to move, inspect, and process independently.
- Simpler, more consistent tooling: All supported depth datasets now follow one file format and one loading path.
- Improved browser/display behavior: The encoding preserves valid depth information when 16-bit assets are viewed through systems that reduce them to 8-bit displays.
- Important migration requirement: Existing custom datasets using
.npydepth maps must be converted to the new metadata-enabled PNG format before use with this release. Existing hosted depth assets also require the planned production migration; no runtime compatibility layer is included. - No major model architecture change: This release primarily improves the YOLO26-Depth data representation and dataset pipeline, rather than changing model structure or training objectives.
What's Changed
- Use canonical PNG depth maps by @glenn-jocher in #25858
Full Changelog: v8.4.121...v8.4.122