Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why init beta needs sqrt? #6

Closed
fishfishson opened this issue Nov 5, 2021 · 2 comments
Closed

Why init beta needs sqrt? #6

fishfishson opened this issue Nov 5, 2021 · 2 comments

Comments

@fishfishson
Copy link

Hi,

Thx for your excellent repo. In volsdf rendering part, I find you add extra sqrt when initializing beta which does not show in volsdf paper's equation. Could you pls tell me why you use sqrt here?

@ventusff
Copy link
Owner

ventusff commented Nov 5, 2021

Hi,
This is a good question :) This part is my biggest confusion when implementing VolSDF.

It is mainly about how to deal with alpha and beta simultaneously.

In VolSDF's paper, the upsample algorithm choose a suitable initial beta that promises the error bound, which is written as:
image

However, the alpha in the numerator on the right side is actually undefined in the paper and is unclear. I've tried with using the network's alpha (which is self.forward_ab()[0]), but that will cause the upsampling algorithm completely fail to produce reasonable results.

Considering that this expression is derived assuming corresponding alpha and beta (by "corresponding", I mean alpha=1/beta, which is stated in Sec3.5. in VolSDF's paper), the expression above could be further derived as follow:
image
Hence produce the sqrt operation.

@ventusff ventusff pinned this issue Nov 5, 2021
@fishfishson
Copy link
Author

@ventusff Great answer! I got it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants