Посмотреть как Markdown

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. Всё, что он импортирует, входит в базовую установку.

bash
pip install libreyolo

Предсказание

Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.

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
Чтение карты глубины
from 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-порога.

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

Экспорт

ЗадачаONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth 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 вместо рамок.

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
Использование экспортированного файла
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает путь по суффиксу файла, поэтому экспортированный артефакт# загружается как любой чекпойнт и возвращает тот же объект Results.model = LibreYOLO("LibreDepthAnything3l-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Чекпойнты

Все опубликованные файлы весов этого семейства.

ФайлВход (пикс.)Лицензия весов
depth
LibreDepthAnything3l-depth.ptapache-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.

Проверено с LibreYOLO v1.5.0. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.