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.
- 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.
pip install libreyoloPrédire
Les poids sont téléchargés depuis Hugging Face à la première utilisation et mis en cache localement.
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 # 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.
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.yamlExporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX : pris en charge | depth to TorchScript : pris en charge | depth to ExecuTorch : pris en charge | depth to TensorRT : pris en charge | depth to OpenVINO : pris en charge | depth to Paddle : non pris en charge | depth to MNN : non pris en charge | depth to RKNN : non pris en charge | depth to ncnn : pris en charge | depth to TFLite : non pris en charge | depth to CoreML : non pris en charge | depth 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.
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 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.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| depth | ||
| LibreZipDepthb-depth.pt | mit | |
| LibreZipDepthbnpu-depth.pt | mit | |
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.