ZipDepth

ZipDepth to kompaktowa, reparametryzowalna sieć CNN destylowana z Depth Anything V2 Large, która przewiduje gęstą mapę względnej odwrotności głębi. LibreYOLO obsługuje ją w zadaniu estymacji głębi: do predykcji i walidacji zero-shot, bez ścieżki trenowania.

Zadania
depth
Rozmiary
b, bnpu at 384 px
Instalacja
pip install libreyolo
Poziom obsługi
Tylko inferencja, od wersji v. Tylko predykcja, walidacja i eksport. Funkcje trenowania nie mają zastosowania.
Projekt źródłowy
ZipDepth, autorzy: University of Bologna, licencja: MIT. Publikacja, kod źródłowy
Licencje
Kod: MIT, wagi: MIT. Użycie komercyjne

Instalacja

ZipDepth nie wymaga żadnego opcjonalnego dodatku. Wszystkie importowane elementy znajdują się w instalacji podstawowej.

bash
pip install libreyolo

Predykcja

Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej pamięci podręcznej.

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
Checkpoint NPU/edge
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Ten sam enkoder z głowicą skalowania bez unfold dla kompilatorów bez obsługi# gather/unfold. Wynik jest wizualnie równoważny checkpointowi b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map zawiera gęstą mapę względnej odwrotności głębi: wyższe wartości oznaczają mniejszą odległość od kamery, a wartości nie mają jednostki metrycznej ani skali wspólnej dla obrazów. Ustawienie save=True zapisuje na dysku wizualizację tej mapy z nałożoną paletą kolorów. Results.plot() nie obsługuje tej rodziny, ponieważ zdefiniowano go tylko dla normalnych powierzchni i krawędzi. Więcej informacji o źródłach, streamingu i obsłudze wyników zawiera strona predykcji.

Warianty

Dwa checkpointy mają tę samą pojemność enkodera, a różnią się tylko wytrenowaną głowicą skalowania. b używa skalowania wypukłego i działa na GPU lub CPU. bnpu zastępuje je dekoderem bez unfold dla NPU i kompilatorów brzegowych bez obsługi gather/unfold. Jego wynik jest opisany jako wizualnie równoważny b. bnpu należy wybrać dla ograniczonego docelowego środowiska eksportu, a w pozostałych przypadkach b.

Oba checkpointy destylowano z pseudoetykiet Depth Anything V2 Large. Ta rodzina jest zatem kompaktowym poziomem zadania głębi LibreYOLO przeznaczonym do urządzeń brzegowych, obok większych enkoderów Depth Anything V2.

Ta rodzina nie obsługuje trenowania. LibreZipDepth.train() zawsze zgłasza NotImplementedError. Procedura źródłowa destyluje pseudoetykiety na dużym zbiorze obrazów, czego nie można odtworzyć jako przebiegu trenowania LibreYOLO. Model należy wytrenować w projekcie źródłowym fabiotosi92/ZipDepth, a wynik przekonwertować za pomocą weights/convert_zipdepth_weights.py.

Walidacja

val() uruchamia wspólny walidator głębi. Dopasowuje każdą predykcję do jej danych referencyjnych (ground truth), obliczając dla każdego obrazu skalę i przesunięcie metodą najmniejszych kwadratów, po czym zwraca standardowe metryki głębi względnej zero-shot: AbsRel, RMSE i trzy progi 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

Eksport

ZadanieONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: obsługiwanedepth to TorchScript: obsługiwanedepth to ExecuTorch: obsługiwanedepth to TensorRT: obsługiwanedepth to OpenVINO: obsługiwanedepth to Paddle: brak obsługidepth to MNN: brak obsługidepth to RKNN: brak obsługidepth to ncnn: obsługiwanedepth to TFLite: brak obsługidepth to CoreML: brak obsługidepth to Core AI: obsługiwane

Eksport korzysta ze stałego kontraktu gęstej rozdzielczości. Obraz źródłowy jest rozciągany do wyeksportowanego obszaru, a zwrócona mapa głębi jest potem skalowana do oryginalnego obszaru. Wyeksportowany artefakt jest ponownie ładowany przez LibreYOLO() na podstawie rozszerzenia pliku, dlatego plik .onnx lub .ncnn zachowuje się jak checkpoint i zwraca ten sam obiekt Results, z depth_map zamiast ramek.

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
Użycie wyeksportowanego pliku
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Fabryka wybiera ścieżkę na podstawie rozszerzenia pliku, więc wyeksportowany artefakt# ładuje się jak każdy checkpoint i zwraca ten sam obiekt Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Checkpointy

Wszystkie opublikowane pliki wag dla tej rodziny.

PlikWejście (px)Licencja wag
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

Każdy z powyższych plików jest obecnie dostępny w organizacji LibreYOLO i pobierany przy pierwszym użyciu.

Licencja

Sprawdź licencję w repozytorium konkretnych pobieranych wag na Hugging Face. Każdy checkpoint w organizacji LibreYOLO ma licencję, która nie zawsze jest taka sama w całej rodzinie. To repozytorium jest źródłem rozstrzygającym, a poniższe podsumowanie opisuje stan z chwili ostatniej weryfikacji tej strony.

To opis obowiązujących licencji, a nie porada prawna. Jeśli odpowiedź ma znaczenie komercyjne, przeczytaj licencje i zasięgnij własnej porady prawnej.

Oryginalna praca
ZipDepth, University of Bologna
Licencja projektu źródłowego
MIT
Kod źródłowy projektu
github.com/fabiotosi92/ZipDepth
Kod LibreYOLO
MIT
Wagi
MIT, ponownie opublikowane w huggingface.co/LibreYOLO
Interpretacja
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.

Cytowanie

@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}
}

Skopiowano z bloku cytowania autorów w github.com/fabiotosi92/ZipDepth#-citation.

Zweryfikowano z LibreYOLO v1.5.0. Tabele obsługi, checkpointy i wyniki benchmarków na tej stronie są generowane na podstawie wydanej biblioteki i opublikowanych wag, a nie wpisywane ręcznie.