-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Hi everyone! I'm working on a video tutorial about BodyPose
in ml5.js 1.0. I discovered in the making of the video some improvements I think we could make to the documentation of how the 3D coordinates work with BlazePose.
In the tfjs-models documentation the units for keypoints3D
are explained as follows:
For the
keypoints3D
, x, y and z represent absolute distance in meters in a 2 x 2 x 2 meter cubic space. The range for each axis goes from -1 to 1 (therefore 2m total delta). The z is always perpendicular to the xy plane that passes the center of the hip, so the coordinate for the hip center is (0, 0, 0).
We should probably include a simplified version of this in our documentation here:
I was also confused to find that the 2D keypoints array (as described in our docs) also includes a z
value. I don't believe this is part of the original BlazePose
data. It looks like this is the code where it is being added but the units appear to be different. @ziyuan-linn, do you know offhand what is happening here? Is there some code I'm missing which is trying to change the real world "meters" range to pixel units?
This is what I see in the console:
And now under the nose
property:
(Interesting to note that the confidence score is different for keypoints3D
!)