postech-ami / FastMETRO

[ECCV'22] Official PyTorch Implementation of "Cross-Attention of Disentangled Modalities for 3D Human Mesh Recovery with Transformers"
https://fastmetro.github.io/
MIT License
160 stars 14 forks source link

About the best training args in Freihand dataset #21

Closed xuchuyanglove closed 1 year ago

xuchuyanglove commented 1 year ago

Hello,I am very interested in your work. Are the experimental results on the Freihand dataset in your paper achieved by the following parameters and the parameters defined in parse_args()?

python -m torch.distributed.launch --nproc_per_node=4 \ src/tools/run_fastmetro_handmesh.py \ --train_yaml freihand/train.yaml \ --val_yaml freihand/test.yaml \ --arch hrnet-w64 \ --model_name FastMETRO-L \ --num_workers 4 \ --per_gpu_train_batch_size 16 \ --per_gpu_eval_batch_size 16 \ --lr 1e-4 \ --num_train_epochs 200 \ --output_dir FastMETRO-L-H64_freihand/

and

def parse_args():
    parser = argparse.ArgumentParser()
    #########################################################
    # Data related arguments
    #########################################################
    parser.add_argument("--data_dir", default='datasets', type=str, required=False,
                        help="Directory with all datasets, each in one subfolder")
.......

Especially about the parameters of the loss weight, I would like to know if you have trained according to the following settings?

    parser.add_argument("--joints_2d_loss_weight", default=100.0, type=float)
    parser.add_argument("--vertices_3d_loss_weight", default=100.0, type=float)
    parser.add_argument("--edge_normal_loss_weight", default=100.0, type=float)
    parser.add_argument("--joints_3d_loss_weight", default=1000.0, type=float)
    parser.add_argument("--vertices_fine_loss_weight", default=0.50, type=float) 
    parser.add_argument("--vertices_coarse_loss_weight", default=0.50, type=float)
    parser.add_argument("--edge_gt_loss_weight", default=1.0, type=float) 
    parser.add_argument("--normal_loss_weight", default=0.1, type=float)

I would be very grateful if you could reply me, have a good day!

FastMETRO commented 1 year ago

Hello,

As shown in Experiments.md, we obtained these results with the configurations that you mentioned:

Evaluation 3D KP results:
auc=0.000, mean_kp3d_avg=71.50 cm
Evaluation 3D KP ALIGNED results:
auc=0.871, mean_kp3d_avg=0.65 cm

Evaluation 3D MESH results:
auc=0.000, mean_kp3d_avg=71.50 cm
Evaluation 3D MESH ALIGNED results:
auc=0.858, mean_kp3d_avg=0.71 cm

F-scores
F@5.0mm = 0.000         F_aligned@5.0mm = 0.687
F@15.0mm = 0.000        F_aligned@15.0mm = 0.983

< Summary > PA-MPJPE 6.5 F@15mm 0.983


Note that PA-MPJPE is 6.5 and F@15mm is 0.982 in Table 5 of the paper, which are almost identical to the above results. The only difference between the original model and the above experiment was that we added edge length loss and normal vector loss for this experiment to achieve better qualitative results; there was almost no effect on quantitative results. The other details were the same.

Thanks for your interest in our work!!

FastMETRO commented 1 year ago

Please reopen this issue if you need more help regarding this.