SamsungLabs / NeuralHaircut

Neural Haircut: Prior-Guided Strand-Based Hair Reconstruction. ICCV 2023

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PIXIE initialization

Bai426 opened this issue · comments

Thanks for your great work.
I am reproducing your work with h3ds dataset. But I am facing one problem in multi-view optimization (https://github.com/SamsungLabs/NeuralHaircut/tree/main/src/multiview_optimization) : it says that we need an initialization with PIXIE for shape, pose parameters and save it as a dict in initialization_pixie file.

When I go to PIXIE repository, I am wondering which single image can be used for the initialization or all the multi-view images have to be used. Also, how to get initialization_pixie file is unclear. Thank you!

Best,
Mike

Hi Mike!

You need to launch PIXIE on the whole folder of images and save stacked param_dict (https://github.com/yfeng95/PIXIE/blob/master/pixielib/pixie.py#L414) to intialization_pixie.pickle file (you could see the exact structure of this dict in our provided example https://github.com/SamsungLabs/NeuralHaircut/tree/main/example).

For some views parameters obtained from PIXIE would be incorrect, but during initialization, we would consider only those, where FaceAlignment works (https://github.com/SamsungLabs/NeuralHaircut/blob/main/src/multiview_optimization/opt_params.py#L84).

Thank you very much for your reply. I will try again as you said.

Best,
Mike

Hi! I was wondering about this as well...

I looked at the initialization_pixie file in your implicit-hair-data monocular dataset example (thanks for providing it, this is extremely helpful) and here are the shapes I see for the different parameters:

[('shape', torch.Size([1, 200])), ('exp', torch.Size([1, 50])), ('global_pose', torch.Size([1, 1, 3, 3])), ('body_pose', torch.Size([1, 21, 3, 3])), ('jaw_pose', torch.Size([1, 1, 3, 3])), ('left_hand_pose', torch.Size([1, 15, 3, 3])), ('right_hand_pose', torch.Size([1, 15, 3, 3]))]

Isn't this a single estimate?