原文:Github 项目 - OpenPose 关键点输出格式 - AIUAI
OpenPose 可以输出 Body,Hands,Facial 等关键点信息.
##1. Demos
[1] - Video
# Ubuntu
./build/examples/openpose/openpose.bin --video examples/media/video.avi
# 多 GPUs,如采用两块 GPUs,GPUs 1 和 2,跳过 GPUs 0.
./build/examples/openpose/openpose.bin --video examples/media/video.avi
--num_gpu 2 --num_gpu_start 1
[2] - Wecam
# Ubuntu
./build/examples/openpose/openpose.bin
[3] - Images
# Ubuntu
./build/examples/openpose/openpose.bin --image_dir examples/media/
[4] - Rendering Face and Hands Without Pose:
# CPU rendering (faster)
./build/examples/openpose/openpose.bin --render_pose 0 --face --face_render 1 --hand --hand_render 1
# GPU rendering
./build/examples/openpose/openpose.bin --render_pose 0 --face --face_render 2 --hand --hand_render 2
[5] - Hands:
# Fast method for speed
./build/examples/openpose/openpose.bin --hand
# Best results found with 6 scales
./build/examples/openpose/openpose.bin --hand
--hand_scale_number 6 --hand_scale_range 0.4
# Adding tracking to Webcam (if FPS per GPU > 10 FPS) and Video
./build/examples/openpose/openpose.bin
--video examples/media/video.avi
--hand --hand_tracking
# Multi-scale + tracking is also possible
./build/examples/openpose/openpose.bin
--video examples/media/video.avi
--hand
--hand_scale_number 6
--hand_scale_range 0.4
--hand_tracking
2. Pose 输出格式
OpenPose 提供了 BODY_25,COCO,Face,Hand 等模型输出对应的关键点信息.
2.1 BODY_25
2.2 COCO
2.3 Face
2.4 Hand
3. OpenPose Demo 输出格式
3.1 Output 保存格式
OpenPose 有两种可选的输出保存方式:
[1] - 采用 write_json
flag 将人体姿态数据结果保存为 JSON writer 格式.
如:
# Only body
./build/examples/openpose/openpose.bin
--video examples/media/video.avi
--write_json output/
--display 0
--render_pose 0
# Body + face + hands
./build/examples/openpose/openpose.bin
--video examples/media/video.avi
--write_video output/result.avi
--write_json output/
--display 0
--render_pose 0
--face
--hand
每个 JSON 文件包含 objects 的people
数组(array),其中,每个 object:
- 数组
pose_keypoints_2d
包含了人体 Body part 位置和检测的置信度(confidence),其格式为:x1,y1,c1,x2,y2,c2,...
. 坐标x
和y
被归一化到 [0, 1], [-1, 1], [0, source size], [0, output size] 等范围,其取决于keypoint_scale
flag.c
是范围在 [0, 1] 的置信度分数(confidence score). - 数组
face_keypoints_2d
,hand_left_keypoints_2d
和hand_right_keypoints_2d
, 类似于pose_keypoints_2d
. - 如果
--3d
开启(enabled),数组body_keypoints_3d
,face_keypoints_3d
,hand_left_keypoints_2d
, 和hand_right_keypoints_2d
是类似形式;否则是空. 其格式为x1,y1,z1,c1,x2,y2,z2,c2,...
. 其中,c
值为 0 或 1,取决于 3D reconstruction 是否成功. - 如果
--part_candidates
开启(enabled),则 The body part candidates before being assembled into people.
{
"version":1.1,
"people":[
{
"pose_keypoints_2d":[582.349,507.866,0.845918,746.975,631.307,0.587007,...],
"face_keypoints_2d":[