graphdeco-inria / hierarchical-3d-gaussians

Official implementation of the SIGGRAPH 2024 paper "A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets"
Other
973 stars 93 forks source link

question about Depth Regularization #17

Open 7yzx opened 4 months ago

7yzx commented 4 months ago

I have some questions about inverse depth. In your paper, I read that both monocular estimation and SFM depth are represented as inverse depth. However, in the code, the inverse depth for SFM is calculated as 1/depth(sfm), while the inverse depth for monocular depth is calculated as depth(mono)/2*16. My understanding is that the original depth value should always be in the denominator for inverse depth. Why is there this difference? Therefore, I understand that D is scaled by the scale of 1/SFM depth, not the scale of SFM depth. I am new to 3D reconstruction and would greatly appreciate your response. Thanks for your great work.

ameuleman commented 3 months ago

Hi, Monocular depth estimators typically output inverse depth, hence files in depths/ are already inverse depth maps (up to scale and shift).

Gaaaavin commented 3 months ago

@ameuleman I'm curious on why depth(mono)/2**16? The depth read from the image should be between 0 and 255. Why not divide by 2**8? Is this intended or a typo?

ameuleman commented 3 months ago

We should have the same scaling in make_depth_scale.py and the dataloader. Ideally, we would have this scaling in either of those files, but removing it would break existing depth_params.json files.