bennyguo / instant-nsr-pl

Neural Surface reconstruction based on Instant-NGP. Efficient and customizable boilerplate for your research projects. Train NeuS in 10min!
MIT License
856 stars 84 forks source link

NeuS: Why approximate alpha value instead of compute it as in paper? #109

Closed alvaro-budria closed 1 year ago

alvaro-budria commented 1 year ago

Hi, I am not sure why in NeuS the $\alpha_i$ values are computed differently in the code and in the paper. I know this repo is not from the original authors, but someone might have an idea.

In the NeuS paper, we find this expression

image

where consecutive samples in a ray are utilized to obtain the $\alpha_i$.

In the code https://github.com/bennyguo/instant-nsr-pl/blob/e5fe3f246cf2d512494a73c727174c3ca1c3c695/models/neus.py#L117-L139

we do not follow the formulation above. Instead, we approximate the section points at each computed SDF value, which requires additional inputs: the directions and the intersample distances in the ray.

I wonder why this is done in this way. It seems to reduce the amount of queries to the SDF function by half, at the expense of introducing some noise. Could someone help me clarify?

alvaro-budria commented 1 year ago

See https://github.com/Totoro97/NeuS/issues/116.