IBM Developer Japan Webサイトは2021年3月15日をもって終了となり、日本語コンテンツの一部は、オープンソースとして、提供予定です。 URLはこちら

人体姿勢推定器

概要

このモデルは、所定の画像から人と各個人の人体姿勢を検出します。入力された画像内の人を検出した後、身体のパーツ (鼻、首、目、肩、肘、手首、腰、膝、足首など) を識別してから、人体姿勢の線によって関連する身体のパーツの各ペアを結び付けます。画像内で検出された個人ごとに、これらの人体姿勢の線が完全な人体姿勢に組み立てられます。このモデルのベースとなっているのは、OpenPose モデルの TF 実装です。

モデルのメタデータ

ドメイン アプリケーション 業種 フレームワーク トレーニング・データ 入力データの形式
視覚 人体姿勢推定 マルチ Tensorflow COCO 画像ファイル

参考資料

ライセンス

コンポーネント ライセンス リンク
モデルの GitHub リポジトリー Apache 2.0 LICENSE
モデルの重み Apache 2.0 LICENSE
モデルのコード (サード・パーティー) Apache 2.0 LICENSE
テスト・アセット 各種 サンプルの README

このモデルのデプロイ方法

このモデルは、以下のメカニズムを使用してデプロイできます。

  • Docker Hub からデプロイする場合:

    docker run -it -p 5000:5000 codait/max-human-pose-estimator
    
  • Red Hat OpenShift からデプロイする場合:

    Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify codait/max-human-pose-estimator as the image name.

  • Kubernetes 上にデプロイする場合:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Human-Pose-Estimator/master/max-human-pose-estimator.yaml
    
  • ローカルにデプロイする場合: GitHub 上のモデルの README に記載されている手順に従います。

使用例

このモデルをテストまたは使用するには、以下の方法があります。

cURL を使用してモデルをテストする

モデルをデプロイしたら、コマンド・ラインからモデルをテストできます。例えばローカルで実行する場合は、以下のコマンドを使用します。

curl -F "image=@samples/p3.jpg" -XPOST http://localhost:5000/model/predict

以下のような JSON レスポンスが表示されるはずです。

{
  "status": "ok",
  "predictions": [
    {
      "human_id": 0,
      "pose_lines": [
        {
          "line": [
            110,
            53,
            91,
            53
          ]
        },
        {
          "line": [
            110,
            53,
            129,
            50
          ]
        },
        .
        .
        .
        {
          "line": [
            114,
            35,
            119,
            32
          ]
        }
      ]
    }
  ]
}

モデルから返される情報を使用することで、画像内で検出された人の人体姿勢の線を組み立てて視覚化できます。以下にその一例を示します。詳細については、GitHub 上の README を参照してください。

人体姿勢の線の例

Node-RED フロー内でモデルをテストする

node-red-contrib-model-asset-exchange モジュールのセットアップ手順に従った後、human-pose-estimator 開始フローをインポートします。

CodePen 内でモデルをテストする

CodePen 内で画像をモデルに送信する方法と結果をレンダリングする方法については、こちらを確認してください。

リンク

  • Use your arms to make music: このインタラクティブなサンプル・アプリケーションは、このモデルの TensorFlow.js バージョンを使用して作成されています。