Closed Jiang-Stan closed 2 years ago
Hi there, thanks a lot for running these tests! You can actually use the TiledGrid
mode of the encoding to obtain the "remainder" approach without any code changes.
We did experiment extensively with this, including hybrids, where the lower bits were tiled and the higher bits were hashed.
The key observations were:
That said, you're 100% correct in that this discussion is missing from the paper. We really should add all this additional information for an updated version of it!
Got it. Thanks a lot for your reply!
Hi, I wonder why TiledGrid
mode limit each level's params by base_resolution
instead of resolution
here? This is different from simply commenting out the fash_hash
part. Currently, TiledGrid
mode uses much fewer parameters (total_encoding_params=131072) compared to HashGrid
(total_encoding_params=12599920).
In Tiled
mode, it's good to be able to directly control the resolution of the tiled region, which is taken case of by base_resolution
. If each level's parameters were controlled by resolution
, then that'd be DenseGrid
mode.
Also -- double-checking the code -- the tiling computation seems to be skewed at the moment due to a missing modulo by base_resolution
in the inner loop of grid_index
; my bad. I remember removing such a modulo operation due to it negatively affecting the dense & hash modes. Seems like I was overeager in trying to avoid code duplication.
Thanks for the explaining!
Hi, thanks for the great work! While reading the paper, I was impressed by using hash as an efficient storage-saving method. But I'm also curious if it's possible to implement storage multiplexing with remainders instead of hash tables, since hashing is not a very hardware friendly method, and remainders can regarded as a special hash result. So I tested the performance on some NeRF dataset after removing fast_hash implementation from the code, as is shown in this figure:
and I found that the performance is still impressive without using hash, as shown in following tables:
I don't know if you have noticed this phenomenon before, because I didn't see hash related ablation experiments in the paper. Or is there anything I didn't noticed before in code that implemented hash?
If there is nothing wrong with code modification, is it possible to design a storage space representation to achieve a hardware-friendly mapping method that can achieve similar performance as hash did?
Thanks in advance for your reply!