ZipDepth
ZipDepth ist ein kompaktes, reparametrisierbares CNN, das aus Depth Anything V2 Large destilliert wurde und eine dichte relative inverse Tiefenkarte vorhersagt. LibreYOLO unterstützt es für die Tiefenaufgabe mit Vorhersage und Zero-Shot-Validierung, aber ohne Trainingspfad.
- Aufgaben
- depth
- Größen
- b, bnpu at 384 px
- Installation
pip install libreyolo- Supportstufe
- Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
- Upstream
- ZipDepth von University of Bologna, MIT. Publikation, Quelle
- Lizenzen
- Code MIT, Gewichte MIT. Kommerzielle Nutzung
Installation
ZipDepth benötigt kein optionales Extra. Alle Importe sind in der Basisinstallation enthalten.
pip install libreyoloVorhersage
Die Gewichte werden bei der ersten Verwendung von Hugging Face heruntergeladen und lokal zwischengespeichert.
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 # Derselbe Encoder mit einem Upsampling-Kopf ohne Unfold für Compiler ohne# Gather-/Unfold-Unterstützung. Die Ausgabe entspricht visuell dem b-Checkpoint.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)result.depth_map enthält eine dichte relative inverse Tiefenkarte. Höhere Werte bedeuten eine geringere Entfernung zur Kamera. Die Werte besitzen weder eine metrische Einheit noch eine bildübergreifende Skala. save=True schreibt eine farbcodierte Visualisierung dieser Karte auf den Datenträger. Results.plot() unterstützt diese Familie nicht, da die Methode nur für Oberflächennormalen und Kanten definiert ist. Unter Vorhersage findest du Informationen zu Quellen, Streaming und Ergebnisverarbeitung.
Varianten
Die beiden Checkpoints besitzen dieselbe Encoder-Kapazität und unterscheiden sich nur im trainierten Upsampling-Kopf. b verwendet konvexes Upsampling und läuft auf GPU oder CPU. bnpu ersetzt dies durch einen Decoder ohne Unfold für NPU- und Edge-Compiler, die Gather oder Unfold nicht unterstützen. Seine Ausgabe wird als visuell gleichwertig zu b beschrieben. Wähle bnpu für eine eingeschränkte Ziellaufzeitumgebung, andernfalls b.
Beide Checkpoints wurden aus Pseudo-Labels von Depth Anything V2 Large destilliert. Diese Familie bildet damit die kompakte, Edge-orientierte Stufe der Tiefenaufgabe von LibreYOLO neben den größeren Encodern von Depth Anything V2.
Für diese Familie wird kein Training angeboten. LibreZipDepth.train() löst bedingungslos NotImplementedError aus. Das Upstream-Rezept destilliert Pseudo-Labels über eine große Bildmenge und lässt sich nicht als LibreYOLO-Trainingslauf reproduzieren. Trainiere im Upstream-Projekt unter fabiotosi92/ZipDepth und konvertiere das Ergebnis mit weights/convert_zipdepth_weights.py.
Validierung
val() führt den gemeinsamen Tiefenvalidator aus. Er richtet jede Vorhersage anhand von Skalierung und Verschiebung nach der Methode der kleinsten Quadrate bildweise an der Ground Truth aus und meldet anschließend die üblichen Zero-Shot-Metriken für relative Tiefe: AbsRel, RMSE und die drei Delta-Schwellenwerte.
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.yamlExport
| Aufgabe | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: unterstützt | depth to TorchScript: unterstützt | depth to ExecuTorch: unterstützt | depth to TensorRT: unterstützt | depth to OpenVINO: unterstützt | depth to Paddle: nicht unterstützt | depth to MNN: nicht unterstützt | depth to RKNN: nicht unterstützt | depth to ncnn: unterstützt | depth to TFLite: nicht unterstützt | depth to CoreML: nicht unterstützt | depth to Core AI: unterstützt |
Der Export verwendet einen dichten Vertrag mit fester Auflösung. Das Quellbild wird gestreckt auf den exportierten Canvas skaliert und die zurückgegebene Tiefenkarte anschließend wieder auf den ursprünglichen Canvas gebracht. Ein exportiertes Artefakt wird über seine Dateiendung wieder durch LibreYOLO() geladen. Eine .onnx- oder .ncnn-Datei verhält sich daher wie ein Checkpoint und gibt dasselbe Results-Objekt zurück, wobei depth_map an die Stelle von Boxen tritt.
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 # Die Factory leitet anhand der Dateiendung weiter, daher wird ein exportiertes Artefakt# wie jeder Checkpoint geladen und gibt dasselbe Results-Objekt zurück.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)Checkpoints
Alle für diese Familie veröffentlichten Gewichtsdateien.
| Datei | Eingabe (px) | Lizenz der Gewichte |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.
Lizenzierung
Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.
Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.
- Originalarbeit
- ZipDepth, University of Bologna
- Upstream-Lizenz
- MIT
- Upstream-Quelle
- github.com/fabiotosi92/ZipDepth
- LibreYOLO-Code
- MIT
- Gewichte
- MIT, erneut unter huggingface.co/LibreYOLO veröffentlicht
- Einordnung
- 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.
Zitieren
@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}
}Aus dem Zitierblock der Autoren unter github.com/fabiotosi92/ZipDepth#-citation kopiert.