You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I was comparing the results from depth-nerfacto and nerfacto in tensorboard, but I realized there is not a consistent way of applying the colormaps to the output depths. In depth_nerfacto.py:
predicted_depth_colormap = colormaps.apply_depth_colormap( outputs["depth"], accumulation=outputs["accumulation"], near_plane=torch.min(ground_truth_depth), far_plane=torch.max(ground_truth_depth), )
And in nerfacto:
depth = colormaps.apply_depth_colormap( outputs["depth"], accumulation=outputs["accumulation"], )
If a value is not provided to apply_depth_colormap, the max and min values of the depth map are taken which results in squashing the histogram like in the following image (left is depth nerfacto and right is nerfacto):
Also, by clipping the colormap of depth nerfacto to the largest value, it prevents from showing further details
By setting something a fixed value for both nerfacto and depth-nerfacto for the far plane (5 meters) like:
My first thought was sliders for near and far, with defaults, but I notice there are already sliders for range in there; not sure how they should interop...
It looks like if you change the depth colormap from default to, say, turbo, you can then manipulate the range sliders; range seems to default to [0, 1] but the sliders let one set it to [-2, 5].
Maybe you can try setting the sliders to [0, 5] and see if that is the same as your near/far plane settings in code? Because if so, we should probably change the default range to NOT be [0, 1].
Describe the bug
I was comparing the results from depth-nerfacto and nerfacto in tensorboard, but I realized there is not a consistent way of applying the colormaps to the output depths. In depth_nerfacto.py:
predicted_depth_colormap = colormaps.apply_depth_colormap( outputs["depth"], accumulation=outputs["accumulation"], near_plane=torch.min(ground_truth_depth), far_plane=torch.max(ground_truth_depth), )
And in nerfacto:
depth = colormaps.apply_depth_colormap( outputs["depth"], accumulation=outputs["accumulation"], )
If a value is not provided to apply_depth_colormap, the max and min values of the depth map are taken which results in squashing the histogram like in the following image (left is depth nerfacto and right is nerfacto):
Also, by clipping the colormap of depth nerfacto to the largest value, it prevents from showing further details
By setting something a fixed value for both nerfacto and depth-nerfacto for the far plane (5 meters) like:
depth = colormaps.apply_depth_colormap( outputs["depth"], accumulation=outputs["accumulation"], near_plane=0.0, far_plane=5.0, )
We get much more coherent results (left is depth nerfacto and right is nerfacto):
However, there should be a better or more flexible solution.
The text was updated successfully, but these errors were encountered: