Depth Anything 3
Depth Anything 3 — обычный трансформер DINOv2, обученный предсказывать глубину и геометрию камеры по одному или нескольким видам без какой-либо архитектурной специализации. В LibreYOLO портирован его чекпойнт DA3MONO-LARGE для задачи глубины: предсказание и zero-shot валидация, без пути обучения.
- Задачи
- depth
- Размеры
- l at 504 px
- Установка
pip install libreyolo- Уровень поддержки
- Только инференс, начиная с v. Только предсказание, валидация и экспорт. Функции обучения неприменимы.
- Исходный проект
- Depth Anything 3 от ByteDance Seed, Apache-2.0. Статья, исходный код
- Лицензии
- Код: Apache-2.0, веса: Apache-2.0. Коммерческое использование
Установка
Depth Anything 3 не нужны опциональные extra. Всё, что он импортирует, входит в базовую установку.
pip install libreyoloПредсказание
Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.
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)libreyolo predict model=LibreDepthAnything3l-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnything3l-depth.pt")result = model(SAMPLE_IMAGE) depth = result.depth_map # DepthMap: плотная (H, W), больше = ближеraw = depth.data # тензор, без метрических единиц и общего масштаба между изображениямиnormalized = depth.normalized() # приведена к [0, 1] для визуализацииresult.depth_map содержит плотную карту относительной обратной глубины:
большие значения означают, что точка ближе к камере, а сами значения не имеют
ни метрических единиц, ни общего масштаба между изображениями. Оригинальный
чекпойнт выдаёт положительную относительную глубину; сетевая обёртка LibreYOLO
инвертирует её и воспроизводит официальную обработку неба, чтобы выход
следовал общему контракту глубины в LibreYOLO. save=True сохраняет на диск
визуализацию этой карты в цветовой схеме; Results.plot() это семейство не
покрывает, потому что определён только для нормалей к поверхности и границ.
Про источники, стриминг и обработку результатов — в разделе
предсказание.
Варианты
Один размер, l, с фиксированным разрешением входа. Оригинальный проект DA3
публикует ещё any-view чекпойнты Small и Base, чекпойнт метрической глубины, а
также чекпойнты Nested и Giant; LibreYOLO не отдаёт ни один из них. Метрической
глубине нужен другой публичный контракт, не тот, что у задачи относительной
обратной глубины в LibreYOLO, а any-view и Nested чекпойнтам нужен API камеры
для нескольких изображений, которого в LibreYOLO нет. У any-view чекпойнтов
Large и Giant к тому же лицензия CC-BY-NC-4.0, и ни один путь скачивания в
LibreYOLO на них не ссылается.
Обучение для этого семейства не предусмотрено. LibreDepthAnything3.train()
безусловно выбрасывает NotImplementedError; обучайте в оригинальном проекте и
конвертируйте совместимый чекпойнт DA3MONO-LARGE скриптом
weights/convert_depth_anything3_weights.py.
Валидация
val() запускает общий валидатор глубины: он выравнивает каждое предсказание с
эталонной разметкой (ground truth) по масштабу и сдвигу, посчитанным методом
наименьших квадратов для каждого изображения, а затем выдаёт стандартные метрики
zero-shot относительной глубины — AbsRel, RMSE и три delta-порога.
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"])libreyolo val model=LibreDepthAnything3l-depth.pt data=my-dataset.yamlЭкспорт
| Задача | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: поддерживается | depth to TorchScript: поддерживается | depth to ExecuTorch: поддерживается | depth to TensorRT: поддерживается | depth to OpenVINO: поддерживается | depth to Paddle: не поддерживается | depth to MNN: не поддерживается | depth to RKNN: не поддерживается | depth to ncnn: не поддерживается | depth to TFLite: не поддерживается | depth to CoreML: не поддерживается | depth to Core AI: не поддерживается |
Для этого семейства экспорт ограничен пятью форматами: ONNX, TorchScript,
ExecuTorch, TensorRT и OpenVINO. Запрос любого другого формата выбрасывает
NotImplementedError, а не пытается сделать непроверенную конверсию.
Экспортированный артефакт загружается обратно через LibreYOLO() по суффиксу
файла, поэтому файл .onnx или .engine ведёт себя как чекпойнт и возвращает
тот же Results, только с depth_map вместо рамок.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnything3l-depth.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreDepthAnything3l-depth.pt format=onnxlibreyolo export model=LibreDepthAnything3l-depth.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает путь по суффиксу файла, поэтому экспортированный артефакт# загружается как любой чекпойнт и возвращает тот же объект Results.model = LibreYOLO("LibreDepthAnything3l-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)Чекпойнты
Все опубликованные файлы весов этого семейства.
| Файл | Вход (пикс.) | Лицензия весов |
|---|---|---|
| depth | ||
| LibreDepthAnything3l-depth.pt | apache-2.0 | |
Все перечисленные выше файлы уже доступны в организации LibreYOLO и скачиваются при первом использовании.
Лицензирование
Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.
Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.
- Оригинальная работа
- Depth Anything 3, ByteDance Seed
- Лицензия исходного проекта
- Apache-2.0
- Исходный код проекта
- github.com/ByteDance-Seed/Depth-Anything-3
- Код LibreYOLO
- MIT
- Веса
- Apache-2.0, повторно опубликованы на huggingface.co/LibreYOLO
- Толкование
- 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.
Цитирование
@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}
}Скопировано из блока цитирования авторов на странице github.com/ByteDance-Seed/Depth-Anything-3#-citations.