-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3D Joint positions from SMPL Model (ref: [19]) #10
Comments
Hi, did you rotate the SMPL model by |
Hi Gül, Do you mean that from the output of SMPL (rotation in pose[0:3] is already taken into account) we just need an additional rotation around the z-axis? I do this but the result seems still inconsistent. Could you please clarify? Best, |
When I test the gt2d joints of the surreal dataset, I find the problem that left and right joints are exchanged(compare to smpl ground truth). I draw the picture and draw the 23rd joints of surreal which shows the point is left fingers. However, when I find in smpl ground truth, the 23rd joints means right fingers. Is my problem? |
@jameel-malik Also meet this problem. Do u find a solution? |
@gulvarol Hi, Gül. Thank you for sharing your good work.
Result (green points are the projected joints3D which seems right): I tried to multiply a rotation matrix provided by zrot as you mentioned above, but still not right:
This really confuses me. What's the righ way to get compatibility between SMPL and SURREAL? |
@gulvarol Still not very clear about this. Can you take a look at this? |
Sorry for the delay. I have added some sample code to visualize the projection from SMPL vertices and from SMPL 3D joints to 2D here: https://github.com/gulvarol/surreal/tree/master/datageneration/misc/smpl_relations Indeed, there is a left/right swap that needs to be done. Sorry for inconvenience. I also added some rotation and translation. Now the projected vertices match the image as below: However, note the slight mismatch between the 3D joints, which happens especially in male bodies (almost negligible). It almost never happens in female bodies. It's because the surreal/datageneration/main_part1.py Lines 329 to 331 in 6a80037
|
@gulvarol Thank for clearifying this. |
Hello Gul Varol, |
@gulvarol Tested this code. Find a bug: for train/run2/132_50/132_50_c0002_info.mat, frame 49, get this: Eps for rotmat2rotvec(R) is too small. Change 1e-4 to 1e-3 can avoid this. Not sure what is the critical value. |
Thanks for reporting, I removed the dependency to the rotations.py file and replaced with the functions from transforms3d package instead. Hopefully it's more robust. |
@gulvarol Thanks for explanation and code. I would just like to ask some doubts. Using your code, I am able to transform mesh and joint locations from the world coord system to the camera coord system by multiplying extrinsic matrix. But whenever we are trying to train any model for SMPL parameters estimation, we treat global rotation with respect to the camera. How can we convert SMPL global rotation parameters (which are according to some world coord system) to make it in the camera coord system? |
@gulvarol Thanks for your great work. |
Yes, see above my answer about the joint_regressor (to go from vertices to joints) in my Blender implementation not using all 6890 vertices, but a subset of 232; and the female joint_regressor for both genders. |
@ypflll, could you link the repo that has code solving for the intrinsic matrix? |
@chaitanya100100, Did you solve this problem? |
same question, did you find the way to output 3D coordinates of smpl vertex? |
I am not sure I understand the problem. The vertices of the model can be accessed with |
How to correct the mirror problem? |
@gulvarol How I we solve the swap left-right problem?? |
Hi,
I am trying to acquire mesh vertices and 3D joint positions by providing pose and shape parameters (provided as ground truth in SURREAL) to the SMPL model given in ref. [19]. However, the 24 3D joint positions which I get from SMPL model, are different from what is provided as the ground truth 3D joint positions in SURREAL.
Could you please guide me so that I could acquire same 3D joint positions from SMPL model as provided by SURREAL in the ground truth ?
-- Thanks
The text was updated successfully, but these errors were encountered: