zju3dv / PGSR

code for "PGSR: Planar-based Gaussian Splatting for Efficient and High-Fidelity Surface Reconstruction"
https://zju3dv.github.io/pgsr/
Other
403 stars 22 forks source link

On indoor datasets, there will be holes in the walls. #10

Open MrLihj opened 1 month ago

MrLihj commented 1 month ago

Screenshot from 2024-07-23 09-38-45 When I tested on the Auditorium in Tanks and Temples as well as some self-collected indoor datasets, the problem shown in the figure below occurred. How can I solve it?

danpeng2 commented 1 month ago

Reconstructing with weak textures without any prior information can be quite challenging. There are a few suggestions that might alleviate these issues: 1) Disable the abs splitting strategy by setting max_abs_split_points to 0; 2) Increase the opacity clipping threshold. Have you tried these two strategies?

MrLihj commented 1 month ago

Reconstructing with weak textures without any prior information can be quite challenging. There are a few suggestions that might alleviate these issues: 1) Disable the abs splitting strategy by setting max_abs_split_points to 0; 2) Increase the opacity clipping threshold. Have you tried these two strategies?

I tried (max_abs_split_points = 0, opacity_cull_threshold = 0.1), but the results are still not very good. Screenshot from 2024-07-23 11-42-56 Screenshot from 2024-07-23 11-43-08

danpeng2 commented 1 month ago
00 11

Our training commands:

python train.py -s data_path -m out_path -r2 --densify_abs_grad_threshold 0.002 --single_view_weight_from_iter 0 --multi_view_weight_from_iter 0

We have identified weak textures, complex textures, and non-global illumination variations in this scene. The 3DGS performs poorly in texture fitting under these conditions, so we reduced the split threshold. Meanwhile, to prevent irreversible geometric overfitting due to early splitting in weak texture areas, we increased the smoothness of these areas and activated the geometric regularization term earlier. However, these measures only mitigate the issue. The fundamental problem is that the current 3DGS baseline does not consider weak textures and complex environmental lighting. Integrating more advanced 3DGS methods that account for complex environments or utilizing prior knowledge will help further improve geometric accuracy.

LaFeuilleMorte commented 3 weeks ago

Just a discussion: As far as I know, The indoor scenes has suffered from multiple bad conditions which are harmful for optimization:

  1. textureless surfaces, the influence of this are two folds: (1) textureless will introduces errors for SFM methods to estimate camera pose and point cloud reconstruction. (2) 3DGS are sensitive to initial point clouds and camera pose which will lead to suboptimal results.
  2. Very constrained field of view. Capturing photos in room will always have some limits. Due to the limited space for the camera to move. The camera cannot capture the room pixels in a far enough distance. As a consequence, the photo will have much less overlaps comparing to outdoor scenes. Which could introduce error both in SFM and 3DGS.
  3. Big change in illumination, this could lead to discrepancies in multi-view photometric loss which guides the 3DGS to optimize.
saprrow commented 3 weeks ago

Just a discussion: As far as I know, The indoor scenes has suffered from multiple bad conditions which are harmful for optimization:

  1. textureless surfaces, the influence of this are two folds: (1) textureless will introduces errors for SFM methods to estimate camera pose and point cloud reconstruction. (2) 3DGS are sensitive to initial point clouds and camera pose which will lead to suboptimal results.
  2. Very constrained field of view. Capturing photos in room will always have some limits. Due to the limited space for the camera to move. The camera cannot capture the room pixels in a far enough distance. As a consequence, the photo will have much less overlaps comparing to outdoor scenes. Which could introduce error both in SFM and 3DGS.
  3. Big change in illumination, this could lead to discrepancies in multi-view photometric loss which guides the 3DGS to optimize.

how about using learning a based method like LOFTR to initialize camera pose?