Усі статті

Як запустити 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 підтримує інференс, відео та валідацію.

Той самий виклик в один рядок на зовсім різних сценах:

Зображення паркурного стрибка поруч із картою глибини: стрибуни на передньому плані вирізняються на тлі бетонних стін.

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

Колонадний внутрішній дворик Casa de Juntas de Gernika поруч із картою глибини, що показує перспективу архітектури.

Натовп на нічному фестивалі на площі Конституції в Доності поруч із картою глибини: ближні ряди людей вирізняються на тлі освітленого фасаду.

Кілька слів про ваги: 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