ZipDepth

ZipDepth es una CNN compacta y reparametrizable destilada de Depth Anything V2 Large que predice un mapa denso de profundidad inversa relativa. LibreYOLO lo soporta para la tarea de profundidad: predicción y validación zero-shot, sin ruta de entrenamiento.

Tareas
depth
Tamaños
b, bnpu at 384 px
Instalación
pip install libreyolo
Nivel de compatibilidad
Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
Proyecto original
ZipDepth de University of Bologna, MIT. Artículo, fuente
Licencias
Código MIT, pesos MIT. Uso comercial

Instalación

ZipDepth no necesita ningún extra opcional. Todo lo que importa está en la instalación base.

bash
pip install libreyolo

Predicción

Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché 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 # El mismo encoder, con una cabeza de upsampling sin unfold para# compiladores que no soportan gather/unfold. La salida es visualmente# equivalente a la del checkpoint b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map lleva un mapa denso de profundidad inversa relativa: los valores más altos significan más cerca de la cámara, y los valores no tienen unidad métrica ni escala común entre imágenes. save=True escribe en disco una visualización de ese mapa con un mapa de color; Results.plot() no cubre esta familia, ya que está definido solo para normales de superficie y bordes. Consulta predicción para fuentes, streaming y manejo de resultados.

Variantes

Dos checkpoints, ambos con la misma capacidad de encoder, que se diferencian solo en la cabeza de upsampling entrenada. b usa upsampling convexo y se ejecuta en GPU o CPU. bnpu cambia esa cabeza por un decoder sin unfold para NPU y compiladores edge que no soportan gather/unfold; su salida está documentada como visualmente equivalente a la de b. Elige bnpu cuando el destino de la exportación sea un runtime limitado, y b en el resto de casos.

Ambos checkpoints se destilaron a partir de pseudo-etiquetas de Depth Anything V2 Large, así que esta familia es el nivel compacto y orientado a edge de la tarea de profundidad de LibreYOLO, junto a los encoders más grandes de Depth Anything V2.

El entrenamiento no se ofrece para esta familia. LibreZipDepth.train() lanza NotImplementedError de forma incondicional: la receta upstream destila pseudo-etiquetas sobre un conjunto grande de imágenes que no es reproducible como un entrenamiento de LibreYOLO. Entrena upstream en fabiotosi92/ZipDepth y convierte el resultado con weights/convert_zipdepth_weights.py.

Validación

val() ejecuta el validador de profundidad compartido: alinea cada predicción con su ground truth mediante una escala y un desplazamiento por mínimos cuadrados calculados para cada imagen, y después reporta las métricas estándar de profundidad relativa zero-shot, AbsRel, RMSE y los tres umbrales 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

Exportación

TareaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: compatibledepth to TorchScript: compatibledepth to ExecuTorch: compatibledepth to TensorRT: compatibledepth to OpenVINO: compatibledepth to Paddle: no compatibledepth to MNN: no compatibledepth to RKNN: no compatibledepth to ncnn: compatibledepth to TFLite: no compatibledepth to CoreML: no compatibledepth to Core AI: compatible

La exportación sigue un contrato denso de resolución fija: la imagen de origen se reescala por estiramiento al lienzo exportado, y el mapa de profundidad devuelto se reescala después de vuelta al lienzo original. Un artefacto exportado se vuelve a cargar con LibreYOLO() según su extensión de archivo, así que un archivo .onnx o .ncnn se comporta como un checkpoint y devuelve el mismo Results, con depth_map en lugar de 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 el archivo exportado
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factoría enruta según la extensión del archivo, así que un artefacto# exportado se carga como cualquier checkpoint y devuelve el mismo objeto# Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Checkpoints

Todos los archivos de pesos publicados de esta familia.

ArchivoEntrada (px)Licencia de los pesos
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.

Licencia

Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.

Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.

Trabajo original
ZipDepth, University of Bologna
Licencia del proyecto original
MIT
Fuente del proyecto original
github.com/fabiotosi92/ZipDepth
Código de LibreYOLO
MIT
Pesos
MIT, republicados en huggingface.co/LibreYOLO
Interpretación
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

@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 del bloque de cita de los autores en github.com/fabiotosi92/ZipDepth#-citation.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.