Jak uruchomić Depth Anything V2 w Pythonie za pomocą LibreYOLO

Depth Anything V2 generuje obecnie jedne z najlepszych dostępnych map głębi z pojedynczego obrazu.
Dla osób znających ekosystem YOLO oficjalne repozytorium nie należy do najłatwiejszych w użyciu. Uzyskanie z niego pojedynczej mapy głębi wymaga kilku ręcznych kroków:
-
ręcznego pobrania właściwego checkpointu i umieszczenia go w odpowiednim katalogu,
-
dopasowania encodera do jego konfiguracji (
encoder="vitl",features=256,out_channels=...), -
samodzielnego napisania kroku normalizacji i przypisania kolorów,
-
obsłużenia wyboru urządzenia, aby model działał na Macu lub CPU, a nie tylko na CUDA,
-
poznania API inferencji, które wygląda zupełnie inaczej niż pozostała część stosu.
Żaden z tych kroków nie jest trudny. To po prostu dodatkowa praca, którą można pominąć.
LibreYOLO wczytuje te same wagi Depth Anything V2 i udostępnia zadanie estymacji głębi przez jedno wywołanie predict(). Wystarczy podać nazwę modelu, a zostanie pobrany przy pierwszym użyciu:
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
To wszystko. Osobom znającym standardowe API YOLO ten schemat wyda się znajomy: wczytanie modelu po nazwie, wywołanie predict i zapis wizualizacji przez save=True. To dokładnie to samo wywołanie, którego używa się do detekcji obiektów, z tą różnicą, że wynik zawiera mapę głębi zamiast ramek. Mapa kolorów, normalizacja i wybór urządzenia są obsługiwane automatycznie. Model działa tak samo w systemie Linux z CUDA, na Macu z Apple Silicon i na zwykłym CPU. Bez zmian w kodzie.
To samo wywołanie pozwala też pobrać surowe wartości głębi i bezpośrednio na nich pracować. Trenowanie samego Depth Anything V2 pozostaje w oryginalnym repozytorium; LibreYOLO obsługuje inferencję, wideo i walidację.
Dokładnie to samo wywołanie w jednym wierszu, na bardzo różnych scenach:




Informacja o wagach: LibreYOLO udostępnia przekonwertowane checkpointy Depth Anything V2 i pobiera je przy pierwszym użyciu, więc nie trzeba niczego pobierać ręcznie. Nadal obowiązuje licencja projektu źródłowego: encoder Small jest objęty licencją Apache-2.0, a Base, Large i Giant licencją CC-BY-NC-4.0 (użytek niekomercyjny), więc najmocniejsze checkpointy są przeznaczone do użytku niekomercyjnego. Przy pracy offline lub samodzielnej konwersji można skorzystać z jednorazowego skryptu konwersji:
# 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
Wypróbuj
pip install libreyolo
LibreYOLO to najbardziej kompletna biblioteka wizji komputerowej, którą można zainstalować przez pip. Jedno znajome API obejmuje coraz więcej najnowocześniejszych modeli: detekcję obiektów (RF-DETR, D-FINE, DEIM), segmentację, estymację pozy, obrócone ramki oraz teraz estymację głębi z Depth Anything V2, a także trenowanie i walidację dla obsługiwanych zadań. Biblioteka działa we wszystkich głównych systemach operacyjnych, na GPU i CPU, a w całości jest objęta licencją MIT, więc można wdrażać ją komercyjnie bez dodatkowych warunków.
Dodaj gwiazdkę na GitHubie: github.com/LibreYOLO/libreyolo | Dokumentacja: libreyolo.com/docs