天天看點

PaddleHub手部關鍵點檢測(2.0版本)PaddleHub手部關鍵點檢測

目錄

  • PaddleHub手部關鍵點檢測
    • hand_pose_localization
    • 一、安裝新版Hub
    • 二、定義待預測照片
    • 三、API預測
    • 四、加載預訓練模型并預測
    • 五、實作效果

PaddleHub手部關鍵點檢測

hand_pose_localization

openpose 手部關鍵點檢測模型。

NOTE: 如果您在本地運作該項目示例,需要首先安裝PaddleHub。如果您線上運作,需要首先fork該項目示例。之後按照該示例操作即可。

hand_pose_localization模型連結:https://www.paddlepaddle.org.cn/hubdetail?name=hand_pose_localization&en_category=KeyPointDetection
環境:PaddlePaddle2.0.0rc PaddleHub2.0.0b1 hand_pose_localization 1.0.1(最新版)

一、安裝新版Hub

!pip install paddlehub==2.0.0b1 -i https://pypi.tuna.tsinghua.edu.cn/simple
           

二、定義待預測照片

以本示例中檔案夾下shou.jpg為待預測圖檔

PaddleHub手部關鍵點檢測(2.0版本)PaddleHub手部關鍵點檢測

三、API預測

def keypoint_detection(
    self,
    images=None,
    paths=None,
    batch_size=1,
    output_dir='output',
    visualization=False
)
           

預測API,識别出人體手部關鍵點。

參數

  • images (list[numpy.ndarray]): 圖檔資料,ndarray.shape 為 [H, W, C], 預設設為 None;
  • paths (list[str]): 圖檔的路徑, 預設設為 None;
  • batch_size (int): batch 的大小,預設設為 1;
  • visualization (bool): 是否将識别結果儲存為圖檔檔案,預設設為 False;
  • output_dir (str): 圖檔的儲存路徑,預設設為 output。

傳回

  • res (list[list[listint]]): 每張圖檔識别到的21個手部關鍵點組成的清單,每個關鍵點的格式為x, y,若有關鍵點未識别到則為None

四、加載預訓練模型并預測

import cv2
import paddlehub as hub

# use_gpu:是否使用GPU進行預測
model = hub.Module(name='hand_pose_localization', use_gpu=False)

# 調用關鍵點檢測API
result = model.keypoint_detection(images=[cv2.imread(image)],visualization=True)

# or
# result = model.keypoint_detection(paths=['/PATH/TO/IMAGE'])

# 列印預測結果
print(result)
           

五、實作效果

PaddleHub手部關鍵點檢測(2.0版本)PaddleHub手部關鍵點檢測
PaddleHub手部關鍵點檢測(2.0版本)PaddleHub手部關鍵點檢測

點我進入項目

繼續閱讀