barbararoessle / dense_depth_priors_nerf

Dense Depth Priors for Neural Radiance Fields from Sparse Input Views
MIT License
378 stars 49 forks source link

How should I get the max_depth and dist2m of config.json? #3

Closed EchoTHChen closed 2 years ago

hjxwhy commented 2 years ago

I have the same question. As I understand, the max_depth is the maximum depth in a real scenario and is a number you can roughly guess. dist2m is a scale the COLMAP reconstruction scale-free depth to real scale depth, first dist2m can be given 1 and in preprocessing code https://github.com/barbararoessle/dense_depth_priors_nerf/blob/5794657b81d5a1b310a10cba6a6e061e38d77ce8/preprocessing/extract_scannet_scene.cpp#L78 will calculate a scale. But in depth estimation, it is middle depth scale align the depth, so I am also not sure which method is used in this repo.

barbararoessle commented 2 years ago

max_depth: The far plane for rendering is set according to the furthest sensor depth. With max_depth you can set an upper limit. E.g. there may be a far away outlier in the depth map, which otherwise would lead to a very distant far plane and inefficient NeRF sampling.

dist2m: It defines the scaling from the sparse reconstruction to meters which enables the computation of depth metrics. You can initially guess it. Running extract_scannet_scene will print the resulting scaling factor between sparse depth and sensor depth. By multiplying this factor with the initial guess, you obtain a suited dist2m. When you rerun extract_scannet_scene the factor between sparse depth and sensor depth will become 1, or something very close to it, then dist2m is reasonable set.

EchoTHChen commented 2 years ago

Thanks