2d-gaussian-splatting icon indicating copy to clipboard operation
2d-gaussian-splatting copied to clipboard

extracted mesh broken

Open ShaYito opened this issue 9 months ago • 1 comments

Thanks for your great work and sharing the code. I tried out a bit and get a broken mesh. Am I configuring it wrong? Here are my commands and the results.

(gs) C:\_piper\2d-gaussian-splatting>python train.py -s D:/Data/nerf_synthetic/lego --depth_ratio 0
Optimizing
Output folder: ./output/af85311a-6 [07/05 13:57:45]
Tensorboard not available: not logging progress [07/05 13:57:45]
Found transforms_train.json file, assuming Blender data set! [07/05 13:57:45]
Reading Training Transforms [07/05 13:57:45]
Reading Test Transforms [07/05 13:57:59]
Loading Training Cameras [07/05 13:58:24]
Loading Test Cameras [07/05 13:58:28]
Number of points at initialisation :  100000 [07/05 13:58:28]
Training progress:  23%|████████████████████                                                                  | 7000/30000 [14:21<46:07,  8.31it/s, Loss=0.00785, distort=0.00001, normal=0.00000, Points=161496]
[ITER 7000] Evaluating train: L1 0.006597565952688456 PSNR 33.03615760803223 [07/05 14:12:50]

[ITER 7000] Saving Gaussians [07/05 14:12:50]
Training progress: 100%|█████████████████████████████████████████████████████████████████████████████████████| 30000/30000 [56:53<00:00,  8.79it/s, Loss=0.00702, distort=0.00002, normal=0.02754, Points=165112]

[ITER 30000] Evaluating train: L1 0.005794808687642217 PSNR 33.47078514099121 [07/05 14:55:22]

[ITER 30000] Saving Gaussians [07/05 14:55:22]

Training complete. [07/05 14:55:23]

python render.py -s D:/Data/nerf_synthetic/lego -m ./output/b157e902-3

(gs) C:\_piper\2d-gaussian-splatting>python render.py -s D:/Data/nerf_synthetic/lego -m ./output/b157e902-3/
Looking for config file in ./output/b157e902-3/cfg_args
Config file found: ./output/b157e902-3/cfg_args
Rendering ./output/b157e902-3/
Loading trained model at iteration 30000
Found transforms_train.json file, assuming Blender data set!
Reading Training Transforms
Reading Test Transforms
Loading Training Cameras
Loading Test Cameras
export training images ...
reconstruct radiance fields: 300it [00:10, 28.07it/s]
export images: 300it [03:22,  1.48it/s]
export mesh ...
reconstruct radiance fields: 300it [00:08, 34.71it/s]
Running tsdf volume integration ...
voxel_size: 0.004
sdf_trunc: 0.02
depth_truc: 3.0
TSDF integration progress: 300it [00:15, 19.62it/s]
mesh saved at ./output/b157e902-3/train\ours_30000\fuse.ply
post processing the mesh to have 1000 clusterscluster_to_kep
[Open3D DEBUG] [ClusterConnectedTriangles] Compute triangle adjacency
[Open3D DEBUG] [ClusterConnectedTriangles] Done computing triangle adjacency
[Open3D DEBUG] [ClusterConnectedTriangles] Done clustering, #clusters=1542
num vertices raw 393487
num vertices post 384212
mesh post processed saved at ./output/b157e902-3/train\ours_30000\fuse_post.ply

And the fuse_post.ply looks like this

image

Could you point out where I did wrong? Thank you.

ShaYito avatar May 08 '24 05:05 ShaYito

Hi. it looks like you should increase the depth_trunc. the depth_trunc at least larger than the distance from the camera to the object. Or you just use unbounded mode --unbounded.

hbb1 avatar May 08 '24 05:05 hbb1