SuGaR icon indicating copy to clipboard operation
SuGaR copied to clipboard

Extracting mesh from an existing PLY file

Open jclarkk opened this issue 2 years ago • 5 comments

Hi!

First of all, amazing work on this project! Really excited to see the outputs it's capable of.

Would it be possible to use an existing GS PLY file without going through the whole pipeline?

jclarkk avatar Jan 19 '24 07:01 jclarkk

Hello @jclarkk,

Thank you so much for your nice words!

Sure, in practice, it is possible to use an existing GS .PLY file without going through the whole pipeline. To do this, you would have to initialize a SuGaR model with your .PLY file (please refer to the beginning of the coarse training scripts in sugar_trainers for more details) and then use the coarse mesh extractor located in sugar_extractors (please refer to the script extract_mesh.py for more details about the function to use).

However, extracting a mesh from a Vanilla Gaussian Splatting file generally produces a mesh with very bad quality, as the Gaussians are too "chaotic" and not aligned enough with the surface. This is why SuGaR proposes to change the optimization loss; The terms we use in SuGaR's loss are very important for enforcing Gaussians to align with the surface and produce a good-looking mesh.

Therefore, I recommend going through the whole pipeline to get satisfying results. I hope you'll find my message helpful!

Anttwo avatar Jan 19 '24 17:01 Anttwo

Thanks a lot for the detailed response! I'll definitely give it a try.

jclarkk avatar Jan 21 '24 08:01 jclarkk

I'm encountering a lot of places that require camera parameters while trying to initialize the SuGaR model. Is it possible to somehow nullify those values or will it require a rewrite of the existing code to support such an operation?

jclarkk avatar Jan 21 '24 09:01 jclarkk

Hello @jclarkk,

Thank you so much for your nice words!

Sure, in practice, it is possible to use an existing GS .PLY file without going through the whole pipeline. To do this, you would have to initialize a SuGaR model with your .PLY file (please refer to the beginning of the coarse training scripts in sugar_trainers for more details) and then use the coarse mesh extractor located in sugar_extractors (please refer to the script extract_mesh.py for more details about the function to use).

However, extracting a mesh from a Vanilla Gaussian Splatting file generally produces a mesh with very bad quality, as the Gaussians are too "chaotic" and not aligned enough with the surface. This is why SuGaR proposes to change the optimization loss; The terms we use in SuGaR's loss are very important for enforcing Gaussians to align with the surface and produce a good-looking mesh.

Therefore, I recommend going through the whole pipeline to get satisfying results. I hope you'll find my message helpful!

@AnttwoHello, I used native Gaussian splashing for generation, as well as some real-time SLAM methods for Gaussian generation. I also used dream Gaussian pure AI to generate Gaussian. I hope to perform grid reconstruction through ply or splat files. (Although you have indicated that you may not get good results.) I hope to receive your guidance as I am a bit confused about how the conversion between the sugar model and the ply model is achieved.

salier avatar Jan 30 '24 07:01 salier

您好,我使用了原生高斯飞溅进行生成,以及一些用于高斯生成的实时 SLAM 方法。我还使用梦高斯纯 AI 来生成高斯。我希望通过 ply 或 splat 文件进行网格重建。(尽管您已经表示可能不会得到好的结果。我希望能得到您的指导,因为我对如何实现糖模型和层模型之间的转换有点困惑。

Hi,I use dreamgaussian and LGM to extract mesh from 3dgaussian ply file,but the results are really bad,I have the same question with you

hxj2580 avatar Apr 27 '24 08:04 hxj2580