dazinovic / neural-rgbd-surface-reconstruction

Official implementation of the CVPR 2022 Paper "Neural RGB-D Surface Reconstruction"

Home Page:https://dazinovic.github.io/neural-rgbd-surface-reconstruction/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About the ScanNet coordinate

yanqingan opened this issue · comments

Hi @dazinovic,

Thanks for the great work.

Based on the pose conversion you provided #2 , T0 @ scannet_pose @ T1, the T1 is used to transfer the local camera coordinate into OpenGL coordinate. So I think the trainval_pose file has applied T1, but I also noted that in the nerf_helpers.py code, you explicitly transfer the local coordinate to OpenGL again: dirs = tf.stack([(i + 0.5 - W*.5)/focal, -(j + 0.5 - H*.5)/focal, -tf.ones_like(i)], -1). Will this matter or do I miss some core part?

Bests

commented

Hi @yanqingan ,

The line in nerf_helpers.py is not related directly to the camera pose. It computes the ray direction in camera space (from the (0, 0, 0) origin to the corresponding pixel (i, -j, -1) on the image plane). It does assume the OpenGL coordinate system since the image plane lies at z = -1, so the camera extrinsics also need to use the OpenGL convention.