PP-TinyPose是PaddleDetecion针对移动端设备优化的实时关键点检测模型,可流畅地在移动端设备上执行多人姿态估计任务。
简单来说,给PP-TinyPose输入一张图片,PP-TinyPose能够告诉你,这张图片上的人的鼻子,肩膀,腕部等的坐标点。
一、下载tinypose
根据系统和python版本,在https://www.paddlepaddle.org.cn/whl/fastdeploy.html下载。
例如windows系统,python3.8则下载fastdeploy_python-1.0.7-cp38-cp38-win_amd64.whl。
二、使用命令安装
在安装文件目录下载执行pip install fastdeploy_python-1.0.7-cp38-cp38-win_amd64.whl安装。
三、下载模型文件
https://bj.bcebos.com/paddlehub/fastdeploy/PP_TinyPose_128x96_infer.tgz
解压文件,得到如下文件:
新建python文件,代码如下:
import fastdeploy
import cv2
model = fastdeploy.vision.keypointdetection.PPTinyPose('PP_TinyPose_128x96_infer/model.pdmodel',
'PP_TinyPose_128x96_infer/model.pdiparams',
'PP_TinyPose_128x96_infer/infer_cfg.yml')
img = cv2.imread('test.jpg')
result = model.predict(img)
print(result)
注意加载模型文件的目录。
结果说明:
KeyPointDetectionResult: [x, y, conf] 521.534119,-6.175730, 0.450121 529.790283,-26.832764, 0.342041 494.827026,-37.195068, 0.354224 533.464294,-34.687134, 0.379030 412.910248,-40.569958, 0.380281 626.002014,112.851463, 0.767896 293.472046,111.817810, 0.744751 726.036926,355.346588, 0.718352 184.570358,374.397095, 0.752293 737.261475,560.474304, 0.801744 433.852875,378.519501, 0.889975 632.677612,631.344238, 0.559384 445.482086,630.931213, 0.558599 667.912292,1020.837585, 0.637880 485.476807,1034.663818, 0.597461 681.528625,1173.857544, 0.062683 460.826141,1074.573120, 0.053947 num_joints:17
从上到下依次是
0: "Nose",
1: "Left Eye",
2: "Right Eye",
3: "Left Ear",
4: "Right Ear",
5: "Left Shoulder,
6: "Right Shoulder",
7: "Left Elbow",
8: "Right Elbow",
9: "Left Wrist",
10: "Right Wrist",
11: "Left Hip",
12: "Right Hip",
13: "Left Knee",
14: "Right Knee",
15: "Left Ankle",
16: "Right Ankle"
的图像坐标。