ZipDepth

ZipDepth — компактная репараметризуемая CNN, дистиллированная из Depth Anything V2 Large, которая предсказывает плотную карту относительной обратной глубины. LibreYOLO поддерживает его в задаче depth: предсказание и zero-shot валидация, обучение не предусмотрено.

Задачи
depth
Размеры
b, bnpu at 384 px
Установка
pip install libreyolo
Уровень поддержки
Только инференс, начиная с v. Только предсказание, валидация и экспорт. Функции обучения неприменимы.
Исходный проект
ZipDepth от University of Bologna, MIT. Статья, исходный код
Лицензии
Код: MIT, веса: MIT. Коммерческое использование

Установка

ZipDepth не требует установки дополнительных extra-пакетов. Всё, что он импортирует, входит в базовую установку.

bash
pip install libreyolo

Предсказание

Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreZipDepthb-depth.pt")result = model(SAMPLE_IMAGE, save=True) depth = result.depth_mapprint(depth.min, depth.max, depth.mean)
CLI
libreyolo predict model=LibreZipDepthb-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Чекпойнт для NPU/edge
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Тот же энкодер, но голова апсемплинга без unfold — для компиляторов# без поддержки gather/unfold. Выход визуально совпадает с чекпойнтом b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map содержит плотную карту относительной обратной глубины: большие значения означают, что точка ближе к камере, а у самих значений нет ни метрических единиц, ни общего масштаба между изображениями. save=True записывает на диск раскрашенную визуализацию этой карты; Results.plot() это семейство не покрывает, поскольку определён только для нормалей поверхности и краёв. Об источниках, стриминге и обработке результатов — в разделе предсказание.

Варианты

Два чекпойнта с одинаковой ёмкостью энкодера различаются только обученной головой апсемплинга. b использует выпуклый апсемплинг и работает на GPU или CPU. В bnpu вместо неё стоит декодер без unfold — для NPU и edge-компиляторов, где нет поддержки gather/unfold; его выход задокументирован как визуально эквивалентный b. Берите bnpu, когда целевая среда выполнения ограничена, и b во всех остальных случаях.

Оба чекпойнта дистиллированы из псевдоразметки Depth Anything V2 Large, так что это семейство — компактный, ориентированный на edge уровень задачи depth в LibreYOLO, наряду с более крупными энкодерами Depth Anything V2.

Обучение для этого семейства не предусмотрено. LibreZipDepth.train() всегда выбрасывает NotImplementedError: upstream-рецепт дистиллирует псевдоразметку по большому набору изображений, который невозможно воспроизвести как запуск обучения в LibreYOLO. Обучайте в upstream-проекте fabiotosi92/ZipDepth и конвертируйте результат скриптом weights/convert_zipdepth_weights.py.

Валидация

val() запускает общий валидатор глубины: он выравнивает каждое предсказание с эталонной разметкой (ground truth), подбирая по методу наименьших квадратов масштаб и сдвиг для каждого изображения, а затем выдаёт стандартные метрики относительной глубины в режиме zero-shot — AbsRel, RMSE и три пороговых значения delta.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/abs_rel"])print(metrics["metrics/rmse"])print(metrics["metrics/delta1"])
CLI
libreyolo val model=LibreZipDepthb-depth.pt data=my-dataset.yaml

Экспорт

ЗадачаONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: поддерживаетсяdepth to TorchScript: поддерживаетсяdepth to ExecuTorch: поддерживаетсяdepth to TensorRT: поддерживаетсяdepth to OpenVINO: поддерживаетсяdepth to Paddle: не поддерживаетсяdepth to MNN: не поддерживаетсяdepth to RKNN: не поддерживаетсяdepth to ncnn: поддерживаетсяdepth to TFLite: не поддерживаетсяdepth to CoreML: не поддерживаетсяdepth to Core AI: поддерживается

Экспорт работает по контракту плотного выхода с фиксированным разрешением: исходное изображение растягивается до размеров экспортированного холста, а полученная карта глубины после этого возвращается к исходному размеру. Экспортированный артефакт загружается обратно через LibreYOLO() по суффиксу файла, поэтому файл .onnx или .ncnn ведёт себя как чекпойнт и возвращает тот же Results, только с depth_map вместо рамок.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")model.export(format="onnx")model.export(format="ncnn")
CLI
libreyolo export model=LibreZipDepthb-depth.pt format=onnxlibreyolo export model=LibreZipDepthbnpu-depth.pt format=ncnn
Использование экспортированного файла
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает загрузчик по суффиксу файла, поэтому экспортированный# артефакт загружается как любой чекпойнт и возвращает тот же Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Чекпойнты

Все опубликованные файлы весов этого семейства.

ФайлВход (пикс.)Лицензия весов
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

Все перечисленные выше файлы уже доступны в организации LibreYOLO и скачиваются при первом использовании.

Лицензирование

Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.

Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.

Оригинальная работа
ZipDepth, University of Bologna
Лицензия исходного проекта
MIT
Исходный код проекта
github.com/fabiotosi92/ZipDepth
Код LibreYOLO
MIT
Веса
MIT, повторно опубликованы на huggingface.co/LibreYOLO
Толкование
MIT is a permissive license, so both checkpoints can be used in commercial and closed-source products with no redistribution restriction beyond keeping the license notice. It places no obligation on your own application code. The weights were trained by distilling pseudo-labels from Depth Anything V2 Large, whose Large checkpoint is itself CC-BY-NC-4.0; the ZipDepth authors publish the distilled student under MIT regardless, and LibreYOLO republishes that same MIT-licensed student.

Цитирование

@inproceedings{tosi2026zipdepth,
  title     = {ZipDepth: Bringing Lightweight Zero-Shot Monocular Depth Anywhere, on Any Device},
  author    = {Tosi, Fabio and Bartolomei, Luca and Poggi, Matteo and Mattoccia, Stefano},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2026}
}

Скопировано из блока цитирования авторов на странице github.com/fabiotosi92/ZipDepth#-citation.

Проверено с LibreYOLO v1.5.0. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.