mks0601 / Hand4Whole_RELEASE

Official PyTorch implementation of "Accurate 3D Hand Pose Estimation for Whole-Body 3D Human Mesh Estimation", CVPRW 2022 (Oral.)
MIT License
306 stars 30 forks source link

The performance of Hand4Whole in first stage #38

Closed linjing7 closed 1 year ago

linjing7 commented 2 years ago

Hi, in Hand4Whole branch, multi-stages training is needed and could you please tell me about the performance after the first stage, i.e., pre-train Hand4Whole. My performance is as follows and I think there may be something wrong.

image
mks0601 commented 2 years ago

On which dataset? Why do you think something's wrong?

linjing7 commented 2 years ago

Hi, on EHF dataset. I just want to make sure that there is no problem with the first stage pretraining.

mks0601 commented 2 years ago

I guess somewhere around PA MPVPE all / hands / face: 50.24 / 11.69 / 5.77

linjing7 commented 2 years ago

Okay, thank you very much.

olga-zats commented 1 year ago

@linjing7 Hi! Were you able to get around this issue? I get similar results after the first stage.

linjing7 commented 1 year ago

@olga-zats Not yet.

RockyXu66 commented 1 year ago

I guess somewhere around PA MPVPE all / hands / face: 50.24 / 11.69 / 5.77

Hi mks0601! Thanks for your excellent work.

I want to reproduce your hand4whole training result. I follow your README instruction by using the pretrained body_pose_resnet_50_256x192.pth.tar model in first stage and rename it to snapshot_0.pth.tar. But I got the similar result with @linjing7 which is a little far from your provided scores. This is the test score of first stage on my own snapshot_6.pth.tar model. image

btw, my training command is python train.py --gpu 1,2,3,4 --lr 1e-4 --continue. The configuration in 'Config.py' keeps the same in your git.

## dataset (use names in the `data` folder)
trainset_3d = ['Human36M']
trainset_2d = ['MSCOCO', 'MPII'] 
testset = 'EHF'

## model setting
resnet_type = 50
hand_resnet_type = 50
face_resnet_type = 18

## input, output
input_img_shape = (512, 384) 
input_body_shape = (256, 192)
output_hm_shape = (8, 8, 6)
input_hand_shape = (256, 256)
output_hand_hm_shape = (8, 8, 8)
input_face_shape = (192, 192)
focal = (5000, 5000) # virtual focal lengths
princpt = (input_body_shape[1]/2, input_body_shape[0]/2) # virtual principal point position
body_3d_size = 2
hand_3d_size = 0.3
face_3d_size = 0.3
camera_3d_size = 2.5

## training config
lr_dec_factor = 10
lr_dec_epoch = [4,6] #[40, 60] #[4,6]
end_epoch = 7 #70 #7
train_batch_size = 24

## testing config
test_batch_size = 64
linjing7 commented 1 year ago

Hi, @mks0601, all of us can not achieve the performance you provided after the first stage. Is it caused by the PyTorch version or anything others? I use python3.7 and torch1.7.1.

mks0601 commented 1 year ago

You might want to try full training (three stage training) as the errors of the first stage (PA MPVPE all / hands / face: 50.24 / 11.69 / 5.77) might be wrong.

linjing7 commented 1 year ago

Okay, thank you very much.

Britton-Li commented 1 year ago

@RockyXu66 , Could you please send me the Human3.6M data