PRBonn / SHINE_mapping

🌟 SHINE-Mapping: Large-Scale 3D Mapping Using Sparse Hierarchical Implicit Neural Representations (ICRA 2023)
MIT License
448 stars 32 forks source link

Problem about the input data. #9

Closed Xiaxia1997 closed 1 year ago

Xiaxia1997 commented 1 year ago

Since I'm going to run SHINE_mapping, on my own dataset, there are several questions :

In README.md
Generally speaking,we need to provide:
pc_path : the folder containing the point cloud (.bin, .ply or .pcd format) for each frame.
pose_path : the pose file (.txt) containing the transformation matrix of each frame.
calib_path : the calib file (.txt) containing the static transformation between sensor and body frames (optional, would be identity matrix if set as '').
  1. Does the transformation matrix of each frame means transformation matrix from lidar to world? If we provide it, the Tr in calib.txt can be an identity matrix just like the NCD dataset?
  2. But for KITTI dataset, the Tr is not an identity matrix. And we applied poses.append( np.matmul(Tr_inv, np.matmul(pose, Tr)) ) # lidar pose in world frame in poses.py to get the pose. I tried to understand the meaning of this code. From the github issue, we can get The poses.txt is given in the camera coordinate system, Tr is the extrinsic calibration matrix from velodyne to camera.In this case, Pose_velodyne = Tr_inv * Pose_camera. But the code is pose = Tr_inv * Pose_camera *Tr. I'm confused about it.

Look forward to your favourable reply.

YuePanEdward commented 1 year ago

Thanks for your interest in our work.

  1. If the calib.txt contains an identity matrix, then the pose file should contain the transformation from lidar to world coordinate system.
  2. Same as https://github.com/PRBonn/semantic-kitti-api/issues/115. hope that helps.
YuePanEdward commented 1 year ago

Also explained here: https://github.com/PRBonn/kiss-icp/issues/156#issuecomment-1551695713