飞桨PaddleHub实现皮影戏

前言
(1)PaddleHub是飞桨生态下的预训练模型的管理工具,旨在让飞桨生态下的开发者更便捷地享受到大规模预训练模型的价值。用户可以通过PaddleHub便捷地获取飞桨生态下的预训练模型,结合Fine-tune API快速完成迁移学习到应用部署的全流程工作,让预训练模型能更好服务于用户特定场景的应用。
(2)当前PaddleHub已经可以支持文本、图像和视频三大类主流方向,为用户准备了大量高质量的预训练模型,可以满足用户各种应用场景的任务需求,包括但不限于词法分析、情感分析、图像分类、目标检测、视频分类等经典任务。
(3)在PaddleHub获取到人体骨骼关键点模型之后,就可以对这些关键点进行连接,从而形成了人体姿态。然后我们将皮影素材映射到人体姿态身上,让皮影跟随人体姿态进行运动,就达到“皮影戏”的效果。

一、准备
本项目可以通过两种途径实现,一种是线下,一种是线上。线下需要自己装在环境到电脑中,考虑到python版本之间的不兼容,而且自己电脑配置较低,因而为了防止出现错误,本文所使用的是通过线上运行的方式。
1、fork原文
通过fork原文,在network会备份出和作者一样的环境
在这里插入图片描述
如果还是想要自己在本地运行,建议打开终端查看python库文件版本,然后下载和这个示例里一样的版本
在这里插入图片描述pip list
通过pip list可以看到paddlepaddle和paddlehub等库文件的版本
在这里插入图片描述2、全部运行
在这里插入图片描述在这里插入图片描述
3、更新库文件
根据官方文档提示,知道paddlepaddle对环境是有要求的
在这里插入图片描述
通过python -V,可以查看当前python版本

python -V

在这里插入图片描述
通过pip show pip,我们可以查看到当前的pip版本

pip show pip

通过python -m pip install -U pip,更新pip版本

python -m pip install -U pip

通过pip install -U your module更新库,这里的库就是paddlepaddle

pip install -U paddlepaddle

在这里插入图片描述更新完毕后,再次使用pip list指令查看,更新成功
在这里插入图片描述

二、使用
1、骨骼关键点检测
上传自己想要检测的图片,运行代码
在这里插入图片描述

import os
import cv2
import paddlehub as hub
import matplotlib.pyplot as plt
from matplotlib.image import imread
import numpy as np
%matplotlib inline

def show_img(img_path, size=8):
    '''
        文件读取图片显示
    '''
    im = imread(img_path)
    plt.figure(figsize=(size,size))
    plt.axis("off")
    plt.imshow(im)


def img_show_bgr(image,size=8):
    '''
        cv读取的图片显示
    '''
    image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    plt.figure(figsize=(size,size))
    plt.imshow(image)
    
    plt.axis("off")
    plt.show() 

#通过代码获取图片中的结果
pose_estimation = hub.Module(name="human_pose_estimation_resnet50_mpii")
result = pose_estimation.keypoint_detection(paths=['work/imgs/body01.jpg'], visualization=True, output_dir="work/output_pose/")
result

2、将皮影素材映射到骨骼关键点上
皮影素材
在这里插入图片描述运行映射python程序

def get_true_angel(value):
    '''
    转转得到角度值
    '''
    return value/np.pi*180

def get
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值