CV / Depth-Anything

Depth-Anything-V2-ViTS

reComputer R Series (CM5 + Hailo-8)

Monokulare Zero-Shot-Tiefenschätzung mit Depth-Anything-V2-Small auf reComputer R Series mit Hailo-8 oder Hailo-10H.

39 Downloads
Größe
35 MB
Speicher
4GB+
Präzision
Hailo HEF

Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.

Erste Schritte

Bereitstellen
sudo docker run --rm \
  --name cm5-hailo8-depth-anything-v2-vits \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo8-cv/depth_anything_v2_vits:latest \
  python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4

REST API

Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.

Curl
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict" \
  -F "file=@test.jpg"
Python
import requests
response = requests.post(
    "http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict",
    files={"file": open("test.jpg", "rb")},
    timeout=30,
)
print(response.json())

Modelldetails

reComputer R Series

Depth-Anything-V2-ViTS auf reComputer R Series (CM5 + Hailo-8)

Depth-Anything-V2-Small (ViT-S-Backbone) führt auf Hailo-8 eine monokulare Zero-Shot-Tiefenschätzung aus. Das HEF liefert eine relative Tiefenkarte mit 224×224×1; die Anwendung normalisiert sie, wendet die INFERNO-Farbskala an und mischt sie per Alpha mit dem Originalbild.

Modellinformationen

EigenschaftWert
ArchitekturViT-S (Depth-Anything-V2-Small-hf)
AufgabeZero-Shot-Tiefenschätzung
Eingabe224x224x3 RGB
AusgabeTiefenkarte 224x224x1 (relativ)
Parameter24.2M
Operationen16.7G
AbsRel0.147
HEFHailo Model Zoo v2.19.0, Hailo-8

Mit Demovideo ausführen

bash
sudo docker run --rm \
  --name cm5-hailo8-depth-anything-v2-vits \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo8-cv/depth_anything_v2_vits:latest \
  python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4

Öffnen Sie http://<Board_IP>:8000, um die Tiefenüberlagerung anzuzeigen.

REST-API

bash
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_v2_vits/predict" \
  -F "file=@test.jpg"

Gibt depth_stats (Minimum, Maximum, Mittelwert, Standardabweichung) für die vorhergesagte Tiefenkarte zurück.

EndpunktMethodeZweck
/api/models/depth_anything_v2_vits/predictPOSTTiefenstatistiken (JSON)
/api/video_feedGETMJPEG mit INFERNO-Tiefenüberlagerung

Implementierungshinweise

  • Relative Tiefe: Die Ausgabe wird pro Bild min-max-normalisiert (keine metrische Entfernung). Höher = weiter entfernt. Dunkel (INFERNO) = nah, hell = fern.
  • Der Schieberegler steuert die Alpha-Mischung zwischen Originalbild und Tiefenfarbskala.
  • normalize_in_net verwendet ImageNet RGB; keine input_conversion → rohe uint8-RGB-Daten zuführen.
  • Keine Nachverarbeitung auf dem Chip: Ausgabe einer rohen FLOAT32-Tiefenkarte.

Entwicklungshinweise

  • Quelle: src/rpi5_hailo8_depth_anything_v2_vits/
  • Container: ghcr.io/seeed-projects/recomputer-hailo8-cv/depth_anything_v2_vits:latest
  • Familie: depth_anything (Varianten v2_vits / vits)

Eingaben und Ausgaben

Input: image, video, or USB camera frame. Output: relative depth map with INFERNO colormap overlay on MJPEG preview, plus depth statistics (min/max/mean/std) via API.