Open engrkhurramshabbir opened 1 month ago
Of course. After run .segment() (in render.py you can find the function), the gaussian_model is the segmented 3D object(s). Then, you can simply save it as a common 3D-GS Gaussian model.
Unfortunately, I am unable to get any .ply file after running the render.py code. I am using PCA and 3D Cluster to save the precomputed_mask.pt
But when I execute "python render.py -m output/ae32a2ba-a --precomputed_mask segmentation_res/precomputed_mask.pt --target scene --segment" I don't get any .ply file which has the 3D segmentation information as shown in above attached picture in the GUI. Moreover, the 2D rendered images are also RGB and do have any segmentation information.
Yeah. First, I haven't provided the function to store the PCA and 3D cluster results. You may need to implement it as you like since there may be many possible storing forms.
To store the segmented object(s) as a 3D-GS ply file, render.py only provides a sample about calling the .segment() function. To store the segmented Gaussian model, you need to add scene.save(scene.loaded_iter, target='seg_no_mask')
after calling .segment().
Hints: If you just want to save the PCA colors as Gaussian colors, you can just find this color in the GUI code (l1, l2) and replace the original point color with the PCA color and call this.
Note that the pca decomposition is conducted on rendered feature. If you want to save it as 3D Gaussian point you need to conduct the projection on point features instead.
Thanks for sharing your valuable work. Is it possible to export the segmented 3D into the .ply file?