YuliangXiu/ICON

Difference between inference code and evaluation code?

Closed this issue · 1 comments

Hi authors, I noticed a difference in the predicting mesh using inference and evaluation code.

Specifically, for THuman 2.0 human id 506, the predicted meshes from running inference code for the PiFU model
python -m apps.infer -cfg ./configs/pifu.yaml -gpu 0 -in_dir data/thuman2_36views/0506/render
and testing code
python -m apps.train -cfg ./configs/train/pifu.yaml -test
are different.

See in the below image. Left is inference code. Right is testing code. The input image have the same input view.

Screenshot 2024-01-27 at 2 00 12 PM

Input image
000

Could you please help clarify why this is the case? Thank you in advance!

In the inference mode, the SMPL-X body is estimated using off-the-shelf methods, such as PIXIE or PyMAF.

However, in the evaluation mode, we use ground-truth SMPL-X body to filter out the influence of body misalignment. Thus, the final reported numbers could solely reflect the reconstruction performance of clothing instead of the body pose.