ActiveVisionLab/nerfmm

A confusion about the implementation details in the paper

Closed this issue · 4 comments

YZsZY commented

    Hello, thank you for your great work!
    I saw in the paper that when initializing the NeRF model, it uses the Kaiming initialisation, but I checked the code and didn't see this step implemented.
    So I'm curious if the initialization has an effect on the final result.

    In addition I would like to ask a question, has the author tried to load known camera parameters directly together with the optimization, the final rendering effect will be improved?
    Sorry to bother you, hope for your reply!

Hi @YZsZY,

Sorry for the delay.

  • Kaiming initialisation is used by pytorch by default.
  • We did not try other initialisations, so I am not sure the effect of using different initialisation methods.
  • About the third question, it depends on how accurate your pre-computed camera parameters are. If they are already pretty close to ground truth camera parameters, there is nothing this method or any other methods can do. If they are not so close to ground truth, yes, our method should be able to refine those camera parameters and produce better render results.
YZsZY commented

Get that, thanks a lot! I have made some attempts with pose refinement on some large wild dataset of some outdoor scenes to optimize the poses, it seems that the pose refinement used by nerfmm does not effectively enhance the effect of NeRF when the pose is relatively accurate, and optimizing both pose and nerf in the first epoch with the initial pose can cause the pose to deviate significantly.

That's why we freeze initial camera poses for the first few epochs and then refine poses and NeRF.

YZsZY commented

OK,thanks a lot! I did the same thing later