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-пакетов. Всё, что он импортирует, входит в базовую установку.
pip install libreyoloПредсказание
Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.
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)libreyolo predict model=LibreZipDepthb-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom 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.
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"])libreyolo val model=LibreZipDepthb-depth.pt data=my-dataset.yamlЭкспорт
| Задача | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth 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 вместо рамок.
from libreyolo import LibreYOLO model = LibreYOLO("LibreZipDepthb-depth.pt")model.export(format="onnx")model.export(format="ncnn")libreyolo export model=LibreZipDepthb-depth.pt format=onnxlibreyolo export model=LibreZipDepthbnpu-depth.pt format=ncnnfrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает загрузчик по суффиксу файла, поэтому экспортированный# артефакт загружается как любой чекпойнт и возвращает тот же Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)Чекпойнты
Все опубликованные файлы весов этого семейства.
| Файл | Вход (пикс.) | Лицензия весов |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
Все перечисленные выше файлы уже доступны в организации 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.