google / mipnerf

Apache License 2.0
894 stars 109 forks source link

A confusion about the order of sin and cos in the IPE part #41

Open YZsZY opened 1 year ago

YZsZY commented 1 year ago

https://github.com/google/mipnerf/blob/84c969e0a623edd183b75693aed72a7e7c22902d/internal/mip.py#L183

Hello author! I recently tried to reproduce the mip-nerf by myself, and found a doubt about the IPE part.

In NeRF it is coded in the order of [(sinx,cosx),...], while Mip-NeRF seems to put the sinx-related ones together, followed by the cosx-related ones,[(sinx , ...),(cosx , ...)], as the following equation shows:

image

So I'm curious, have you tried coding in the same order as in NeRF, or does the current coding layout work better? Thank you so much! I just noticed this while writing the code, so I wanted to ask for some advice

jonbarron commented 1 year ago

The order of features in an MLP shouldn't matter. This change is arbitrary and was just done because it's slightly easier to compute and implement.

YZsZY commented 1 year ago

Sorry for the late reply, I tried it myself and there is really no difference in the order, thank you(^▽^)

YZsZY commented 1 year ago

In the meantime, I'd like to ask you another question. I've recently encountered a situation in the outdoor dataset when reproducing Mip-NeRF 360 that the rendered images always have severe burrs and noise, it can be seen visually in the depth image: gnome-shell-screenshot-BZ65V1 But when I use NeRF as the body of the network, although the effect is not as good as Mip-NeRF, but you can see that there is no serious burr situation: image So I don't know if the cone ray modeling is causing this noise.(Both inverse depth sampling and linear sampling encounter severe noise conditions) So I would like to ask you if you have encountered this situation or can give some advice on the cause of the noise? Sorry to bother you, looking forward to your better work! (^▽^)