キーポイント抽出¶
キーポイント抽出について¶
キーポイント抽出では、アップロードした動画像から人物を推定して画像中における人物の姿勢情報を、キーポイントという構造化されたデータに変換します。
姿勢推定の仕様¶
AnyMotionでは、動画像中の1人の人物における姿勢を抽出します。 そのため、動画像における複数人を検出したいといった要件は満たすことができません。
姿勢推定の対象となる人物は以下の2つの条件により自動的に決定します。
- 動画像の中心に映っている人物
- 動画像の中で前面に映っている人物
具体的には以下のようなパターンにおいて、四角枠で囲われた人物が対象人物です。
中心かつ前面に映っている場合¶
中心かつ前面ではない場合¶
キーポイントの仕様¶
データフォーマット¶
AnyMotionで取得されるキーポイントのデータフォーマットの仕様項目は以下の通りです。
- 1つの動画は複数のフレームが配列形式で格納される
- 画像であれば配列に1つの連想配列となる
- 1つのフレームは複数のキーポイントが連想配列形式で格納される
- 1つのキーポイントは
"nose": [5, 670]
のように部位名: [x, y]
で定義される - 1つのフレーム内で未検出のキーポイントがあった場合はその部位名は除外される
サンプル¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
検出する部位¶
AnyMotionが検出する部位は以下になります。
部位名 | |
---|---|
nose | 鼻 |
leftEye | 左目 |
rightEye | 右目 |
leftEar | 左耳 |
rightEar | 右耳 |
leftShoulder | 左肩 |
rightShoulder | 右肩 |
leftElbow | 左肘 |
rightElbow | 右肘 |
leftWrist | 左手首 |
rightWrist | 右手首 |
leftHip | 左腰 |
rightHip | 右腰 |
leftKnee | 左膝 |
rightKnee | 右膝 |
leftAnkle | 左足首 |
rightAnkle | 右足首 |
キーポイントを抽出する¶
POST /keypoints を用いることで、キーポイント抽出を実行することができます。
ファイルアップロード で得られた imageId
または movieId
を使用します。
Hint
キーポイント抽出は非同期で実施されます。処理時間は動画の長さなどにより変化します。
指定した imageId
の画像 または movieId
の動画がアップロードされていない場合、リクエストは失敗します。
サンプルコード¶
Hint
<アクセストークン>
の取得は、認証方式を参照してください。
Shell¶
1 2 3 4 5 |
|
Python¶
1 2 3 4 5 6 7 8 9 10 11 12 |
|
抽出したキーポイントを取得する¶
リクエストには keypointId
を指定します。
処理のステータスは、レスポンスの execStatus
で確認することができます。
SUCCESS
の場合、処理が完了しており,キーポイント情報を取得することができます。
Hint
execStatus
が UNPROCESSED
や PROCESSING
の場合はまだ処理が完了していません。
時間をおいてから再度確認してください。
サンプルコード¶
Hint
<アクセストークン>
の取得は、認証方式を参照してください。
Shell¶
1 2 3 |
|
Python¶
1 2 3 4 5 6 7 8 |
|