graphdeco-inria / gaussian-splatting

Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
Other
14.78k stars 1.93k forks source link

Per-Pixel to Gaussians #1041

Open Qcatbot opened 3 weeks ago

Qcatbot commented 3 weeks ago

Is there any method available to find out Gaussian’s contribution to the pixel’s color? I am interested to see what Gaussians are responsible for a given pixel color in the rendered image. Meaning, for a given location I(x,y), I wish to know what 3D Gaussians are responsible to that color.. Any idea would be helpful for me. thanks!

AsherJingkongChen commented 3 weeks ago

In forward render() kernel of the rasterizer, the Gaussians are retrieved by their indices.

You can add custom metadata buffers indexed by Gaussians . e.g. point_pixel_list[coll_id] = pix_id. You can see their source code here.

Qcatbot commented 3 weeks ago

is there any python wrapper to get it or any idea how can I achieve through python?

Qcatbot commented 3 weeks ago

I am kind of interested in top 5 gaussians that contribute to a given pixel.

AsherJingkongChen commented 3 weeks ago

I am kind of interested in top 5 gaussians that contribute to a given pixel.

@Qcatbot

If you are really interested, why not just edit the source code, or did you not see the comment (instructions I gave) previously? I thought it was easy.

The only "Python wrapper" available are diff-gaussian-rasterization and gsplat.

Your request feature is very customized, so it is easier to edit the C++ kernel directly. You can achieve this by Cursor.ai or Copilot (o1-mini) even if you don't know C++.