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

fix: affine gradient propagation #38

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pierremerriaux-leddartech

hi,
In affine transformation module, gradients don't propagate to mlp layers and images embeddings, they are always equal to zero. The affine transformation is only learnt in last layer biases.
it is due to mlp weight and biases zeros initialization. I propose to initialize only the last layer to zero, to enable gradient propagation. Kept the last layer to 0, able to start train close to identity matrix

thanks
Pierre

@georghess
Copy link

@pierremerriaux-leddartech did you find this to help? Currently trying to evaluate OmniRe on Pandaset, but I still get clear artifacts from different camera settings even with this fix, see sky regions in images below.
media_images_image_rendering_test_rgbs_10_867ab93caceacdc0de96
media_images_image_rendering_test_rgbs_10_e76ba47e8782e940a0a0

Another issue with the current approach is that test images use the average embedding over all cameras, not just the embeddings for the corresponding camera. However, changing the averaging didn't improve results notably.

@ziyc Any input on this? I want to make a fair comparison between OmniRe and other methods I'm benchmarking.

@pierremerriaux-leddartech
Copy link
Author

Hi @georghess,
Nice to see again ! With my PR, gradient will be propagated properly, but yes we have also some artifact of exposure in sky from different camera. bilateral grid helped us more about that.

affine:
image

bilateral:
image

We have to finish affine correction tuning, but not sure that exposure is constant enough over image area and it is for that bilateral grid help.
thanks

@georghess
Copy link

@pierremerriaux-leddartech thanks for the quick reply! I think one of the issues is also that the sky node (EnvLight) has multiple order of magnitudes higher lr than the affine transform, leading to the model quickly changing the sky color and never recovering from it. But haven't had time to tune this to verify the hypothesis

@pierremerriaux-leddartech
Copy link
Author

thanks @georghess , yes probably, we will test that during tuning phase.
thanks

@szhang963
Copy link

@pierremerriaux-leddartech Hi, I also found this issue about artifact of exposure in sky. So, can I request a code on bilateral grid, or some references?
Thanks.

@pierremerriaux-leddartech
Copy link
Author

Hi @szhang963 ,
Sure, for now we use the bilateral grid nerfstudio implementation in splatfacto.
thanks

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

Successfully merging this pull request may close these issues.

3 participants