CV / Depth-Anything

Depth-Anything-ViTS

reComputer R Series (CM5 + Hailo-10H)

Monoculaire diepteschatting zonder specifieke training met Depth-Anything V1 (ViT-S) op reComputer R Series met Hailo-8 of Hailo-10H.

49 downloads
Grootte
24.6 MB
Geheugen
4GB+
Precisie
Hailo HEF

Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.

Aan de slag

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

REST API

Gebruik de REST API om inferentie uit te voeren. Kopieer de onderstaande commando's.

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

Modeldetails

reComputer R Series (CM5 + Hailo-10H)

Depth-Anything-ViTS op reComputer R Series (CM5 + Hailo-10H)

Depth-Anything V1 (ViT-S-backbone) voert zero-shot monoclulaire diepteschatting uit op Hailo-10H via HailoRT. Dezelfde I/O als V2, maar iets nauwkeuriger (AbsRel 0.13 vs 0.147). De HEF levert een relatieve dieptekaart van 224×224×1; visualisatie met INFERNO-colormap en een API voor dieptestatistieken.

Modelinformatie

EigenschapWaarde
ArchitectuurViT-S (Depth-Anything V1)
TaakZero-shot diepteschatting
Invoer224x224x3 RGB
UitvoerDieptekaart 224x224x1 (relatief, FLOAT32)
Parameters24.2M
Bewerkingen16.7G
AbsRel0.13
HEFHailo Model Zoo v5.4.0, Hailo-10H
HEF-grootte24.6 MB (24,621,056 bytes)

Uitvoeren met de demo-video

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

Open http://<Board_IP>:8000 om de diepte-overlay te bekijken.

Voor een USB-camera monteert u /dev/video0 en vervangt u --video_path ... door --camera_id 0.

REST API

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

Retourneert depth_stats (min, max, mean, std) voor de voorspelde dieptekaart.

EndpointMethodeDoel
/api/models/depth_anything_vits/predictPOSTDieptestatistieken (JSON)
/api/video_feedGETMJPEG met INFERNO-diepteoverlay

Implementatienotities

  • Relatieve diepte: de uitvoer wordt per frame min-max genormaliseerd (niet metrisch). Hoger = verder. Donker (INFERNO) = dichtbij, helder = ver weg.
  • Een slider regelt de alpha-blend tussen het originele frame en de diepte-colormap.
  • normalize_in_net ImageNet RGB; geen input_conversion → na letterboxing worden ruwe uint8 RGB-pixels aangeboden.
  • Geen nabewerking op de chip — de ruwe dieptekaart is de uitvoer, opgevraagd als FLOAT32-vstreams zodat de host gedequantiseerde waarden ontvangt.
  • De invoergrootte van de HEF wordt bij het opstarten uitgelezen (224x224).

Ontwikkelnotities

  • Bron: src/hailo10h_depth_anything_vits/
  • Dockerfile: docker/hailo10h/depth_anything_vits.dockerfile
  • Container: ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_vits:latest
  • HEF: Hailo Model Zoo v5.4.0 (hailo10h), 24,621,056 bytes, SHA256 5d32051560d30cf879a4a6158edea382d4a2ec6b4b2d421e58696e8c1ec85beb
  • Familie: depth_anything (varianten v2_vits / vits)

Invoer en uitvoer

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.