To NeRF or not to NeRF: A View Synthesis Challenge for Human Heads @ ICCV 2023 Forum

Go back to competition Back to thread list Post in this thread

> What coordinate system does the "transform_train.json" use to represent camera location and their relative transformation?

We use the OpenGL/Blender (and original NeRF) coordinate convention for cameras. +X is right, +Y is up, and +Z is pointing back and away from the camera. -Z is the look-at direction.

Please refer to: https://docs.nerf.studio/en/latest/quickstart/data_conventions.html
for more information.

Posted by: light_stage_challenge @ May 23, 2023, 11:34 p.m.

We have provided an example of converting camera poses from Blender to OpenCV format using the Starting_Kit. Please download the starting_kit and test the tip1_visualise_camera_poses.py file to visualize the camera poses.
To convert to OpenCV format, you can do matrix multiplication of the Blender format pose (given by transforms_train.json) and the matrix [[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]].

pose_in_blender = poses[idx] # Given 4 x 4 transform_matrix in Blender format in transforms_train.json file.
blender2opencv = np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
pose_in_opencv = np.matmul(pose_in_blender, blender2opencv) # This is the camera pose in OpenCV format.

Please find the details in the tip1_visualise_camera_poses.py file of the starting_kit.

Posted by: youngkyoonjang @ June 2, 2023, 4:45 p.m.
Post in this thread