Detail optimization
Thank you very much for the author's efforts. I have successfully generated the scene, and it is indeed the best project to date. But can you provide me with some advice on the roughness of the character's surface?The quality of bumpy and uneven areas is not good Is my image resolution too low? Is there not enough time for training? `python gaussian_splatting/train.py -s /D/LAY/projects/SuGaR/input/jiang --iterations 7000 -m /D/LAY/projects/SuGaR/gaussian_splatting/output/jiang -r 4
python train.py -s /D/LAY/projects/SuGaR/input/jiang/ -c /D/LAY/projects/SuGaR/gaussian_splatting/output/jiang/ -r density --refinement_time short --square_size 10 -i 7000`
Hello @jiangyixing,
Thank you for your nice words!
Indeed, the surface has a lot of irregularities, even though the overall geometry seems correct. Let's investigate! May I ask you the following questions:
- Did you use the
convert.pyscript to generate camera data with COLMAP? - You may have too many vertices to reconstruct your scene, which would explain why the surface of the Gaussians become visible (i.e., the meshing is probably too fine for the smooth surfaces of your scene).
Have you tried to use the
--low_poly Trueargument for runningtrain.py? Contrary to the default config (which useshigh_poly), thelow_polyoption removes unneccessary vertices and smoothes the surface. Even though it results in less vertices, it can look better than using too many vertices sometimes. For instance, I usedlow_polyin the demo scene with the white and red Knight. On the contrary, I usedhigh_polyfor reconstructing the white and blue robot, because this character has much finer details. - Ultimately, you could also try to use the
-r sdfregularization instead of-r density. Even though the density regularization is generally better for single object-centered scenes, the SDF regularization is stronger and, sometimes, it may result in better reconstructions, even in this setup.
Also, I see that you resized the images when running the initial gaussian splatting script. What size are your images? I agree it shouldn't change the results, but who knows, since I never tried that before, maybe it could have an impact. I should definitely investigate this.
Hello @jiangyixing,
Thank you for your nice words!
Indeed, the surface has a lot of irregularities, even though the overall geometry seems correct. Let's investigate! May I ask you the following questions:
- Did you use the
convert.pyscript to generate camera data with COLMAP?- You may have too many vertices to reconstruct your scene, which would explain why the surface of the Gaussians become visible (i.e., the meshing is probably too fine for the smooth surfaces of your scene). Have you tried to use the
--low_poly Trueargument for runningtrain.py? Contrary to the default config (which useshigh_poly), thelow_polyoption removes unneccessary vertices and smoothes the surface. Even though it results in less vertices, it can look better than using too many vertices sometimes. For instance, I usedlow_polyin the demo scene with the white and red Knight. On the contrary, I usedhigh_polyfor reconstructing the white and blue robot, because this character has much finer details.- Ultimately, you could also try to use the
-r sdfregularization instead of-r density. Even though the density regularization is generally better for single object-centered scenes, the SDF regularization is stronger and, sometimes, it may result in better reconstructions, even in this setup.Also, I see that you resized the images when running the initial gaussian splatting script. What size are your images? I agree it shouldn't change the results, but who knows, since I never tried that before, maybe it could have an impact. I should definitely investigate this.
Okay, thank you very much. I will listen to your suggestions and conduct the experiment again!