ZipDepth

ZipDepth est un CNN compact reparamétrable, distillé depuis Depth Anything V2 Large, qui prédit une carte dense de profondeur inverse relative. LibreYOLO le prend en charge pour la tâche de profondeur : prédiction et validation zero-shot, sans entraînement.

Tâches
depth
Tailles
b, bnpu at 384 px
Installer
pip install libreyolo
Niveau de support
Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
Origine
ZipDepth par University of Bologna, MIT. Article, source
Licences
Code MIT, poids MIT. Usage commercial

Installer

ZipDepth ne nécessite aucun extra facultatif. Tous ses imports sont inclus dans l'installation de base.

bash
pip install libreyolo

Prédire

Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.

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 # Même encodeur, avec une tête d'upsampling sans unfold pour les compilateurs dépourvus# de prise en charge de gather/unfold. La sortie est visuellement équivalente au checkpoint b.model = LibreYOLO("LibreZipDepthbnpu-depth.pt")result = model(SAMPLE_IMAGE, save=True)

result.depth_map contient une carte dense de profondeur inverse relative\u00a0: les valeurs élevées représentent les éléments les plus proches de la caméra, et les valeurs n'ont aucune unité métrique ni échelle commune aux différentes images. save=True écrit sur disque une visualisation en fausses couleurs de cette carte. Results.plot() ne couvre pas cette famille, car cette méthode est définie uniquement pour les normales de surface et les contours. Consultez la prédiction pour les sources, le streaming et la gestion des résultats.

Variantes

Deux checkpoints de même capacité d'encodeur ne se distinguent que par leur tête d'upsampling entraînée. b utilise un upsampling convexe et s'exécute sur GPU ou CPU. bnpu emploie un décodeur sans unfold pour les NPU et les compilateurs edge dépourvus de prise en charge de gather/unfold\u00a0; sa sortie est documentée comme visuellement équivalente à celle de b. Choisissez bnpu lorsque la cible d'export est un runtime contraint, et b dans les autres cas.

Les deux checkpoints ont été distillés à partir de pseudo-étiquettes de Depth Anything V2 Large. Cette famille constitue donc le niveau compact orienté edge de la tâche de profondeur de LibreYOLO, aux côtés des encodeurs Depth Anything V2 plus grands.

Cette famille ne propose aucun entraînement. LibreZipDepth.train() lève toujours NotImplementedError\u00a0: la recette upstream distille des pseudo-étiquettes sur un vaste ensemble d'images qui ne peut pas être reproduit comme une exécution d'entraînement LibreYOLO. Entraînez le modèle upstream sur fabiotosi92/ZipDepth, puis convertissez le résultat avec weights/convert_zipdepth_weights.py.

Valider

val() exécute le validateur de profondeur partagé\u00a0: il aligne chaque prédiction sur sa vérité terrain avec une échelle et un décalage par image obtenus par moindres carrés, puis rapporte les mesures standard de profondeur relative zero-shot, AbsRel, RMSE et les trois seuils 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

Exporter

TâcheONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX : pris en chargedepth to TorchScript : pris en chargedepth to ExecuTorch : pris en chargedepth to TensorRT : pris en chargedepth to OpenVINO : pris en chargedepth to Paddle : non pris en chargedepth to MNN : non pris en chargedepth to RKNN : non pris en chargedepth to ncnn : pris en chargedepth to TFLite : non pris en chargedepth to CoreML : non pris en chargedepth to Core AI : pris en charge

L'export suit un contrat dense à résolution fixe\u00a0: l'image source est étirée jusqu'au canevas exporté, puis la carte de profondeur renvoyée est redimensionnée au canevas d'origine. Un artefact exporté se recharge dans LibreYOLO() grâce au suffixe de son fichier. Un fichier .onnx ou .ncnn se comporte donc comme un checkpoint et renvoie les mêmes Results, avec depth_map à la place des bounding 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
Utiliser le fichier exporté
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La fabrique détermine le chemin selon le suffixe du fichier ; un artefact exporté se charge# donc comme tout checkpoint et renvoie le même objet Results.model = LibreYOLO("LibreZipDepthb-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Checkpoints

Tous les fichiers de poids publiés pour cette famille.

FichierEntrée (px)Licence des poids
depth
LibreZipDepthb-depth.ptmit
LibreZipDepthbnpu-depth.ptmit

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
ZipDepth, University of Bologna
Licence du projet d'origine
MIT
Source du projet d'origine
github.com/fabiotosi92/ZipDepth
Code de LibreYOLO
MIT
Poids
MIT, republiés sur huggingface.co/LibreYOLO
Interprétation
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.

Citation

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

Copié depuis le bloc de citation des auteurs sur github.com/fabiotosi92/ZipDepth#-citation.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.