KeKsBoTer / c3dgs

Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesis
https://keksboter.github.io/c3dgs/
Other
265 stars 29 forks source link

How to Train the Model Without Luminance Perception and Vector Quantization, Using Morton Sorting and Compression, and Save as NPZ File? #2

Open GimV88 opened 5 months ago

GimV88 commented 5 months ago

Hello,

I am interested in using your algorithm to train a model without utilizing Sensitivity Aware and vector quantization, but instead focusing on using Morton sorting and compression, and then saving the model as an NPZ file. Could you please provide guidance on how to proceed with this?

Specifically, I would like to know:

1.How can I disable luminance perception and vector quantization in the training process? 2.What steps should I take to ensure that Morton sorting is applied during the training? 3.How can I adjust the compression settings to optimize the compression process? 4.Could you provide instructions on how to save the trained model as an NPZ file? I appreciate your assistance in this matter. Thank you.

KeKsBoTer commented 5 months ago

hello,

the morton sorting and compression (run-length and entropy encoding) is a post processing step that can always be applied after training. (see save_npz method).

About your other questions: 1.How can I disable luminance perception and vector quantization in the training process?

This method is a post processing step after training. If you want to compress a reconstructed scene with this method without vector quantization you can add --not_compress_color --not_compress_gaussians as arguments to the compression script. This will skip the vector quantization step. All other methods like sorting & rung length encoding will be applied.

3.How can I adjust the compression settings to optimize the compression process? Here you can find all the compression parameters. The most important ones (also described in the paper) are gaussian_importance_include, color_importance_include, color_codebook_size and gaussian_codebook_size.

GimV88 commented 5 months ago

Thank you for your answer! And when I used the -- not_compress_color -- not_compress_Gaussian command, it also pruned most of the content, causing a lot of missing information. If I only need to use the original 3dgs model for this post-processing operation, that is, entropy encoding and saving as npz, how should I cancel the 5000 steps of the previous training process? I appreciate your assistance in this matter. Thank you!

KeKsBoTer commented 5 months ago

Only points not visible in the training views should be pruned. Its important that the gradient for the SH coefs is not clamped in the backward pass. Otherwise this will results in zero gradients and therefore pruning.

You can turn of the additional finetuning steps with --finetune_iterations 0