zju3dv / animatable_nerf

Code for "Animatable Implicit Neural Representations for Creating Realistic Avatars from Videos" TPAMI 2024, ICCV 2021
Other
493 stars 50 forks source link

What are A and big_A in blend weight? #44

Closed 13136983989 closed 1 year ago

13136983989 commented 1 year ago

Thank you for your excellent work. I have a question what are the meaning of A and big_A ?

      They are in ./lib/datasets/tpose_pdf_dataset.py
      229 lines---meta = { 'A': A,
                          'big_A': self.big_A,}
dendenxu commented 1 year ago

Hi! Sorry for the late reply.

In the codespace, variables containing A usually stand for the transformation matrices for every bone computed from the LBS algorithm. In ./lib/datasets/tpose_pdf_dataset.py, A contains transformations to warp canonical space points associated with every bone to the current pose space (i.e. warp a t-pose human to a posed human). big_A contains transformations to warp a t-pose human to a big-pose human (think about the Chinese character 大).

If you dig into the code to compute these matrices here: https://github.com/zju3dv/animatable_nerf/blob/c8b9a140d032a70a6e0e428c1e03aa39e9c95980/lib/utils/if_nerf/if_nerf_data_utils.py#L337 you'll see that they're just LBS matrices.