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.
pip install libreyoloPredição
Os pesos são baixados do Hugging Face no primeiro uso e ficam em cache local.
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 # 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.
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.yamlExportação
| Tarefa | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: compatível | depth to TorchScript: compatível | depth to ExecuTorch: compatível | depth to TensorRT: compatível | depth to OpenVINO: compatível | depth to Paddle: incompatível | depth to MNN: incompatível | depth to RKNN: incompatível | depth to ncnn: compatível | depth to TFLite: incompatível | depth to CoreML: incompatível | depth 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.
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 # 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.
| Arquivo | Entrada (px) | Licença dos pesos |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
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.