ZipDepth

O ZipDepth é uma CNN compacta e reparametrizável destilada do Depth Anything V2 Large que prediz um mapa denso de profundidade inversa relativa. O LibreYOLO oferece suporte a ele na tarefa de profundidade: predição e validação zero-shot, sem caminho de treinamento.

Tarefas
depth
Tamanhos
b, bnpu at 384 px
Instalação
pip install libreyolo
Nível de suporte
Somente inferência, desde a v. Somente predição, validação e exportação. Os recursos de treinamento não se aplicam.
Origem
ZipDepth por University of Bologna, MIT. Artigo, código-fonte
Licenças
Código MIT, pesos MIT. Uso comercial

Instalação

O ZipDepth não precisa de nenhum extra opcional. Tudo o que ele importa está na instalação base.

bash
pip install libreyolo

Predição

Os pesos são baixados do Hugging Face no primeiro uso e ficam em cache local.

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 # Mesmo encoder, com uma cabeça de upsampling sem unfold para compiladores# sem suporte a gather/unfold. A saída é visualmente equivalente à do checkpoint b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map carrega um mapa denso de profundidade inversa relativa: valores maiores significam mais perto da câmera, e os valores não têm unidade métrica nem escala entre imagens. save=True grava em disco uma visualização desse mapa com mapa de cores; Results.plot() não cobre esta família, já que está definido apenas para normais de superfície e bordas. Veja predição para fontes, streaming e tratamento de resultados.

Variantes

Dois checkpoints, ambos com a mesma capacidade de encoder, diferindo apenas na cabeça de upsampling treinada. O b usa upsampling convexo e roda em GPU ou CPU. O bnpu troca por um decoder sem unfold, para compiladores de NPU e edge que não têm suporte a gather/unfold; sua saída é documentada como visualmente equivalente à do b. Escolha bnpu quando o alvo da exportação for um runtime restrito, e b caso contrário.

Os dois checkpoints foram destilados de pseudo-labels do Depth Anything V2 Large, então esta família é o nível compacto e voltado a edge da tarefa de profundidade do LibreYOLO, ao lado dos encoders maiores do Depth Anything V2.

O treinamento não é oferecido para esta família. LibreZipDepth.train() levanta NotImplementedError incondicionalmente: a receita upstream destila pseudo-labels sobre um grande conjunto de imagens que não é reproduzível como uma execução de treinamento do LibreYOLO. Treine upstream em fabiotosi92/ZipDepth e converta o resultado com weights/convert_zipdepth_weights.py.

Validação

val() roda o validador de profundidade compartilhado: ele alinha cada predição ao seu ground truth com uma escala e um deslocamento de mínimos quadrados por imagem, e depois reporta as métricas padrão de profundidade relativa zero-shot, AbsRel, RMSE e os três limiares 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

Exportação

TarefaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: compatíveldepth to TorchScript: compatíveldepth to ExecuTorch: compatíveldepth to TensorRT: compatíveldepth to OpenVINO: compatíveldepth to Paddle: incompatíveldepth to MNN: incompatíveldepth to RKNN: incompatíveldepth to ncnn: compatíveldepth to TFLite: incompatíveldepth to CoreML: incompatíveldepth to Core AI: compatível

A exportação segue um contrato denso de resolução fixa: a imagem de origem é redimensionada com distorção para o canvas exportado, e o mapa de profundidade devolvido é redimensionado de volta ao canvas original em seguida. Um artefato exportado é carregado de volta por LibreYOLO() pelo sufixo do arquivo, então um arquivo .onnx ou .ncnn se comporta como um checkpoint e devolve o mesmo Results, com depth_map no lugar dos boxes.

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
Usar o arquivo exportado
from libreyolo import LibreYOLO, SAMPLE_IMAGE # A factory roteia pelo sufixo do arquivo, então um artefato exportado# carrega como qualquer checkpoint e devolve o mesmo objeto Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Checkpoints

Todos os arquivos de pesos publicados desta família.

ArquivoEntrada (px)Licença dos pesos
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

Todos os arquivos acima existem hoje na organização LibreYOLO e são baixados no primeiro uso.

Licenciamento

Confira a licença no repositório do Hugging Face correspondente aos pesos que você baixar. Cada checkpoint na organização LibreYOLO tem uma licença, e ela nem sempre é a mesma em toda a família. Esse repositório é a fonte oficial. O resumo abaixo descreve o que se aplicava na última verificação desta página.

Esta é uma descrição das licenças envolvidas, não uma orientação jurídica. Se a resposta tiver importância comercial, leia as licenças e procure sua própria assessoria.

Trabalho original
ZipDepth, University of Bologna
Licença original
MIT
Código-fonte original
github.com/fabiotosi92/ZipDepth
Código do LibreYOLO
MIT
Pesos
MIT, republicado em huggingface.co/LibreYOLO
Interpretação
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.

Citação

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

Copiado do bloco de citação dos autores em github.com/fabiotosi92/ZipDepth#-citation.

Verificado com o LibreYOLO v1.5.0. As tabelas de suporte, os checkpoints e os números de benchmark desta página são gerados a partir da biblioteca lançada e dos pesos publicados, não escritos à mão.