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

Perception Encoder

Meta の Perception Encoder を、専用デプロイメントまたはセルフホストの Inference で使用して、画像とテキストの埋め込みを計算します

Perception Encoder は Meta の視覚言語埋め込みモデルです。画像とテキストを共有の埋め込み空間にマッピングし、類似検索、ゼロショット分類、検索に利用できます。

Perception Encoder は Serverless Cloud API では利用できません。次の環境で実行してください: 専用デプロイメント または セルフホストの Inference.

Perception Encoder のエンドポイントは 3 つサポートされています:

  • /perception_encoder/embed_image - 画像を埋め込む

  • /perception_encoder/embed_text - 文字列を埋め込む

  • /perception_encoder/compare - 画像とテキストプロンプトのリスト間の類似度を計算する

コード例

1

API キーを取得する

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

export ROBOFLOW_API_KEY="your-key-here"
2

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

これらのパッケージは画像を取得して API を呼び出します:

pip install -U requests opencv-python supervision
3

モデルを実行する

以下のサンプルは画像を次に送信します: /perception_encoder/embed_image そして埋め込みの形状を出力します。次を設定してください: URL 専用デプロイメントのURLまたはローカルの推論サーバーに。

import base64
import os
import cv2
import requests
import supervision as sv

URL = "https://your-deployment.roboflow.cloud"

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/dog.jpeg")

_, buffer = cv2.imencode(".jpg", image)
image_base64 = base64.b64encode(buffer).decode("utf-8")

response = requests.post(
    f"{URL}/perception_encoder/embed_image",
    json={
        "api_key": os.environ["ROBOFLOW_API_KEY"],
        "image": {"type": "base64", "value": image_base64},
    },
)
result = response.json()
embedding = result["embeddings"][0]
print(f"Embedding length: {len(embedding)}")
print(f"First values: {embedding[:5]}")

上のコードは、埋め込みの形状をターミナルに出力します:

Embedding length: 1024
First values: [0.0545, -0.0338, -0.0355, -0.0062, 0.0154]

推論速度

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

モデル
レイテンシ(ms)

perception-encoder

25.2

で測定 embed_imagePE-Core-L14-336 チェックポイント(画像埋め込みのみ)。

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

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

Perception Encoder は次のものを使って直接読み込めます: inference package で、ローカルで多くの画像や動画フレームを埋め込む場合に最も দ্রুতな方法です。

1

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

使用 inference-gpu[transformers] を GPU マシン上で。

2

ローカルで埋め込みと比較を行う

利用可能なチェックポイント

model_id バックボーンを選択します:

  • perception_encoder/PE-Core-B16-224

  • perception_encoder/PE-Core-L14-336

  • perception_encoder/PE-Core-G14-448

サポートされているのは CLIP スタイルのインターフェースのみです。言語整合型および空間整合型の Perception Encoder バリアントはまだ利用できません。

Perception Encoder は CLIP: embed_image, embed_text、および compare と同じ API 形状を使用します。

Workflowsで使用

Perception Encoder は Workflows で利用できます。 Perception Encoder 埋め込みモデル ブロックを通じて、コードを書かずに画像またはテキストの埋め込みを生成します。

最終更新

役に立ちましたか?