-
Notifications
You must be signed in to change notification settings - Fork 11
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
Function projecting 3D joint coordinates Jˆ3D to the image plane with predicted camera parameters. #2
Comments
How about λwild,θ to caculate smpl parameter loss. |
I set it to 1 when calculating the loss on 256x256 image space. |
Thank you, |
I did mean instead of sum in here: loss = torch.sum(loss, dim=1) |
I trained with own dataset Format MSCOCO (no face and Hand box) 7 epochs. |
I don't know your exact training settongs, but I guess you should increase l2 reg weight |
I follow your Hand4Whole training setup https://github.com/mks0601/Hand4Whole_RELEASE. this is backward: Anyway i will increase L2 reg weight (set to 2 ) and test again. |
Did you apply the L2 reg on the SMPL shape parameter? I applied L2 reg with weight 1 to the SMPL shape parameter (beta) |
Also, I calculated 2D joint loss in 256x256 space. |
I did not apply L2 reg on the SMPL shape parameter, I only caculaye loss with 3D body rotations (θ). |
Could u share to me the loss function and forward of RotationNet. I am still reach to good results. |
You can see this repo: https://github.com/mks0601/Hand4Whole_RELEASE |
I alread follow from this repo but there are 2 things i don't clear:
|
|
I strictly follow what you guide but can not get good result. Class RegularizeLoss(nn.Module):
class CoordLoss(nn.Module):
|
Are you using VPoser? As written in the paper, VPoser is helpful. |
I did not use VPoser. Maybe it is big misktake i got. Thank you for your advise |
I used Vposer to decode SMPL pose from 32 dimenstions but still not got good results. predict 32 dismention for vposerself.vposer_out = make_linear_layers([2048, 32], relu_final=False) predict 63 body pose of smpl from vposer 32 vectorself.vposer, _ = load_model(cfg.vposer_expr_dir, model_code=VPoser,remove_words_in_model_weights='vp_model.', disable_grad=True) predict global rotaions of smplself.root_pose_out = make_linear_layers([2048, 3], relu_final=False) predict shape parameters of smplself.shape_out = make_linear_layers([2048,smpl.shape_param_dim], relu_final=False) camera parametercam_param = self.cam_out(img_feat.mean((2,3))) vposer paravposer_para = self.vposer_out(img_feat.mean((2,3))) body posebody_pose = self.vposer.decode(vposer_para)['pose_body'].contiguous().view(-1, 63) root poseroot_pose = self.root_pose_out(img_feat.mean((2,3))) Loss function I already caculate 2D loss in 256x256 space and set L2 reg =1 but loss converges around loss_joint_proj: 7.6711 loss_regularizer_body: 1.4312 loss_regularizer_shape: 0.0089 |
I check in Vposer doc: "On the other hand, body poZ, VPoser's latent space representation for SMPL body, has in total 32 elements with a spherical Gaussian distribution. This means if one samples a 32 dimensional random vector from a Normal distribution and pass it through VPoser's decoder the result would be a viable human joint configuration in axis-angle representation" |
You should apply the L2 regularizer to the vposer code. All my previous and current answers are included in the paper. Please read the paper carefully for your implementation. |
You'd better use SMPL instead of SMPLX as you do not have hand/face annotations. Also, try stronger L2 regularizer weight. |
I am using SMPL. |
Yes. As you can see qualitative results of the papers or provided 3D pseudo-GTs of MSCOCO in this repo, the 3D pseudo-GTs are quite good. There should be some problem in your implementation :( |
Yes, I think so. I strickly follow your paper and now i don't know what problem I got. |
this is source code base on your HAND4WHOLE ( now only for body) |
Could u show some training log? |
I had the same issue with @tranducanhbk. @mks0601 Do you have any idea to solve this problem? |
You mean the results are different when you train your network again? |
Yes |
Maybe because of random initialization and shuffling of the datasets |
I create datasets with only one image ( images I need to make 3D GT) |
yes |
the result seems bad in MSCOCO dataset. @mks0601 Do you have any idea to solve this problem? |
Some samples can have had fit. Those are especially can suffer from the depth ambiguity. |
@mks0601 You mean that not every piece of 2D dataset can achieve the appropriate effect. I tested about 20 mscoco datasets in the morning, and the results were not very good. i used the code provided by @tranducanhbk |
Hi mks0610!
I am reproduce your paper but i am stuck at got 2D joints images from 3D joint coordinates Jˆ3D to the image plane with predicted camera parameters.
Could u public this function and λwild,θ parameter for training SMPL model
Many thanks
The text was updated successfully, but these errors were encountered: