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

Confusion about Coordinate Transformation

ZirongChan opened this issue · comments

Hi, @dazinovic , thx for the great work.
I've investaged [#2 ] & [#4 ] , and finally found the corret operation for aligning point clouds from each frame in the given dataset, for instance the breakfast_room data. I've got complete sence points using both trainval_pose.txt & pose.txt, although there exist a rigid transformation between them, key idea is the transform the ponit cloud recovered from each frame using: T0 @ trainval_pose or pose @ T1 @ point_cloud, with T0 = [ 1., 0., 0., 0.],
[ 0., 0., 1., 0.],
[ 0., -1., 0., 0.],
[ 0., 0., 0., 1.]

T1 = array([[ 1., 0., 0., 0.],
[ 0., -1., 0., 0.],
[ 0., 0., -1., 0.],
[ 0., 0., 0., 1.]])

But I'm still confused about the meaning of given T0 & T1。I guess that T1 is used for converting from OpenCV coo to OpenGL coo, T0 for converting to Blender, in which the datasets were created. Do I understand it right? Since that you use the trainval_pose in the code, are the transformations, namely T0 & T1 here, implicitly included in your code?
And did the trainval_pose came directly from BundleFusion? If I want to use a Kinect to create a custom data, what should I do with these transformations?

@ZirongChan How much time did it take for you to train. I am not able to train, every time the optimizer.py gets killed. How much ram does it require to run?

commented

The trajectory files that I uploaded can be used as is, without any transformations. poses.txt contains ground truth poses, trainval_poses.txt contains poses predicted by BundleFusion (and transformed so that they can also be directly used by the optimizer).

If you have BundleFusion poses, you can transform them by T0 @ pose @ T1 to be usable in my code. pose @ T1 flips the up and view vectors. Pre-multiplying by T0 further swaps the y and z axes and flips the new z-axis.

Anyone please help me to run this code on ScanNet. Struggling for last two weeks.

Anyone please help me to run this code on ScanNet. Struggling for last two weeks.
Did you solve this problem please? I also encountered the same problem.