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

Question about "vis_mask" #5

Open
wen-yuan-zhang opened this issue Mar 22, 2023 · 1 comment
Open

Question about "vis_mask" #5

wen-yuan-zhang opened this issue Mar 22, 2023 · 1 comment

Comments

@wen-yuan-zhang
Copy link

wen-yuan-zhang commented Mar 22, 2023

Thanks for your excellent work!
I noticed that you used visible mask to modify the indicator function in Eq.(9) in the paper, which is written as
$$\Psi (t)=\prod (1 - h(t) * m(t))$$
However, it seems that the implementation code (Line 410 in ''udf_renderer_blending.py'') is written as
$$\Psi (t)=\prod (1 - h(t) + flip\_saturation*m(t))$$,
and the variable $flip\_saturation$ increases from 0 to 1 along with the training progress. Would you please explain why using ''add'' instead of ''multiply'' to deal with the indicator function? And what is the role of $flip\_saturation$ here?

Thanks again!

@xxlong0
Copy link
Owner

xxlong0 commented Mar 24, 2023

Thank you for pointing it out.
Ideally, we can multiply with the vis_mask to get the unbiased indicator function.
In the implementation, we adopt a softer practice. Instead of applying multiply, we add the vis_mask and then clip to (0,1):
(1. - alpha_occ + saturation*vis_mask).clip(0, 1) .
The implementation has some advantages:
The saturation parameter can soften the masking operation, allowing gradients for the "masking" points when saturation is smaller than 1.
This is because, in the early stage of the optimization, the vis_mask might be not very accurate, so we can use the saturation parameter to control the masking operation. Only at the end of optimization, we mask out the points before the surfaces.

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