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

Normal supervision - Is normal properly expressed in camera coordinates before rendering ? #75

Open
gaetan-landreau opened this issue Sep 26, 2024 · 1 comment

Comments

@gaetan-landreau
Copy link

gaetan-landreau commented Sep 26, 2024

Hi ! 👋🏼
I recently skimmed through your code and this particular line made me a bit lost ..

normals = normals @ camera.camera_to_worlds.squeeze(0)[:3, :3]

As comment suggest that it "convert normals from world space to camera space", I would have rather taken the inverse of camera.camera_to_worlds to express the normals, defined in world coordinate, into the camera one. Am I missing something ? 🥲

@sevashasla
Copy link

Hello!
If I am not mistaken the code is correct. Normals are vectors-rows but not vectors-columns. Therefore the result in vector-s-columns should be (w2c @ normal.T) = (c2w.T @ normal.T)
We want to get vectors-rows back, then
(c2w.T @ normal.T).T = normal @ c2w

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