开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

概述

人体姿态估计器(Human Pose Estimator)可以检测给定图像中的人体及其姿态(姿势)。此模型首先会检测输入图像中的人体,然后识别身体的各个部位,包括鼻子、脖子、眼睛、肩膀、肘部、腕部、臀部、膝盖和脚踝。接下来,通过一条姿势线将每对关联的身体部位连接起来。这些姿势线将组合成图像中检测出的人体的全身姿态。此模型基于 OpenPose 模型的 TF 实现。

模型元数据

领域 应用 行业 框架 训练数据 输入数据格式
视觉 人体姿态估计 通用 Tensorflow COCO 图像文件

参考资料

许可

组件 许可 链接
模型 GitHub 代码库 Apache 2.0 许可
模型权重 Apache 2.0 许可
模型代码(第三方) Apache 2.0 许可
测试资产 多种 样本 README 文件

此模型的可用部署选项

可以使用以下方式来部署此模型:

  • 通过 Dockerhub 进行部署:

    docker run -it -p 5000:5000 codait/max-human-pose-estimator
    
  • 在 Red Hat OpenShift 上部署:

    遵循本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并指定 codait/max-human-pose-estimator 作为镜像名称。

  • 在 Kubernetes 上部署:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Human-Pose-Estimator/master/max-human-pose-estimator.yaml
    

    可以在此处找到有关如何将此 MAX 模型部署到 IBM Cloud 上的生产环境的更详细的教程。

  • 本地部署:遵循 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 中呈现结果。

在无服务器应用程序中测试模型

通过遵循在 IBM Cloud Functions 中利用深度学习教程中的操作说明,可以在无服务器应用程序中使用此模型。

链接

  • 用手臂创造音乐 这个交互式示例应用程序是使用此模型的 TensorFlow.js 版本构建的。

资源与贡献

如果您有兴趣为 Model Asset Exchange 项目做出贡献或有任何疑问,遵循此处的操作说明。

本文翻译自:Human Pose Estimator(2018-12-12)