paddlehub 安装 及 使用 预训练模型 检测人体骨骼关键点

该博客详细记录了如何使用conda创建虚拟环境并安装PaddlePaddle和PaddleHub。通过PaddleHub安装并测试human_pose_estimation_resnet50_mpii模型,实现人体关键点检测。同时,展示了如何修改预训练模型路径,使用OpenCV和matplotlib进行结果可视化。此外,还说明了如何利用PaddleHub Serving部署在线人脸关键点检测服务,并提供了测试代码及运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

飞桨官方网站:https://www.paddlepaddle.org.cn/

 

使用过程记录:

 

用conda创建虚拟环境:

conda create -n paddle python=3.6 

激活:

conda activate paddle

 

paddle安装: 官网:https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/2.0/install/pip/windows-pip.html

python -m pip install paddlepaddle==2.0.0 -i https://mirror.baidu.com/pypi/simple

测试安装成功:

 

 

paddlehub文档:https://paddlehub.readthedocs.io/zh_CN/develop/index.html

paddlehub安装:

pip install paddlehub -i https://pypi.doubanio.com/simple

安装成功测试:

 

PaddleHub支持修改预训练模型存放路径:

  • 如已设置${HUB_HOME}环境变量,则预训练模型、配置等文件都存放在${HUB_HOME}指示的路径下

  • 如未设置${HUB_HOME}环境变量,则存放在$HOME指示的路径下

 

human_pose_estimation_resnet50_mpii

飞桨地址:https://www.paddlepaddle.org.cn/hubdetail?name=human_pose_estimation_resnet50_mpii&en_category=KeyPointDetection

 

安装opencv:

pip install opencv-python -i https://pypi.doubanio.com/simple

matplotlib安装:

pip install matplotlib -i https://pypi.doubanio.com/simple

 

测试代码:

import cv2
import paddlehub as hub

pose_estimation = hub.Module(name="human_pose_estimation_resnet50_mpii")

result = pose_estimation.keypoint_detection(images=[cv2.imread('./James.jpg')])
print(result)

运行测试代码:(其中预训练模型已经下载到HUB_HOME环境变量所在的位置了)

 

输出可视化:增加visualization=True

import cv2
import paddlehub as hub

pose_estimation = hub.Module(name="human_pose_estimation_resnet50_mpii")

result = pose_estimation.keypoint_detection(images=[cv2.imread('./James.jpg')],visualization=True)
print(result)

结果如图:

PaddleHub Serving可以部署一个在线人脸关键点检测服务。

服务启动命令:

hub serving start -m human_pose_estimation_resnet50_mpii

 

测试代码:

import requests
import json
import cv2
import base64


def cv2_to_base64(image):
    data = cv2.imencode('.jpg', image)[1]
    return base64.b64encode(data.tostring()).decode('utf8')


# 发送HTTP请求
data = {'images':[cv2_to_base64(cv2.imread("./James.jpg"))]}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/human_pose_estimation_resnet50_mpii"
r = requests.post(url=url, headers=headers, data=json.dumps(data))

# 打印预测结果
print(r.json()["results"])

运行结果:

 

 

其他PaddleHub预训练模型使用,也类似此操作。

 

官方网站:https://www.paddlepaddle.org.cn/

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐亦亦乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值