YuxueYang1204 / TrimGS

Trim 3D Gaussian Splatting for Accurate Geometry Representation
https://trimgs.github.io/
208 stars 6 forks source link

Handling Spurious Depth Points #3

Open fabiotosi92 opened 5 months ago

fabiotosi92 commented 5 months ago

First of all, I would like to express my compliments for your excellent work. Your code works perfectly! I have trained Trim3DGS on my own scene, and the resulting geometry looks very good.

However, I have noticed an inevitable issue: some scattered points in the rendered depth appear inaccurate/spurious, typically in regions that were less frequently observed during training. I would like to know if there is a way to identify and remove these points. Specifically, is there a method to extract uncertainty information from the model in order to remove these points, thereby making the depth representation sparser but retaining the most accurate ones? depth

Abyssaledge commented 5 months ago

Thank you so much for using our work! These spurious points are mainly caused by the scale control strategy. Due to less observation, these regions contain large floaters in the original 3DGS. Since we split the large Gaussian into smaller ones, there will be such spurious points.

Currently, there are two straightforward solutions:

  1. Using a more strict scene mask, which is derived from the camera poses of all training views.
  2. Do not use the scale control if you can obtain good quality in high-frequency regions. The scale control mainly aims to improve 2DGS.

In addition, some hyperparameters (such as normal loss weight) also have an impact on the spurious points. It can be expected to have some spurious points if you follow the default hyperparameters in your own dataset. We will release some tips to demonstrate the inner workings of some important hyperparameters.

luoshuiyue commented 4 months ago

First of all, I would like to express my compliments for your excellent work. Your code works perfectly! I have trained Trim3DGS on my own scene, and the resulting geometry looks very good.

However, I have noticed an inevitable issue: some scattered points in the rendered depth appear inaccurate/spurious, typically in regions that were less frequently observed during training. I would like to know if there is a way to identify and remove these points. Specifically, is there a method to extract uncertainty information from the model in order to remove these points, thereby making the depth representation sparser but retaining the most accurate ones? depth

Hello!@fabiotosi92 , I would like to ask how did you run it on your own data? Can you tell me how your data was arranged and what commands were run?