Keypoint Detection
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
= 検出されたオブジェクトが正しいラベルと位置座標を持つというモデルの信頼度keypoints
= キーポイント予測の配列x
= キーポイントの水平中心(画像の左上隅を基準)y
= キーポイントの垂直中心(画像の左上隅を基準)class_name
= キーポイントの名前class_id
= キーポイントのID、スケルトンに対応vertices
バージョンレコードで、頂点の色とスケルトンエッジをマッピングするには、 Project Versionを表示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
}
}
この image
属性には推論に送信された画像の高さと幅が含まれます。バウンディングボックスの計算にこれらの値が必要になる場合があります。
Inference APIパラメータ
推論APIの利用
POST
https://detect.roboflow.com/:datasetSlug/:versionNumber
base64エンコードされた画像を直接モデルエンドポイントにPOSTできます。または、 image
画像が他の場所にすでにホストされている場合は、クエリ文字列のパラメータとしてURLを渡すことができます。
パスパラメータ
datasetSlug
string
データセット名のURLセーフバージョンです。Web UIでメインプロジェクトビューのURLを見るか、トレーニング後にデータセットバージョンのトレイン結果セクションで「Get curl command」ボタンをクリックすると確認できます。
version
number
データセットのバージョンを識別するバージョン番号です
クエリパラメータ
image
string
追加する画像のURL。他の場所でホストされている画像の場合に使用します。(リクエストボディにbase64エンコード画像をPOSTしない場合は必須) 注意: URLエンコードを忘れずに。
classes
string
特定のクラスのみの予測に制限します。カンマ区切りの文字列で指定してください。 例: dog,cat デフォルト: 指定なし(全クラス表示)
overlap
number
同じクラスのバウンディングボックス予測が1つのボックスに統合される前に許容される最大重複率(0-100のスケール)。 デフォルト: 30
confidence
number
返される予測のしきい値(0-100のスケール)。低い数値はより多くの予測を返し、高い数値はより確実な予測のみを返します。 デフォルト: 40
stroke
number
予測の周囲に表示されるバウンディングボックスの幅(ピクセル単位)( format
が image
).
デフォルト: 1
labels
boolean
予測にテキストラベルを表示するかどうか( format
が image
).
デフォルト: false
format
string
json - JSON予測の配列を返します。(レスポンス形式タブを参照)
image - アノテーション付き予測画像をバイナリブロブとして返します 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?