Closed haodong2000 closed 1 year ago
Update: I've tried to enable pruning operation with below params:
renderer:
...
prune:
enabled: true
warm_up: 3000
end: 10000
radii2d_thresh: 1000
alpha_thresh: 1000
radii3d_thresh: 0.0
period: 500
, but after running self.prune_by_scale()
& self.prune_by_alpha()
at gs/gaussian_splatting.py
, I met errors at trainer.py
, line 299, in train_step
: out = self.renderer(batch, self.cfg.use_bg, self.cfg.rgb_only)
. The logs is below.
Still figuring it out ... and thanks in advance for any help 😄
Hi haodong,
Thanks for your interest. If you find the model contains an excessively large number of Gaussians, please set a smaller K by +renderer.densify.K=1
or a larger period on densification by renderer.densify.period=2000
which works fine in my case. Some of the configs have not been released yet since we want to do better (including guidance with DeepFloyd IF and VSD loss in ProlificDreamer).
The error that happened in the pruning is caused by the alpha_thresh: 1000
since alpha_thresh
refers to the minimal opacity value thus all of the Gaussians are pruned. You can set the alpha_thresh=0.05
to enable a correct prune. Sorry for not making it clear in the readme. We are still working on GSGEN. If you have any more questions about the approach, feel free to email me.
Many thanks for your explaination! And sorry I did not set params like alpha_thresh
and radii2d_thresh
carefully :smile:
After adding the Compactness-based Densification, the details seems to be better!
with compactness and prune
with compactness
without compactness
Dear authors, thanks for your great work, but I met problems while training with the Compactness-based Densification proposed in section 4.2 of your paper, like the figure below:
I found that in your
conf/base.yaml
:, which means that in function
def densify()
atgs/gaussian_splatting.py
:, the function
self.densify_by_compatness()
will not be executed and onlyself.densify_legacy()
will be ran.And then I set
renderer.densify.type="compatness"
, to run it, but the proformance is not quite good with prompt "a zoomed out photo of a 3D model of an adorable cottage with a thatched roof" with initial prompt "a cottage", at iter7000 (because after including theself.densify_by_compatness()
, the training stopped at iter7000)with compatness
without compatness
There might be several reasons, the first that I came up with that in defalult, the pruning operation is disabled in config. I will report the result after adding the pruning.
But the most important is authors' explaination, cause you are the most familiar with the code. Could you kindly provide some advice, since we are also doing Text-to-3D tasks, and the Compactness-based Densification really attracting us.
Thanks! 😄