zju3dv / animatable_nerf

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

关于代码‘pind = pnorm < norm_th’的疑惑 #24

Closed sycamore27 closed 2 years ago

sycamore27 commented 2 years ago

很感谢作者开源这么棒的论文!在学习代码的过程中遇到一个问题想请教一下。在此处的121-127行代码: `

        pnorm = init_pbw[:, -1]  
        norm_th = cfg.norm_th  
        pind = pnorm < norm_th  
        pind[torch.arange(len(pnorm)), pnorm.argmin(dim=1)] = True  
        pose_pts = pose_pts[pind][None]  
        viewdir = viewdir[pind[0]]  
        dists = dists[pind[0]]  `

不太理解为什么用blend weights的最后一维/最后一个关节点的值pnorm来约束points?这样约束产生的pind变量的物理意义是什么?

期待&感激您的回复!

pengsida commented 2 years ago

blend weights的最后一维不是blend weights,而是三维点到smpl表面的距离。

参考这个代码:https://github.com/zju3dv/animatable_nerf/blob/master/tools/prepare_blend_weights.py#L272

pind用于筛除离表面过远的点。