hongsukchoi / TCMR_RELEASE

Official Pytorch implementation of "Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video", CVPR 2021
MIT License
287 stars 39 forks source link

Question about Parameter 'scale' in 3d datasets #19

Closed MooreManor closed 2 years ago

MooreManor commented 2 years ago

Hello. Thanks for your great work! I want to do some different processes for original data. To ensure data consistency, I have to ensure the parameter 'scale' in different 3d datasets. I use the repr_table4_3dpw_model.yaml as config file. And the corresponding datasets are listed below. https://github.com/hongsukchoi/TCMR_RELEASE/blob/8078b3c39c22cae39eb19c0e1eb70e09c60ecea7/configs/repr_table4_3dpw_model.yaml#L31-L35 https://github.com/hongsukchoi/TCMR_RELEASE/blob/8078b3c39c22cae39eb19c0e1eb70e09c60ecea7/lib/dataset/_dataset_3d.py#L92-L99 Does scale of h36m_train_25fps_occ_nosmpl_db.pt correspond to 1.2, that of 3dpw _train_occ_db.pt corresponds to 1.2, and that of 3dpw_val _db.pt corresponds to 1.2 (i.e. all the 3d datasets used are scaled to 1.2)? Did I say anything wrong? I'm not quite sure because in the threedpw_utils.py, the default scale is set to 1.3. https://github.com/hongsukchoi/TCMR_RELEASE/blob/8078b3c39c22cae39eb19c0e1eb70e09c60ecea7/lib/data_utils/threedpw_utils.py#L157-L158 Thanks!

MooreManor commented 2 years ago

Hi, the scale values vary across the datasets, but do not change on the same dataset. That is, 3dpw_train_occ_db.pt and 3dpw_train_db.pt are generated using the same scale (1.2) as written in the released code files.

We applied different scales across the datasets, because the size of bounding box annotations were too different. For example, bounding boxes of one dataset appeared to be too tight, but these of another dataset appeared to be too loose. But the overall performance does not change much though,

_Originally posted by @hongsukchoi in https://github.com/hongsukchoi/TCMR_RELEASE/issues/8#issuecomment-909190287_

@hongsukchoi I noticed that in one issue you said that the scale written in the released code files was 1.2. But it seemed that in the source code of 3dpw, the scale was set to 1.3. https://github.com/hongsukchoi/TCMR_RELEASE/blob/8078b3c39c22cae39eb19c0e1eb70e09c60ecea7/lib/data_utils/threedpw_utils.py#L157-L158 Thanks!

hongsukchoi commented 2 years ago

Hi! Yes, you are right for the repr_table4_3dpw_model.yaml setting.

h36m_train_25fps_occ_nosmpl_db.pt correspond to 1.2, that of 3dpw _train_occ_db.pt corresponds to 1.2, and that of 3dpw_val _db.pt

No, the scales vary on other benchmarks. For example to follow the bbox setting of SPIN in H36M, we use tighter bbox.

i.e. all the 3d datasets used are scaled to 1.2

I cannot remember why the default setting is like that :( use 1.2 for 3dpw

But it seemed that in the source code of 3dpw, the scale was set to 1.3.

MooreManor commented 2 years ago

Thank you for your detailed reply!