openvino_blazepose icon indicating copy to clipboard operation
openvino_blazepose copied to clipboard

how to get pose_world_landmarks?

Open mch0dmin opened this issue 2 years ago • 3 comments

image

how to parse lm_raw? Can you give me some advices? Thanks.

mch0dmin avatar Oct 20 '22 07:10 mch0dmin

Sorry, I am not sure to get your question. Why do you want to parse lm_raw ? lm_raw is already parsed and processed which yields the 2 following elements:

  • region.landmarks that contains the landmarks normalized 3D coordinates (x,y,z) in the relative oriented body bounding box (normalized means that x and y are between 0 and 1);
  • region.landmarks_abs that contains the absolute landmark 3D coordinates (in pixels) in the original image.

Can you precise your need ?

geaxgx avatar Oct 20 '22 09:10 geaxgx

hi @geaxgx ,I set lm_landmarks set to "world_ 3d"(shape : 1x117) instead of "ld_ 3d"(1x195),and reshape it to (-1, 3). So I got the shape of lm_raw is (39, 3). I'm confused about how to parse lm_raw to get the pose_world_landmarks. For example, can get pose_landmarks and pose_world_landmarks from mediapipe. I don't know if this explanation is clear. I look forward to your reply. Thank you.

mch0dmin avatar Oct 20 '22 09:10 mch0dmin

A word of caution here: the version of the landmarks models used in this old repo is 0.8.4, which is not the most recent version. If I remember correctly, the output 'world_3d' was indeed present in the 0.8.4 but not officialy supported by google mediapipe in version 0.8.4. It was supported and documented in 0.8.6. So I am not sure you will get valid results with this repo if you parse "world_3d". But if you to proceed, I think your method to reshape to (-1,3) is correct. The shape (39,3) corresponds to 39 keypoints coordinates (X,Y,Z) in meters. Only the first 33 keypoints can be used to draw the skeleton.

geaxgx avatar Oct 20 '22 14:10 geaxgx