CV / Depth-Anything
Depth-Anything-ViTS
reComputer R Series (CM5 + Hailo-10H)
Hailo-8 または Hailo-10H 搭載の reComputer R Series で、Depth-Anything V1(ViT-S)によるゼロショット単眼深度推定を実行します。
使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。
はじめる
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.mp4REST API
REST API を使用して推論を実行します。以下のコマンドをコピーしてください。
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_vits/predict" \
-F "file=@test.jpg"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())モデル詳細
reComputer R Series (CM5 + Hailo-10H)reComputer R Series (CM5 + Hailo-10H) で Depth-Anything-ViTS を実行
Depth-Anything V1(ViT-S バックボーン)は、HailoRT を介して Hailo-10H 上でゼロショット単眼深度推定を実行します。入出力は V2 と同じですが、精度はわずかに高くなります(AbsRel 0.13 対 0.147)。HEF は 224×224×1 の相対深度マップを出力します。INFERNO カラーマップによる可視化と深度統計 API を備えています。
モデル情報
| 項目 | 値 |
|---|---|
| アーキテクチャ | ViT-S (Depth-Anything V1) |
| タスク | ゼロショット深度推定 |
| 入力 | 224x224x3 RGB |
| 出力 | 深度マップ 224x224x1(相対、FLOAT32) |
| パラメータ数 | 24.2M |
| 演算量 | 16.7G |
| AbsRel | 0.13 |
| HEF | Hailo Model Zoo v5.4.0、Hailo-10H |
| HEF サイズ | 24.6 MB (24,621,056 bytes) |
デモ動画で実行
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.mp4http://<Board_IP>:8000 を開いて深度オーバーレイを表示します。
USB カメラを使用する場合は、/dev/video0 をマウントし、--video_path ... を --camera_id 0 に置き換えます。
REST API
curl -X POST "http://<Board_IP>:8000/api/models/depth_anything_vits/predict" \
-F "file=@test.jpg"予測した深度マップの depth_stats(最小値、最大値、平均、標準偏差)を返します。
| エンドポイント | メソッド | 用途 |
|---|---|---|
/api/models/depth_anything_vits/predict | POST | 深度統計(JSON) |
/api/video_feed | GET | INFERNO 深度オーバーレイ付き MJPEG |
実装メモ
- 相対深度: 出力はフレームごとに min-max 正規化されます(実距離ではありません)。値が大きいほど遠距離です。INFERNO の暗色は近距離、明色は遠距離を表します。
- スライダーで元フレームと深度カラーマップのアルファブレンド比率を調整できます。
normalize_in_netは ImageNet RGB を使用します。input_conversion はないため、レターボックス処理後に生の uint8 RGB を入力します。- オンチップの後処理はありません — 生の深度マップを出力し、FLOAT32 の vstream として要求することで、ホストは逆量子化された値を受け取ります。
- HEF の入力サイズは起動時に読み取られます(224x224)。
開発メモ
- 出典:
src/hailo10h_depth_anything_vits/ - Dockerfile:
docker/hailo10h/depth_anything_vits.dockerfile - コンテナ:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/depth_anything_vits:latest - HEF: Hailo Model Zoo v5.4.0(
hailo10h)、24,621,056 bytes、SHA2565d32051560d30cf879a4a6158edea382d4a2ec6b4b2d421e58696e8c1ec85beb - ファミリー: 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.