sergeyprokudin / dpf

Dynamic Point Fields: Towards Efficient and Scalable Dynamic Surface Representations (ICCV 2023)
MIT License
75 stars 3 forks source link

Questions about Static surface reconstruction with point sets #5

Closed tb2-sy closed 8 months ago

tb2-sy commented 8 months ago

Hi, thanks for your nice work! Table 1 of the paper shows the powerful overfitting ability of point cloud for static surface reconstruction. What confused me is the comparison of ngp baseline. Because it seems that static surface point cloud optimization method is initialize with the point cloud sampled from gt mesh, and ngp and other implict methods cannot do this. Can you tell me what the losses of ngp optimization used, and how to extract point clouds from optimized npg to evaluate? Thanks.

sergeyprokudin commented 8 months ago

Hi again @tb2-sy, yes, this is true regarding NGP and other implicit methods (e.g. NGLOD). There, we followed the original protocol of these methods on the surface learning task, akin to the armadillo example from the original repository. In particular, we used this code as a reference implementation, with minimal modifications mostly related to adjusting the sizes of hash grids, etc. We use the following loss for optimization (a scaled version of L1 loss on SDF values).

To extract point clouds from the optimized SDF, we first generate a mesh by running marching cubes on the predicted SDF grid (this function from the NGP repository mentioned above). Next, we sample points from this mesh with a standard Pytorch3D function.

Hope this helps! ~Sergey

tb2-sy commented 8 months ago

Hi again @tb2-sy, yes, this is true regarding NGP and other implicit methods (e.g. NGLOD). There, we followed the original protocol of these methods on the surface learning task, akin to the armadillo example from the original repository. In particular, we used this code as a reference implementation, with minimal modifications mostly related to adjusting the sizes of hash grids, etc. We use the following loss for optimization (a scaled version of L1 loss on SDF values).

To extract point clouds from the optimized SDF, we first generate a mesh by running marching cubes on the predicted SDF grid (this function from the NGP repository mentioned above). Next, we sample points from this mesh with a standard Pytorch3D function.

Hope this helps! ~Sergey

i see, thank you very much for your patient reply!