Human Pose Estimator

Get this modelTry the API Try the web app Try in a Node-RED flow

Overview

This model detects humans and their poses in a given image. The model first detects the humans in the input image and then identifies the body parts, including nose, neck, eyes, shoulders, elbows, wrists, hips, knees, and ankles. Next, each pair of associated body parts is connected by a pose line. The pose lines are assembled into full body poses for each of the humans detected in the image. The model is based on the TF implementation of OpenPose model.

Model Metadata

Domain Application Industry Framework Training Data Input Data Format
Vision Human Pose Estimation Multi Tensorflow COCO Image File

References

Licenses

Component License Link
Model GitHub Repository Apache 2.0 LICENSE
Model Weights Apache 2.0 LICENSE
Model Code (3rd party) Apache 2.0 LICENSE
Test assets Various Asset README

Options available for deploying this model

This model can be deployed using the following mechanisms:

  • Deploy from Dockerhub:
docker run -it -p 5000:5000 codait/max-human-pose-estimator
  • Deploy on Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Human-Pose-Estimator/master/max-human-pose-estimator.yaml

Example Usage

You can test or use this model

Test the model using cURL

Once deployed, you can test the model from the command line. For example if running locally:

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

You should see a JSON response like that below:

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

The information returned from the model can be used to construct and visualize pose lines for the humans detected in the image, such as shown in the example below. For more details see the GitHub README.

Pose Line Example

Test the model in a Node-RED flow

Complete the node-red-contrib-model-asset-exchange module setup instructions and import the human-pose-estimator getting started flow.