For the complete documentation index, see llms.txt. This page is also available as Markdown.

Depth Anything V2

単眼深度推定に Depth Anything V2 を、Dedicated Deployment またはセルフホスト Inference で使用します

Depth Anything V2 は単眼深度推定モデルです。入力画像に対して正規化された深度マップ(0〜1の値)を返します。

Depth Anything V2 は Serverless Cloud API では利用できません。次のいずれかで実行してください。 専用デプロイ または セルフホストの Inference.

コードサンプル

1

APIキーを取得する

Roboflow アカウントを作成し、キーは次の Roboflow API 設定ページ で見つけて、シェルで使えるようにします:

export ROBOFLOW_API_KEY="your-key-here"
2

依存関係をインストール

インストールしてください Inference SDK:

pip install -U inference-sdk opencv-python supervision
3

モデルを実行

設定する api_url 専用デプロイメント URL またはローカルの Inference サーバーに。スクリプトは深度マップを色付けし、入力との並列比較を出力します。

import os
import cv2
import numpy as np
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/bicycle.png")
client = InferenceHTTPClient(
    api_url="https://your-deployment.roboflow.cloud",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)
result = client.depth_estimation(image)

depth = np.array(result["normalized_depth"], dtype=np.float32)
depth = cv2.resize(depth, (image.shape[1], image.shape[0]))
depth_vis = (depth * 255).astype(np.uint8)
depth_color = cv2.applyColorMap(depth_vis, cv2.COLORMAP_INFERNO)

cv2.imwrite("depth_annotated.png", np.hstack([image, depth_color]))

推論速度

レイテンシは以下で測定: Roboflow Inference 、1x NVIDIA L4、バッチサイズ1、ウォームアップ後の平均。

モデル
レイテンシ(ms)

depth-anything-v2

40.1

Small チェックポイントで測定。

設定する api_url をデプロイ先に合わせてください:

  • http://localhost:9001 ローカルの Inference サーバー。

  • あなたの 専用デプロイ プライベートエンドポイント用の URL。

利用可能なモデル

深度推定エンドポイントと depth_estimation@v1 Workflow ブロックは、1つの順序深度契約の背後で2つのモデルファミリを提供します。つまり、画像サイズのマップを画像ごとに正規化し、 1.0 が最も近く、 0.0 が最も遠い。

  • Depth Anything (相対深度): depth-anything-v2/small, depth-anything-v3/small, depth-anything-v3/base

  • YOLO26 depth (メートル法深度、この経路では正規化され、かなり高速): yolo26n-depth-768, yolo26s-depth-768, yolo26m-depth-768, yolo26l-depth-768, yolo26x-depth-768

共有出力はモデル間で形状、範囲、近い順から遠い順への順序を保持しますが、中間値はモデルファミリ間で幾何学的に等価ではありません。値は物理的距離ではなく順序的な近さスコアであり、異なる画像やモデルファミリ間で数値的に比較してはなりません。YOLO26 チェックポイントからメートル単位の絶対メトリック深度を得るには、次のように直接読み込んでください: inference_models.AutoModel.

レスポンス形式

この /infer/depth-estimation エンドポイントは normalized_depth をリクエストの depth_map_format フィールドに従ってシリアライズします:

  • json (デフォルト): 0〜1の浮動小数点数のネストされたリスト。旧クライアントとの互換性はありますが、1080x810画像では約17 MBになります。

  • png16: 16ビットのグレースケールPNGをBase64化したもの(量子化ステップ 1/65535、通常は10倍以上小さく、提供もかなり高速)。

  • png8: 8ビットのグレースケールPNGをBase64化したもの(256段階の深度レベル、さらに約1桁小さい)。可視化としきい値処理には適していますが、導関数ベースの幾何学的用途には損失があります。

SDK の depth_estimation() メソッドのデフォルトは jsonであるため、既存の統合では引き続きネストされたリストが返されます。 depth_map_format="png16" (または "png8")を指定するとコンパクトなペイロードを利用できます。SDK はそれを numpy.ndarray.tolist() JSON シリアライズ可能な出力が必要な場合は呼び出してください)。

Inference(セルフホスト)で使用する

モデルは inference パッケージを使って直接読み込むこともできます。

1

パッケージをインストールしてください

を使ってください inference-gpu[transformers] を GPU マシン上で。

2

Hugging Face で認証する

重みは Hugging Face から取得されるため、 Hugging Face トークン:

3

モデルを実行

normalized_depth には画像ごとの深度マップが格納され、 image には、明るい色ほど近く、暗い色ほど遠い、色付けされた可視化が格納されます。

Workflows での実行モード

次のように使う場合、 Workflow、深度推定は次の2つのモードのいずれかで実行されます。

  • ローカル実行: モデルはあなたの Inference サーバー上で実行されます(GPU 推奨)。

  • リモート実行: モデルはリモートの Inference サーバー上で HTTP 経由で呼び出され、 depth_estimation() クライアントメソッド

最終更新

役に立ちましたか?