TemugeB / bodypose3d

Real time 3D body pose estimation with Mediapipe
MIT License
188 stars 32 forks source link

Axes and reference frame orientation #12

Open enrico310786 opened 2 years ago

enrico310786 commented 2 years ago

Congratulations for the series of works. They are very well made and useful. My questions are about the axis and reference frame orientation.

The 3d coordinates of the body points with respect to which reference system are they expressed? Does this reference system coincide with that of the principal camera cam0 as you explain during the calibration procedure (see the image attached)?

reference frame

Does Mediapipe keep the same axis orientation or change it?

Why to show the 3d coordinate points in the 'calculate_joint_angles.py' script do you rotate the points around the z axis (see the link https://github.com/TemugeB/joint_angles_calculate/blob/caec22c4ede33da6b8d037e3f62a8085e6a8dc20/calculate_joint_angles.py#L378), while in the 'show_3d_pose.py' script of this project you don't rotate them?

Thanks in advance for your answers!

TemugeB commented 2 years ago

Hi,

Please take a look at this package: python_stereo_calibrate. It should go through how to obtain the calibration parameters and how the coordinate system is defined.

Mediapipe only provides pixel coordinates and does not have any information about coordinate system. When the point is triangulated into a 3D coordinate, then a coordinate system is defined.

About the rotation in the other package, it is only used to make plotting easier.

lsmith24 commented 1 year ago

I calibrated my cameras following the github you linked, but when I run show_3d_pose.py my person shows up upside down in the visualization. Should they be rotated somewhere?