CV / Depth-Anything

Depth-Anything-V2-ViTS

reComputer R Series (CM5 + Hailo-10H)

Hailo-8 または Hailo-10H 搭載の reComputer R Series で、Depth-Anything-V2-Small によるゼロショット単眼深度推定を実行します。

33 ダウンロード
サイズ
24.6 MB
メモリ
4GB+
精度
Hailo HEF

使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。

はじめる

デプロイ
sudo docker run --rm \
  --name cm5-hailo10h-depth-anything-v2-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_v2_vits:latest \
  python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4

REST API

REST API を使用して推論を実行します。以下のコマンドをコピーしてください。

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())

モデル詳細

reComputer R Series (CM5 + Hailo-10H)

reComputer R Series (CM5 + Hailo-10H) で Depth-Anything-V2-ViTS を実行

Depth-Anything-V2-Small(ViT-S バックボーン)は、HailoRT を介して Hailo-10H 上でゼロショット単眼深度推定を実行します。HEF は 224×224×1 の相対深度マップを出力し、アプリが正規化、INFERNO カラーマップの適用、元フレームへのアルファブレンドを行います。

モデル情報

項目値
アーキテクチャViT-S (Depth-Anything-V2-Small-hf)
タスクゼロショット深度推定
入力224x224x3 RGB
出力深度マップ 224x224x1(相対、FLOAT32)
パラメータ数24.2M
演算量16.7G
AbsRel0.147
HEFHailo Model Zoo v5.4.0、Hailo-10H
HEF サイズ24.6 MB (24,596,480 bytes)

デモ動画で実行

bash
sudo docker run --rm \
  --name cm5-hailo10h-depth-anything-v2-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_v2_vits:latest \
  python web_detection.py --model_path model/depth_anything_v2_vits.hef --video_path video/test.mp4

http://<Board_IP>:8000 を開いて深度オーバーレイを表示します。

USB カメラを使用する場合は、/dev/video0 をマウントし、--video_path ... を --camera_id 0 に置き換えます。

REST API

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

予測した深度マップの depth_stats(最小値、最大値、平均、標準偏差)を返します。

エンドポイントメソッド用途
/api/models/depth_anything_v2_vits/predictPOST深度統計(JSON)
/api/video_feedGETINFERNO 深度オーバーレイ付き MJPEG

実装メモ

  • 相対深度: 出力はフレームごとに min-max 正規化されます(実距離ではありません)。値が大きいほど遠距離です。INFERNO の暗色は近距離、明色は遠距離を表します。
  • スライダーで元フレームと深度カラーマップのアルファブレンド比率を調整できます。
  • normalize_in_net は ImageNet RGB を使用します。input_conversion はないため、レターボックス処理後に生の uint8 RGB を入力します。
  • オンチップの後処理はありません — 生の深度マップを出力し、FLOAT32 の vstream として要求することで、ホストは逆量子化された値を受け取ります。
  • HEF の入力サイズは起動時に読み取られます(224x224)。

開発メモ

  • 出典: src/hailo10h_depth_anything_v2_vits/
  • Dockerfile: docker/hailo10h/depth_anything_v2_vits.dockerfile
  • コンテナ: ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_v2_vits:latest
  • HEF: Hailo Model Zoo v5.4.0(hailo10h)、24,596,480 bytes、SHA256 b6f6328ec3d6b3c09235ce5ee33b5aebc7c63d5443083d7dc5613155bc298744
  • ファミリー: depth_anything(バリアント: v2_vits / vits)

入力と出力

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.