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

L2Cs-Net

L2Cs-Net の視線検出モデルを Serverless Cloud API で使用します

L2Cs-Net は、顔を検出し、各顔の yaw と pitch の角度を予測する視線方向推定モデルです。これを私たちの Serverless Cloud API.

コード例

HTTP エンドポイントから L2Cs-Net を直接実行するには、 curlまたは inference-sdk ラッパーを使用します。

1

API キーを取得する

Roboflow アカウントを作成し、キーを次の場所で見つけてください。 Roboflow API 設定ページ そしてシェルから使えるようにします。

export ROBOFLOW_API_KEY="your-key-here"
2

モデルを実行する

次の /gaze/gaze_detection エンドポイントを curl:

curl --location 'https://serverless.roboflow.com/gaze/gaze_detection' \
  --header 'Content-Type: application/json' \
  --data '{
    "api_key": "'"$ROBOFLOW_API_KEY"'",
    "image": {"type": "url", "value": "https://media.roboflow.com/inference/man.jpg"}
  }'
1

API キーを取得する

Roboflow アカウントを作成し、キーを次の場所で見つけてください。 Roboflow API 設定ページ そしてシェルから使えるようにします。

export ROBOFLOW_API_KEY="your-key-here"
2

依存関係をインストールする

このパッケージはモデルを呼び出します:

pip install -U inference-sdk supervision
3

モデルを実行する

以下のコードサンプルでは detect_gazesを呼び出します。これは同じ /gaze/gaze_detection エンドポイントにアクセスします:

import os
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/inference/man.jpg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
).select_api_v1()

result = client.detect_gazes(image)

for prediction in result[0]["predictions"]:
    face = prediction["face"]
    yaw = prediction["yaw"]
    pitch = prediction["pitch"]
    print(f"Face at ({face['x']}, {face['y']}) - yaw: {yaw:.3f}, pitch: {pitch:.3f}")

推論速度

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

モデル
レイテンシ(ms)

l2cs-net

6.0

単一の顔の切り抜きで測定されます。これはモデルが入力として想定しているものです。

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

  • https://serverless.roboflow.com Serverless Cloud API 用です。

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

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

応答には、 推論結果 の一覧が含まれます(各項目には face のバウンディングボックス、 ランドマーク、, yaw、および pitch (ラジアン単位)が含まれます)。 time, time_face_det、および time_gaze_det.

セルフホストでのデプロイや追加の例については、 Roboflow Inference のドキュメント.

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

L2Cs-Net はローカルの Inference サーバーでも提供できます:

このモデルは、検出された各顔ごとに1件のエントリを返し、顔のボックスとランドマークに加えて yawpitch (ラジアン単位)を含みます:

yaw と pitch を空間内の点に変換する際は、顔がカメラからおおむね1メートル離れており、縦の長さがおおむね250 mmであると仮定します。これはウェブカメラ環境の出発点として妥当です。

その 視線検出の例 Inference リポジトリでは、L2Cs-Net をウェブカメラ上で実行し、人がどこを見ているかを計算して、フレームに注釈を付ける方法を示しています。

Workflows での実行モード

次のように使う場合、 Workflow、視線検出は次の2つのモードのいずれかで実行されます:

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

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

参考資料

最終更新

役に立ちましたか?