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.
Origine
ZipDepth di University of Bologna, MIT. Articolo, sorgente
Licenze
Codice MIT, pesi MIT. Uso commerciale

Installazione

ZipDepth non richiede nessun extra opzionale. Tutto ciò che importa è già nell'installazione base.

bash
pip install libreyolo

Predizione

I pesi vengono scaricati da Hugging Face al primo utilizzo e restano in cache in locale.

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 # 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.

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

Esportazione

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: supportatodepth to TorchScript: supportatodepth to ExecuTorch: supportatodepth to TensorRT: supportatodepth to OpenVINO: supportatodepth to Paddle: non supportatodepth to MNN: non supportatodepth to RKNN: non supportatodepth to ncnn: supportatodepth to TFLite: non supportatodepth to CoreML: non supportatodepth 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.

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
Usare il file esportato
from 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.

FileIngresso (px)Licenza dei pesi
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

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
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.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.