diff-gaussian-rasterization icon indicating copy to clipboard operation
diff-gaussian-rasterization copied to clipboard

BUG in depth backward, block the gradient from depth to mean3D

Open slothfulxtx opened this issue 1 year ago • 3 comments

Hi, authors, Nice to see your work! I've also implement a modified version of gaussian splatting to support the depth map output. When i compare my code with your implementation, I find that we both use the center of 3D Gaussian Splatting to represent the depth of covered pixels. However, when you predict the depth map, the gradient will propagate to 3D gaussian splatting from both the weighted sum of depth value of 3D GSs and the depth values themselves. In short, you also need to take care of the projection process (with view matrixes) from means3D to depth value. I'll release my impl and paste it url as follow, which only supports depth map output now.

slothfulxtx avatar Oct 26 '23 12:10 slothfulxtx

Here's my implementation, hope it can be helpful!

https://github.com/slothfulxtx/diff-gaussian-rasterization

slothfulxtx avatar Oct 26 '23 13:10 slothfulxtx

We also support both alpha map and depth map now! (^_^)

slothfulxtx avatar Oct 27 '23 03:10 slothfulxtx

@slothfulxtx Thanks! I have fixed it according to your wonderful implementation!

ashawkey avatar Oct 29 '23 06:10 ashawkey