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.
- 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.
pip install libreyoloPredicción
Los pesos se descargan de Hugging Face en el primer uso y se guardan en la caché 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 # 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.
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.yamlExportación
| Tarea | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: compatible | depth to TorchScript: compatible | depth to ExecuTorch: compatible | depth to TensorRT: compatible | depth to OpenVINO: compatible | depth to Paddle: no compatible | depth to MNN: no compatible | depth to RKNN: no compatible | depth to ncnn: compatible | depth to TFLite: no compatible | depth to CoreML: no compatible | depth 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.
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 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.
| Archivo | Entrada (px) | Licencia de los pesos |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
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.