概述
人体姿态估计器(Human Pose Estimator)可以检测给定图像中的人体及其姿态(姿势)。此模型首先会检测输入图像中的人体,然后识别身体的各个部位,包括鼻子、脖子、眼睛、肩膀、肘部、腕部、臀部、膝盖和脚踝。接下来,通过一条姿势线将每对关联的身体部位连接起来。这些姿势线将组合成图像中检测出的人体的全身姿态。此模型基于 OpenPose 模型的 TF 实现。
模型元数据
领域 | 应用 | 行业 | 框架 | 训练数据 | 输入数据格式 |
---|---|---|---|---|---|
视觉 | 人体姿态估计 | 通用 | Tensorflow | COCO | 图像文件 |
参考资料
- Zhe Cao、Tomas Simon、Shih-En Wei 和 Yaser Sheikh,“Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”,出自 CVPR(2017 年)。
- TF-Pose-Estimation Github 代码库
许可
组件 | 许可 | 链接 |
---|---|---|
模型 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
本地部署:遵循 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)