目錄
- 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為待預測圖檔
三、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)
五、實作效果
點我進入項目