banmo icon indicating copy to clipboard operation
banmo copied to clipboard

update_delta_rts

Open Subinn-Jeon opened this issue 1 year ago • 0 comments

Hi, I have a question about the following function, update_delta_rts. https://github.com/facebookresearch/banmo/blob/c4498030aeca9b056e700892788025a80953cb5a/nnutils/banmo.py#L1207

Why do you compute rays['bone_rts'] by multiplying (bone_rts_rst)^(-1) * bone_rts_fw in correct_rest_pose function? Is it right that you intend to multiply bone_rts_fw first and then multiply the inverse of bone rest transformation?

What I understand is that you first transform bones using bone_rts_rst, which results in restpose bones. (restpose_bones = bones_rts_rst * bones)

Then, you make time t transformation using bone_rts_fw and bone_rts_rst in correct_rest_pose_function. (bone_rts_fw = (bone_rts_rst)^(-1) * (bone_rts_fw) )

As shown in the rendering code, bones_dfm is computed using those two values. (bone_dfm = bone_rts_fw * bones_rest = (bone_rts_rst)^(-1) * bone_rts_fw * bones_rts_rst * bones

What I'm curious about is that why you multiply the inverse of bone_rts_rst and bone_rts_rst on before and after of bone_rts_fw matrix? What's the meaning of this multiplication?

Hope to hear from you soon. Thank you.

Subinn-Jeon avatar Feb 08 '23 07:02 Subinn-Jeon