Depth Anything 3

Depth Anything 3 est un simple transformer DINOv2 entraîné à prédire la profondeur et la géométrie de caméra à partir d'une ou plusieurs vues, sans aucune spécialisation architecturale. LibreYOLO porte son checkpoint DA3MONO-LARGE pour la tâche de profondeur : prédiction et validation zero-shot, sans chemin d'entraînement.

Tâches
depth
Tailles
l at 504 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
Depth Anything 3 par ByteDance Seed, Apache-2.0. Article, source
Licences
Code Apache-2.0, poids Apache-2.0. Usage commercial

Installation

Depth Anything 3 ne demande aucun extra optionnel. Tout ce qu'il importe fait partie de l'installation de base.

bash
pip install libreyolo

Prédire

Les poids sont téléchargés depuis Hugging Face au premier usage, puis mis en cache localement.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnything3l-depth.pt")result = model(SAMPLE_IMAGE, save=True) depth = result.depth_mapprint(depth.min, depth.max, depth.mean)
CLI
libreyolo predict model=LibreDepthAnything3l-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Lire la carte de profondeur
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnything3l-depth.pt")result = model(SAMPLE_IMAGE) depth = result.depth_map    # DepthMap dense (H, W), plus grand = plus procheraw = depth.data                # tenseur, sans unité ni échelle communenormalized = depth.normalized() # ramené à [0, 1] pour la visualisation

result.depth_map porte une carte dense de profondeur inverse relative : des valeurs plus élevées signifient plus proche de la caméra, et ces valeurs n'ont ni unité métrique ni échelle commune d'une image à l'autre. Le checkpoint amont produit une profondeur relative positive ; le wrapper réseau de LibreYOLO l'inverse et reproduit le traitement officiel du ciel, si bien que la sortie respecte le contrat de profondeur partagé de LibreYOLO. save=True écrit sur disque une visualisation colorisée de cette carte ; Results.plot() ne couvre pas cette famille, puisqu'elle n'est définie que pour les normales de surface et les contours. Voir la prédiction pour les sources, le streaming et le traitement des résultats.

Variantes

Une seule taille, l, à une résolution d'entrée fixe. En amont, DA3 publie aussi des checkpoints any-view Small et Base, un checkpoint de profondeur métrique, ainsi que des checkpoints Nested et Giant ; LibreYOLO n'en expose aucun. La profondeur métrique demande un contrat public différent de la tâche de profondeur inverse relative de LibreYOLO, et les checkpoints any-view et Nested demandent une API caméra multi-images que LibreYOLO ne propose pas. Les checkpoints any-view Large et Giant sont par ailleurs sous CC-BY-NC-4.0 et ne sont référencés par aucun chemin de téléchargement de LibreYOLO.

L'entraînement n'est pas proposé pour cette famille. LibreDepthAnything3.train() lève NotImplementedError sans condition ; entraînez en amont, puis convertissez un checkpoint DA3MONO-LARGE compatible avec weights/convert_depth_anything3_weights.py.

Valider

val() exécute le validateur de profondeur partagé : il aligne chaque prédiction sur sa vérité terrain avec une échelle et un décalage estimés par moindres carrés image par image, puis rapporte les métriques standard de profondeur relative en zero-shot, AbsRel, RMSE et les trois seuils delta.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnything3l-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=LibreDepthAnything3l-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 : non pris en chargedepth to TFLite : non pris en chargedepth to CoreML : non pris en chargedepth to Core AI : non pris en charge

L'export est limité à cinq formats pour cette famille : ONNX, TorchScript, ExecuTorch, TensorRT et OpenVINO. Demander tout autre format lève NotImplementedError plutôt que de tenter une conversion non validée. Un artefact exporté se recharge via LibreYOLO() d'après son suffixe de fichier, si bien qu'un fichier .onnx ou .engine se comporte comme un checkpoint et renvoie le même objet Results, avec depth_map à la place des boîtes.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnything3l-depth.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreDepthAnything3l-depth.pt format=onnxlibreyolo export model=LibreDepthAnything3l-depth.pt format=tensorrt half=True
Utiliser le fichier exporté
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factory route selon le suffixe du fichier, donc un artefact exporté# se charge comme un checkpoint et renvoie le même objet Results.model = LibreYOLO("LibreDepthAnything3l-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
LibreDepthAnything3l-depth.ptapache-2.0

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
Depth Anything 3, ByteDance Seed
Licence du projet d'origine
Apache-2.0
Code de LibreYOLO
MIT
Poids
Apache-2.0, republiés sur huggingface.co/LibreYOLO
Interprétation
Apache-2.0 is a permissive license, so the DA3MONO-LARGE checkpoint LibreYOLO ports can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy you redistribute, and it grants a patent license. It places no obligation on your own application code. The upstream project also publishes CC-BY-NC-4.0 Large, Giant and Nested checkpoints for its any-view and multi-view modes; LibreYOLO does not port those, so that non-commercial license never reaches anything this family downloads.

Citation

@article{depthanything3,
  title={Depth Anything 3: Recovering the visual space from any views},
  author={Haotong Lin and Sili Chen and Jun Hao Liew and Donny Y. Chen and Zhenyu Li and Guang Shi and Jiashi Feng and Bingyi Kang},
  journal={arXiv preprint arXiv:2511.10647},
  year={2025}
}

Copié depuis le bloc de citation des auteurs sur github.com/ByteDance-Seed/Depth-Anything-3#-citations.

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.