Thanks for your amazing work! While the results of training looks decent, I noticed that the triangle walking algorithm is somehow not working in the implementation.
To be more specific, in walking_on_triangles() from ./SplattingAvatar/model/splatting_avatar_model.py, my understanding is that delta = self._xyz[..., :2].detach().cpu().numpy().astype(np.double) should be the updates for the uv coordinate. However, I found that this returned value delta will always be zero, leading to no triangle walking. I traced the code and found that self._xyz[..., :2] aren't going through back-propagation since uv coordinate are calculated with self.sample_bary and mesh vertices, not from self._xyz[..., :2], so self._xyz[..., :2] will always not be updated, i.e., will always be zero.
Could you please provide some hint about how to correctly activate triangle walking?
Thanks for your amazing work! While the results of training looks decent, I noticed that the triangle walking algorithm is somehow not working in the implementation.
To be more specific, in
walking_on_triangles()from./SplattingAvatar/model/splatting_avatar_model.py, my understanding is thatdelta = self._xyz[..., :2].detach().cpu().numpy().astype(np.double)should be the updates for the uv coordinate. However, I found that this returned valuedeltawill always be zero, leading to no triangle walking. I traced the code and found thatself._xyz[..., :2]aren't going through back-propagation since uv coordinate are calculated withself.sample_baryand mesh vertices, not fromself._xyz[..., :2], soself._xyz[..., :2]will always not be updated, i.e., will always be zero.Could you please provide some hint about how to correctly activate triangle walking?