キーポイント検出
Roboflowでホストされている物体検出モデルで推論を実行します。
Pythonを使用してホストされたAPIで推論を実行するには、 roboflow
Pythonパッケージを使用します:
from roboflow import Roboflow
rf = Roboflow(api_key="API_KEY")
project = rf.workspace().project("MODEL_ENDPOINT")
model = project.version(VERSION).model
# ローカル画像で推論する
print(model.predict("your_image.jpg", confidence=40, overlap=30).json())
# 予測結果を可視化する
# model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg")
# 他の場所にホストされている画像で推論する
# print(model.predict("URL_OF_YOUR_IMAGE", hosted=True, confidence=40, overlap=30).json())
レスポンスオブジェクト形式
ホストAPI推論ルートは JSON
予測配列を含むオブジェクトを返します。各予測には以下のプロパティがあります:
x
= 検出オブジェクトの水平方向の中心点y
= 検出オブジェクトの垂直方向の中心点width
= バウンディングボックスの幅height
= バウンディングボックスの高さclass
= 検出オブジェクトのクラスラベルconfidence
= 検出オブジェクトが正しいラベルと座標を持つ確信度(モデルの信頼度)キーポイント
= キーポイント予測の配列x
= キーポイントの水平中心(画像の左上隅を基準)y
= キーポイントの垂直中心(画像の左上隅を基準)class_name
= キーポイントの名前class_id
= キーポイントのID、スケルトンにマッピングされるvertices
バージョンレコード内で、頂点の色とスケルトンエッジをマッピングするために、 プロジェクトバージョンを表示confidence
= キーポイントが正しい位置にあり、可視(隠れていない、または削除されていない)である信頼度
REST APIからのレスポンスオブジェクト例:
{
"predictions": [
{
"x": 189.5,
"y": 100,
"width": 163,
"height": 186,
"class": "helmet",
"confidence": 0.544,
"keypoints": [
{
"x": 189,
"y": 20,
"class_name": "top",
"class_id": 0,
"confidence": 0.91
},
{
"x": 188,
"y": 180,
"class_name": "bottom",
"class_id": 1,
"confidence": 0.93
}
]
}
],
"image": {
"width": 2048,
"height": 1371
}
}
この 画像
属性には推論に送信した画像の高さと幅が含まれます。バウンディングボックス計算にこれらの値が必要な場合があります。
推論APIパラメータ
推論APIの使用方法
POST
https://detect.roboflow.com/:datasetSlug/:versionNumber
base64エンコードされた画像をモデルエンドポイントに直接POSTできます。または、画像が他の場所にホストされている場合はURLを 画像
クエリ文字列のパラメータとして渡すことができます。
パスパラメータ
datasetSlug
string
データセット名のURLセーフバージョンです。Web UIのメインプロジェクトビューのURLを見るか、モデルのトレーニング後にデータセットバージョンのトレイン結果セクションで「curlコマンドを取得」ボタンをクリックすると見つけられます。
version
number
データセットのバージョンを識別するバージョン番号です
クエリパラメータ
画像
string
追加する画像のURL。他の場所に画像がホストされている場合に使用します。(リクエストボディでbase64エンコード画像をPOSTしない場合は必須) 注意: URLエンコードを忘れずに。
classes
string
特定のクラスの予測のみに制限します。カンマ区切りの文字列で指定してください。 例: dog,cat デフォルト: 指定なし(すべてのクラスを表示)
overlap
number
同じクラスのバウンディングボックス予測が1つのボックスにまとめられる前に許容される最大重なり率(0-100スケール)。 デフォルト: 30
confidence
number
返される予測のしきい値(0-100スケール)。数値が低いほど多くの予測が返され、高いほど高確度の予測のみ返されます。 デフォルト: 40
stroke
number
予測の周囲に表示されるバウンディングボックスの幅(ピクセル単位)( format
の場合のみ有効) 画像
).
デフォルト: 1
labels
boolean
予測にテキストラベルを表示するかどうか( format
の場合のみ有効) 画像
).
デフォルト: false
format
string
json - JSON予測の配列を返します。(レスポンス形式タブを参照)
画像 - アノテーション付き予測画像をバイナリブロブとして返します Content-Type
は image/jpeg
. image_and_json - 可視化フィールド(base64形式)を含むJSON予測の配列を返します。
デフォルト: json
api_key
string
あなたのAPIキー(ワークスペースAPI設定ページで取得)
リクエストボディ
string
base64エンコード画像。(クエリパラメータで画像URLを渡さない場合は必須)
{
"predictions": [{
"x": 234.0,
"y": 363.5,
"width": 160,
"height": 197,
"class": "hand",
"confidence": 0.943
}, {
"x": 504.5,
"y": 363.0,
"width": 215,
"height": 172,
"class": "hand",
"confidence": 0.917
}, {
"x": 1112.5,
"y": 691.0,
"width": 139,
"height": 52,
"class": "hand",
"confidence": 0.87
}, {
"x": 78.5,
"y": 700.0,
"width": 139,
"height": 34,
"class": "hand",
"confidence": 0.404
}]
}
Last updated
Was this helpful?