ZipDepth
ZipDepth è una CNN compatta e riparametrizzabile distillata da Depth Anything V2 Large che predice una mappa densa di profondità inversa relativa. LibreYOLO lo supporta per il task depth: predizione e validazione zero-shot, senza percorso di addestramento.
- Task
- depth
- Dimensioni
- b, bnpu at 384 px
- Installa
pip install libreyolo- Livello di supporto
- Solo inferenza, dalla v. Solo predizione, validazione ed esportazione. Le funzionalità di addestramento non si applicano.
- Licenze
- Codice MIT, pesi MIT. Uso commerciale
Installazione
ZipDepth non richiede nessun extra opzionale. Tutto ciò che importa è già nell'installazione base.
pip install libreyoloPredizione
I pesi vengono scaricati da Hugging Face al primo utilizzo e restano in cache in locale.
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 # Stesso encoder, con una testa di upsampling senza unfold per i# compilatori che non supportano gather/unfold. L'output è visivamente# equivalente a quello del checkpoint b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)result.depth_map contiene una mappa densa di profondità inversa relativa:
valori più alti indicano una maggiore vicinanza alla camera, e i valori non
hanno unità metrica né scala confrontabile fra immagini. save=True scrive su
disco una visualizzazione di quella mappa con una colormap; Results.plot()
non copre questa famiglia, perché è definito solo per le normali di superficie
e i contorni. Vedi predizione per sorgenti, streaming e
gestione dei risultati.
Varianti
Due checkpoint, entrambi con la stessa capacità di encoder, che differiscono
solo nella testa di upsampling addestrata. b usa l'upsampling convesso e gira
su GPU o CPU. bnpu sostituisce quella testa con un decoder senza unfold per
NPU e compilatori edge che non supportano gather/unfold; il suo output è
documentato come visivamente equivalente a quello di b. Scegli bnpu quando
il target dell'esportazione è un runtime limitato, b negli altri casi.
Entrambi i checkpoint sono stati distillati da pseudo-etichette di Depth Anything V2 Large, quindi questa famiglia è il livello compatto e orientato all'edge del task depth di LibreYOLO, accanto agli encoder più grandi di Depth Anything V2.
L'addestramento non è offerto per questa famiglia. LibreZipDepth.train()
solleva sempre NotImplementedError: la ricetta upstream distilla
pseudo-etichette su un grande insieme di immagini che non è riproducibile come
un addestramento LibreYOLO. Addestra upstream su
fabiotosi92/ZipDepth e converti il
risultato con weights/convert_zipdepth_weights.py.
Validazione
val() esegue il validatore depth condiviso: allinea ogni predizione al suo
ground truth con una scala e uno shift ai minimi quadrati calcolati per
immagine, poi riporta le metriche standard di profondità relativa zero-shot,
AbsRel, RMSE e le tre soglie 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.yamlEsportazione
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: supportato | depth to TorchScript: supportato | depth to ExecuTorch: supportato | depth to TensorRT: supportato | depth to OpenVINO: supportato | depth to Paddle: non supportato | depth to MNN: non supportato | depth to RKNN: non supportato | depth to ncnn: supportato | depth to TFLite: non supportato | depth to CoreML: non supportato | depth to Core AI: supportato |
L'esportazione segue un contratto denso a risoluzione fissa: l'immagine di
origine viene ridimensionata per stiramento sul canvas esportato, e la mappa di
profondità restituita viene poi riportata al canvas originale. Un artefatto
esportato si ricarica con LibreYOLO() in base al suffisso del file, quindi un
file .onnx o .ncnn si comporta come un checkpoint e restituisce lo stesso
Results, con depth_map al posto dei box.
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 # La factory sceglie in base al suffisso del file, quindi un artefatto# esportato si carica come un qualsiasi checkpoint e restituisce lo# stesso oggetto Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)Checkpoint
Tutti i file di pesi pubblicati per questa famiglia.
| File | Ingresso (px) | Licenza dei pesi |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.
Licenze
Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.
Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.
- Lavoro originale
- ZipDepth, University of Bologna
- Licenza upstream
- MIT
- Sorgente upstream
- github.com/fabiotosi92/ZipDepth
- Codice LibreYOLO
- MIT
- Pesi
- MIT, ripubblicati su huggingface.co/LibreYOLO
- Interpretazione
- 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.
Citazione
@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}
}Copiato dal blocco di citazione degli autori disponibile su github.com/fabiotosi92/ZipDepth#-citation.