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
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.