Body tracking key point velocity

I’m using .
I can reach keypoint’s position with keypoint but i can not get keypoint’s velocity or other spesific data.
I can only reach body’s spesific data. Is there any way to access the velocity data of the key point?

Hi @emrekocdemir, welcome to the forums!

You can compute these velocities yourself, they are not available as is.
The list of data available in BodyData can be consulted in the API reference of BodyData.

I thought this too but as you know there is too many data flow. Do you know how can i calculate this data. I know ı should calculate by distance difference but i dont know how much time there are between two position data. Thank you for reply.

You have access to the timestamp in Bodies (from where you get the bodydata).
Using this, you should be able to calculate the velocities :slight_smile:

I could not see the timestap data in this page. I tried body.timestamp or body.time_stamp but didnt work out. There is this part of zed api i could not see there too.
cdef cppclass BodyData ‘sl::BodyData’:
int id
String unique_object_id
Vector3[float] position
Vector3[float] velocity
float position_covariance[6]
vector[Vector2[uint]] bounding_box_2d
Mat mask
float confidence
vector[Vector3[float]] bounding_box
Vector3[float] dimensions
vector[Vector2[float]] keypoint_2d
vector[Vector3[float]] keypoint
vector[Vector2[uint]] head_bounding_box_2d
vector[Vector3[float]] head_bounding_box
Vector3[float] head_position
vector[float] keypoint_confidence
vector[array6] keypoint_covariances
vector[Vector3[float]] local_position_per_joint
vector[Vector4[float]] local_orientation_per_joint
Vector4[float] global_root_orientation
Thank you for your reply.

The Body Tracking module sends out Bodies, not BodyData. “Bodies” contains a timestamp and body_list, a list of BodyData. BodyData contains the keypoints, id, and other info for each detected skeleton.

Bodies is a “batch” of BodyData at a certain timestamp.

Thank you for your help this really worked out.

1 Like