autonomousvision / sdfstudio

A Unified Framework for Surface Reconstruction
Apache License 2.0
1.99k stars 185 forks source link

question about periodic volume encoding #78

Open slpmee opened 1 year ago

slpmee commented 1 year ago

Hi, I am currently working on a new project using your repository. Very thanks to your efforts.

I have a question about periodic volume encoding. According to the come comments, periodic volume encoding is a implementation of hash encoding. It is quite similar to hash encoding class.

Is the difference between two classes is just converting values ​​into periodic values? periodic volume encoding is a variation of hash encoding?

I am very new to neural rendering so my question looks like weird. I would be very appreciate if you let me know references or explanation of periodic volume encoding.

niujinshuchong commented 1 year ago

Hi, the periodic volume encoding is different with hash-encoding because we use a periodic function instead of a hash function. So the feature grids in periodic volume encoding is stored in a way that the spatial information is preserved while the hash encoding is not. This would make applying some regularisation with the feature grids easier like the total variance loss as shown here https://github.com/autonomousvision/sdfstudio/blob/master/nerfstudio/field_components/encodings.py#L738-L756