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

Depth Supervision for Gaussian Splatting #2832

Open
peasant98 opened this issue Jan 27, 2024 · 5 comments
Open

Depth Supervision for Gaussian Splatting #2832

peasant98 opened this issue Jan 27, 2024 · 5 comments

Comments

@peasant98
Copy link

Is your feature request related to a problem? Please describe.
I would like to implement depth supervision for Gaussian Splatting. It seems pretty straightforward to me (I plan to put out a PR), but I am curious if there would need to be a custom .backward() when I include depth information in the loss. I remember that the original gaussian splatting repo required that, but I am not sure in this case.

@kerrj
Copy link
Collaborator

kerrj commented Jan 27, 2024

Hi! gradients already propagate through depth when you use rasterize_gaussians with depths passed in as the "rgb" (as splatfacto already does, you would just need to render depth when self.training is true in get_outputs). Any losses through the depth should propagate gradients, but this isn't something we have tested thoroughly. @vye16 would know more about the depth gradients since she implemented them in gsplat.

If you're interested in depth supervision, it would also be great to swap ZoeDepth used here for the newer depth anything model that came out recently, seems higher quality/faster/easier to use :)

@kerrj
Copy link
Collaborator

kerrj commented Jan 27, 2024

It would also be good to explore both metric losses, i.e. MSE with ground truth depth, and relative losses similar to SparseNeRF, or SparseGS. We've messed with these a bit internally but they don't have much of a noticable effect with well captured scenes, more sparse view scenes might be more noticable.

@peasant98
Copy link
Author

Thanks! I'll have a PR out for depth-supervised GS this week. Will compare it to regular GS as a benchmark.

@peasant98
Copy link
Author

Draft PR here #3182

I have not fully tested it but I have someone who will be running tests. I used DS-GS in one of my recent works (https://touch-gs.github.io/) and it works well in the sparse view!

@pwais
Copy link
Contributor

pwais commented Jun 7, 2024

could this rather be done as a plugin as in the dn-splatter implementation? https://github.com/maturk/dn-splatter

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

3 participants