pointrix-project / msplat

A modular differential gaussian rasterization library.
Other
170 stars 10 forks source link

Efficient issues #13

Closed jianhengLiu closed 1 month ago

jianhengLiu commented 1 month ago

Thanks for the amazing work and many appealing functions!

While I found that there is a pretty huge efficient gap (~2x) between msplat and gsplat. That is mainly due to the number of gaussian is much larger than gsplat in the same scene, where in the garden, I noticed that gsplat of ~100k points and msplat of ~500k points.

Wonder if there are any implementation differences in the split process or other reasons? Thanks a lot!

Here is my command: msplat:

python launch.py --config ./configs/colmap.yaml trainer.datapipeline.dataset.data_path=/media/chrisliu/T9/Datasets/Mip_NeRF360/V8/garden trainer.datapipeline.dataset.scale=0.25 trainer.output_path=/media/chrisliu/T9/Datasets/Mip_NeRF360/V8/garden/output

gsplat:

python launch.py --config ./configs/colmap.yaml trainer.datapipeline.dataset.data_path=/media/chrisliu/T9/Datasets/Mip_NeRF360/V8/garden trainer.datapipeline.dataset.scale=0.25 trainer.output_path=/media/chrisliu/T9/Datasets/Mip_NeRF360/V8/garden/output trainer.model.renderer.name=GsplatRender
yGaoJiany commented 1 month ago

The inefficiency caused by modularization is indeed a concern, and I'm actively working on addressing it. I've experimented with the implementation and found that the point count is generally consistent with the original 3DGS. As for gsplat, it may have some unique designs or improvements; checking the gsplat documentation could provide some useful insights.