NVIDIAGameWorks / kaolin-wisp

NVIDIA Kaolin Wisp is a PyTorch library powered by NVIDIA Kaolin Core to work with neural fields (including NeRFs, NGLOD, instant-ngp and VQAD).
Other
1.45k stars 133 forks source link

Grids for 2D data #127

Open LouisSerrano opened 1 year ago

LouisSerrano commented 1 year ago

Hi, I would like to use the acceleration structures of kaolin-wisp for 2D data (180 000 points per sample). What do I need to change in the pipeline to make it work ? Everything seems to be designed (especially the grid classes) for 3D point clouds, but I am not sure. Also in what range should be the coordinates so that the grid interpolation makes sense ?

orperel commented 1 year ago

Hi @LouisSerrano !

Coordinates we feed to interpolation in wisp are in [-1, 1].

For 2D data - what's your intended use for acceleration structures? They're indeed optimized with 3D coordinates in mind, but one idea is to always pass z=0 to quickly work around that (note that in addition to interpolate(), all BLASGrids support the query() function also, which returns whether a coordinate falls within an occupied cell or not).

LouisSerrano commented 1 year ago

Well, actually I am trying to find a way to obtain through an INR local embedding features of a physical field. I am not per se looking for faster but smarter architectures, and I was interested in trying an idea with the grids available in kaolin-wisp. Usually I work with SIREN or classical INRs that take as inputs global coordinates, and they struggle to fit multi scale signals (which is my case). Therefore I think local embeddings may help to better capture the nature of the signal. Thanks again for your prompt reply, I'll try to pass z=0 and rescale the coordinates accordingly.