Closed Shubhendu-Jena closed 3 years ago
Hi, it’s a good point.
Actually I don’t do any augmentation to train Pose2Mesh. Only do flip augmentation for training PoseNet. So there’s no aug code for mesh_cam.
Ah, got it! However, for the "Joint coordinate loss", the joints are regressed from the mesh. So, if the mesh isn't augmented, wouldn't it result in the wrong joints being regressed and used for computing the "Joint coordinate loss"? (line 131 Pose2Mesh_RELEASE/lib/core/base.py)
Good! The flip aug is only done in pre-training PoseNet. When training Pose2Mesh in an end-to-end manner, there is no augmentation. So the joints are also never flipped.
I see. Was this done on purpose? Does it result in better convergence?
Yes, the model gave the best accuracy without augmentation. But you can try the augmentation referring to the dataloader codes in https://github.com/mks0601/I2L-MeshNet_RELEASE.
Ah, okay. Thanks a lot for the responses. They helped me a lot in understanding your work better. I'll take a look at https://github.com/mks0601/I2L-MeshNet_RELEASE to try the augmentation :) Closing issue now.
Hi,
I noticed something peculiar in the augmentation part and hence, I'd be graetful if you could clarify this for me. Basically, in your dataset class (for example in Human36M/dataset.py), when you do rotation augmentation for the image (variable rot in degrees in your code), you're not doing the same to your mesh data (mesh_cam on line 352). Instead, only the 2D and 3D joints (joint_img and smpl_joint_cam) are augmented as follows :
"joint_img, trans = j2d_processing(joint_img.copy(), (cfg.MODEL.input_shape[1], cfg.MODEL.input_shape[0]), bbox, rot, 0, None)" on line 368 "joint_cam = j3d_processing(joint_cam, rot, flip, self.flip_pairs)" on line 373
Shouldn't the augmentation be also done for mesh_cam?
Thanks