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.
pip install libreyoloPredykcja
Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej pamięci podręcznej.
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 # 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.
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.yamlEksport
| Zadanie | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: obsługiwane | depth to TorchScript: obsługiwane | depth to ExecuTorch: obsługiwane | depth to TensorRT: obsługiwane | depth to OpenVINO: obsługiwane | depth to Paddle: brak obsługi | depth to MNN: brak obsługi | depth to RKNN: brak obsługi | depth to ncnn: obsługiwane | depth to TFLite: brak obsługi | depth to CoreML: brak obsługi | depth 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.
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 # 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.
| Plik | Wejście (px) | Licencja wag |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
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.