Tips on how to tune "bound" & "scale" for a new scene?
JasonLSC opened this issue · 7 comments
I have a CG-generated dataset containing correct poses and depth range, exactly like Blender dataset. I used it to train a NeRF sucessfully by NeRF-pytorch code, but I failed to use it to train a NeRF by torch-ngp.
I think it may be due to my wrong setting of "bound" & "scale" for this scene. So do you have any tips on how to tune "bound" & "scale" for a new scene?
@JasonLSC Hi, you can try to uncomment this line to check the poses. A proper dataset should have poses like in this. You can also check colmap2nerf.py
to find the code to properly transform the poses.
If the poses look good, you can set a large bound, e.g., 8, or a small scale, e.g., 0.3 and use the GUI to check if the scene fit into the bound, and then adjust the bound or the scale.
@ashawkey Hi, thank you for your instructions. The visualization of the poses looks like this:
I think it's good? Do you think the cameras are a little bit far away from the center point?
Yes, the camera looks good. From the GUI it seems it is able to train normally? If you want the ray to reach further, you can use a larger bound.
Hi @ashawkey ,thank you for your above sugguestions. Now, I can train my own scene dataset on the torch-NGP platform normally. In the end of training, the PSNR of training views converges to 26dB (bound = 8, scale = 1) . But, it converges to 30dB when I use NVIDIA intstant-NGP testbed (aabb_scale = 8, scale = 1)
I have some questions about torch_NGP and instant_NGP:
- Is 'bound' & 'scale' in your implementation correspond to 'aabb_scale ' & 'scale ' in instant-NGP?
- Do you have any idea about how to save rendered training view in the instatnt-NGP testbed?
- Why the desired resolution is correspond to the bound in torch-NGP nerf application? Is it same with the instant-NGP impelmentation?
There is still a large performance gap compared to the original implementation, it may still take some time for further optimization.
- Yes, they are designed to function similarly, but there are differences as stated in readme.
- I'm not sure about this, you could ask in their repo.
- If you mean that we scale desired resolution with bound, yes, it is discussed in #23.
closed for now.