Все статьи

Как запустить Depth Anything V2 с LibreYOLO

Xuban

Музей Гуггенхайма в Бильбао рядом с картой глубины

Depth Anything V2 строит одни из лучших доступных сейчас карт глубины по одному изображению.

Если вы знакомы с YOLO, официальный репозиторий может показаться не самым удобным для начала. Чтобы получить из него одну карту глубины, нужно вручную выполнить несколько шагов:

  • вручную скачать нужный чекпойнт и положить его в правильную папку,

  • подобрать конфигурацию для энкодера (encoder="vitl", features=256, out_channels=...),

  • самостоятельно написать шаг нормализации и раскраски,

  • настроить выбор устройства, чтобы модель запускалась на Mac или CPU, а не только на CUDA,

  • освоить API инференса, совсем не похожий на остальные инструменты в вашем стеке.

Ничего сложного здесь нет. Это просто лишние шаги, которых можно избежать.

LibreYOLO загружает те же веса Depth Anything V2 и запускает задачу оценки глубины одним вызовом predict(). Укажите имя модели, и при первом запуске она будет скачана автоматически:

from libreyolo import LibreYOLO

model = LibreYOLO("LibreDepthAnythingV2l-depth.pt")  # auto-downloads on first run
model.predict("image.jpg", save=True)     # writes a colorized depth map to disk

Вот и всё. Если вы работали со стандартным API YOLO, этот подход вам знаком: загрузить модель по имени, вызвать predict, а save=True сохранит визуализацию. Это ровно тот же вызов, что и для детекции объектов, только результат содержит карту глубины вместо рамок. Цветовая карта, нормализация и выбор устройства выполняются за вас. Всё работает одинаково в Linux с CUDA, на Mac с Apple Silicon и на обычном CPU. Менять код не нужно.

Тем же вызовом можно сделать и больше: получить исходные значения глубины для дальнейшей работы. Обучение самой Depth Anything V2 остаётся в исходном репозитории; LibreYOLO поддерживает инференс, видео и валидацию.

Один и тот же вызов в одну строку для совершенно разных сцен:

Изображение с паркуром рядом с картой глубины: прыгуны на переднем плане выделяются на фоне бетонных стен.

Вид с воздуха на залив Ла-Конча в Доностии рядом с картой глубины: лодки и береговая линия кажутся близкими, открытая вода уходит вдаль.

Двор с колоннами Дома собраний Герники рядом с картой глубины, на которой видна уходящая вдаль архитектура.

Толпа на ночном фестивале на площади Конституции в Доностии рядом с картой глубины: люди в ближних рядах выделяются на фоне освещённого фасада.

Примечание о весах: LibreYOLO размещает конвертированные чекпойнты Depth Anything V2 и скачивает их при первом запуске, поэтому скачивать их вручную не нужно. При этом продолжает действовать лицензия исходного проекта: энкодер Small распространяется под Apache-2.0, а Base, Large и Giant — под CC-BY-NC-4.0 (для некоммерческого использования), поэтому мощные чекпойнты предназначены для некоммерческого использования. Нужно работать офлайн или конвертировать веса самостоятельно? Скрипт для однократной конвертации всё ещё доступен:

# optional: convert an official checkpoint yourself instead of auto-downloading
python weights/convert_depth_anything_v2_weights.py \
  depth_anything_v2_vitl.pth weights/LibreDepthAnythingV2l-depth.pt

Попробуйте

pip install libreyolo

LibreYOLO — самая полная библиотека компьютерного зрения, которую можно установить через pip. Единый знакомый API охватывает растущий список передовых моделей: детекцию объектов (RF-DETR, D-FINE, DEIM), сегментацию, оценку позы, повёрнутые рамки и теперь оценку глубины по одному изображению с Depth Anything V2, а также обучение и валидацию для поддерживаемых задач. Библиотека работает во всех основных ОС, на GPU и CPU, и полностью распространяется под MIT, поэтому её можно использовать в коммерческих продуктах без дополнительных условий.

Поставьте звезду на GitHub: github.com/LibreYOLO/libreyolo | Документация: libreyolo.com/docs