Skip to content

Inconsistency between pred_context_pose and pred_all_context_extrinsic/pred_all_context_intrinsic in evaluate function #82

@tan901q

Description

@tan901q

Hi, thank you for sharing this amazing work! While reading through the code, I noticed a potential inconsistency in the eval_nvs.py regarding the handling of pred_context_pose and pred_all_context_extrinsic/pred_all_context_intrinsic. I would like to clarify this with you.

In the evaluate function:

  • pred_context_pose is obtained from the encoder output and is aligned with the gaussians.
  • pred_all_context_extrinsic and pred_all_context_intrinsic are decoded from pose_encoding_to_extri_intri.

Although the code performs scale alignment for the translation part of pred_all_context_extrinsic, the rotation matrices and intrinsic matrices are not explicitly aligned. This raises the following concerns:

  1. Training view rendering: If the rotation matrices in pred_context_pose['extrinsic'] and pred_all_context_extrinsic are inconsistent, could this lead to a mismatch between the training views and the Gaussian point cloud? If the intrinsic matrices in pred_context_pose['intrinsic'] and pred_all_context_intrinsic are inconsistent, could this cause the rendered views to deviate from the training views?
  2. Output vs. target views: Since pred_context_pose and pred_all_context_extrinsic/pred_all_context_intrinsic are not fully aligned, could the rendered output views differ from the intended target views?

Here is the relevant code snippet from the evaluate function:

scale_factor = pred_context_pose['extrinsic'][:, :, :3, 3].mean() / pred_all_context_extrinsic[:, :, :3, 3].mean()
pred_all_target_extrinsic[..., :3, 3] = pred_all_target_extrinsic[..., :3, 3] * scale_factor
pred_all_context_extrinsic[..., :3, 3] = pred_all_context_extrinsic[..., :3, 3] * scale_factor

The code aligns the translation part of pred_all_context_extrinsic with pred_context_pose['extrinsic'], but the rotation matrices and intrinsic matrices are not aligned.

Questions

  1. Should the rotation matrices in pred_all_context_extrinsic be aligned with pred_context_pose['extrinsic']?
  2. Should the intrinsic matrices in pred_all_context_intrinsic be aligned with pred_context_pose['intrinsic']?
  3. If no alignment is performed, could this affect the accuracy of the rendered training and testing views?

Thank you for your time and assistance! Looking forward to your response. 😊

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions