ActiveVisionLab / DFNet

DFNet: Enhance Absolute Pose Regression with Direct Feature Matching (ECCV 2022)
https://dfnet.active.vision
MIT License
94 stars 9 forks source link

A question about Nerf-H #21

Closed shenyehui closed 6 months ago

shenyehui commented 7 months ago

Hello Dear Author, I have a few questions to ask about nerf-h.

  1. may I ask why input_transient is not included in render_kwargs_train and render_kwargs_test, so how are different input_transient entered in different processes?
  2. is input_t a yI? Why is input_t not used in the calculation of static radiance and static density, when it should be used according to the paper?
  3. the paper wrote "A base network Hb that provides a density estimation σb and a hidden state z for a coarse estimation" May I ask in the code where can I find how to get σb and how to use it? Where can I find in the code how to get σb and how to use it?
  4. Why do you use both fine and coarse models?
shenyehui commented 7 months ago

Why do you need to run the following code when running nerf, but not for DFnet, and not when generating random new view in DFnet? By the way how did pose_scale , pose_scale2 and move_all_cam_vec get there, did they come with the dataset?

if rescale_coord: sc=train_set.pose_scale # manual tuned factor, align with colmap scale all_poses[:,:3,3] *= sc

    # quite ugly #
    # move center of camera pose
    if train_set.move_all_cam_vec != [0.,0.,0.]:
        all_poses[:, :3, 3] += train_set.move_all_cam_vec

    if train_set.pose_scale2 != 1.0:
        all_poses[:,:3,3] *= train_set.pose_scale2
chenusc11 commented 7 months ago

Hi, they did not come with the dataset. I manually tuned this parameter so that scenes are centered. The APR/DFNet has to be the same scale as the original scene scale. However, the original NeRF paper requires every camera ray to be bounded within [-pi, pi] due to its position encoding. Therefore, I re-adjusted the pose (pose_scale2) when rendering with Nerf.