jchibane / if-net

Implicit Feature Network (IF-Net) - Codebase
305 stars 59 forks source link

About the usage of `grid_coords` #9

Closed Dzhange closed 3 years ago

Dzhange commented 4 years ago

Hi, good work! But I got a little confused about the usage of the variable grid_coords. In the training part, it seems to come from the ground truth mesh(while in the generation part it is created directly from a cube). I thought that in SVR mode the if-net should only take sampled points as input, and I don't understand why there is a grid from GT mesh. Can I use a cube created grid_coords in the training? Thanks

Dzhange commented 4 years ago

My guess is that grid from the GT mesh is for accelerating the training, but I'm not very sure

jchibane commented 4 years ago

Hi, thanks!

The grid_coords are storing the locations of the data points that are needed. Alongside with their corresponding ground truth occupancy (i.e. inside/outside annotation) they are used to train the network to correctly classify points in 3D space into inside/outside. At inference time (during generation) we want to fully reconstruct an object. We do this by asking the network to classify all points on a grid around the object into inside / outside. The classified voxel grid locations are then used to create a mesh, using the marching cubes algorithm.

Please consider the paper and supplementary for details.

Best, Julian

Dzhange commented 3 years ago

Thanks a lot!