Object Detection
Roboflow でホストされている object detection models に対して推論を実行します。
Roboflow Hosted API を使用して物体検出推論を実行する方法はいくつかあります。さまざまな SDK のいずれかを使用するか、ホストされたエンドポイントに REST リクエストを送信できます。
依存関係をインストールするには、 pip install inference-sdk.
# inference-sdk をインポートする
from inference_sdk import InferenceHTTPClient
CLIENT = InferenceHTTPClient(
api_url="https://detect.roboflow.com",
api_key="API_KEY"
)
result = CLIENT.infer(your_image.jpg, model_id="football-players-detection-3zvbc/12")
Linux または MacOS
ローカルファイルという名前の JSON 予測を取得する YOUR_IMAGE.jpg:
base64 YOUR_IMAGE.jpg | curl -d @- \
"https://detect.roboflow.com/your-model/42?api_key=YOUR_KEY"
URL を介してウェブ上にホストされている画像で推論する(以下を忘れずに URL エンコードする):
curl -X POST "https://detect.roboflow.com/your-model/42?\
api_key=YOUR_KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"
Windows
次をインストールする必要があります Windows 用 curl および Windows 用 GNU の base64 ツール。これを行う最も簡単な方法は git for Windows インストーラー を使用することです(これには curl および base64 が含まれます)。インストール時に「Use Git and optional Unix tools from the Command Prompt」を選択すると、コマンドラインツールも含まれます。
その後、上記と同じコマンドを使用できます。
Node.js
この例では axios を POST リクエストの実行に使用しているので、まず npm install axios で依存関係をインストールしてください。
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
Web
リアルタイムのオンデバイス推論は roboflow.jsで利用できます;詳細は こちらのドキュメントを参照してください.
Kotlin
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
Java
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
Gemfile
Gemfile.lock
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
ローカル画像での推論
URL 経由で別の場所にホストされている画像での推論
POST https://detect.roboflow.com/:projectId/:versionNumber
Hosted Inference API に画像を REST リクエストで送信する方法は 2 つあります:
添付する base64 エンコードされた画像を POST リクエストボディに
画像ファイルの URL を image URL クエリで送信する
例: https://detect.roboflow.com/:datasetSlug/:versionNumber?image=https://imageurl.com
Query Parameters
コンテンツタイプは次の形式である必要があります application/x-www-form-urlencoded 文字列のボディで。
ホストされた API 推論エンドポイントとほとんどの SDK は、次のような JSON 配列 predictions を含むオブジェクトを返します。各 prediction は以下のプロパティを持ちます:
class = 検出されたオブジェクトのクラスラベル
confidence = 検出されたオブジェクトが正しいラベルと位置座標であるというモデルの確信度
以下は REST API からのサンプルレスポンスオブジェクトです:
The image attribute は推論に送信した画像の高さと幅を含みます。バウンディングボックスの計算でこれらの値を使用する必要がある場合があります。
Inference API の JSON 出力からボックスを描画する
バウンディングボックスを描画するためのフレームワークやパッケージは位置表現が異なる場合があります。レスポンス JSON オブジェクトのプロパティを考慮すると、次のルールの組み合わせを使って常にバウンディングボックスを描画できます:
コーナーポイント (x1, y1) および (x2, y2) は次のように求められます:
コーナーポイント方式は一般的なパターンで、例えば以下のようなライブラリで見られます: Pillow を使って box オブジェクトを構築し、Image 内にバウンディングボックスをレンダリングします Image.
検出結果を扱う際は、見つかったすべての検出を反復処理することを忘れないでください predictions!