google / mipnerf

Apache License 2.0
894 stars 109 forks source link

Question about mipnerf360 #28

Closed Bingrong89 closed 2 years ago

Bingrong89 commented 2 years ago

Hello! Sorry if this is the wrong place to post this question. In mipnerf, during inference, LLFF scenes have their near and far distances set as 0 and 1 with the use of NDC. However in mipnerf360, during training, without the usage of NDC, I assume near and far distances are used directly from the COLMAP calculations. If so, how do you set these values during inference? Has it got something to do with the contract(.) operator? Or perhaps I am approaching this wrongly?

jonbarron commented 2 years ago

Are you asking about the LLFF scenes, or the 360 scenes?

In mipnerf360, the LLFF scenes are handled using NDC, as usual. The 360 scenes do not use NDC, and the near/far planes are set to 0.2 and 10^6 respectively.

We should have a code release for mipnerf360 soon, sorry for the delay.

Bingrong89 commented 2 years ago

Thank you for answering my question, glad to know there will be a code release from the authors! I mistakenly thought that both LLFF scenes and 360 scenes were parameterized with equations (9) and (10) from the paper.

Another question, are the ray distances t for LLFF scenes also sampled using equation 11(linearly in disparity)? Or are they sampled uniformly in disparity, then when computing the regularization loss(equation 15), you simply convert the t values into s with equation(11)?

jonbarron commented 2 years ago

Most of our code stays in "s-distances" the whole time, so we don't need to convert, but yeah for Equation 15 just convert your t-distances into s-distances and you should be fine.

To clarify, our s-distances are evenly spaced (linspace), and the t-distances are linear in disparity.

Bingrong89 commented 2 years ago

Thank you for taking the time to answer my questions :)