jbehley / point_labeler

My awesome point cloud labeling tool
MIT License
655 stars 161 forks source link

Labeling custom dataset with Velodyne VLP-16 #77

Closed mathur01 closed 2 months ago

mathur01 commented 11 months ago

Hi, i am bit new in this domain and using Velodyne VLP-16 lidar to perform custom training on new classes. I am able to build this repository and can launch it properly. I am facing issue in getting calib.txt and pose.txt. From each scan i am able to get pcap files which i convert to bin format. Kindly guide how i can get calib and pose for each scan.

Thanks

jbehley commented 11 months ago

hi,

thanks for your interest in our tool.

To label your own point cloud data, you need to do the following steps:

  1. The calibration file is only needed if you have poses given in a different coordinate frame. KITTI poses are given by default in the camera reference frame and therefore we need to transform the poses into the LiDAR frame. When you have poses in the LiDAR frame anyways, you can just have the identity in this file (see also https://github.com/jbehley/point_labeler/issues/43):
    P0: 1 0 0 0 0 1 0 0 0 0 1 0
    P1: 1 0 0 0 0 1 0 0 0 0 1 0
    P2: 1 0 0 0 0 1 0 0 0 0 1 0
    P3: 1 0 0 0 0 1 0 0 0 0 1 0
    Tr: 1 0 0 0 0 1 0 0 0 0 1 0

Note that poses in KITTI are given as row-major, i.e., row by row of the 4x4 homogenous transformation matrix (see also https://github.com/jbehley/point_labeler/issues/44#issuecomment-8668691684 for more detailed description). The last row "0 0 0 1" is just omitted.

  1. Next you need poses for your LiDAR scans. For this, you can run any odometry or SLAM algorithm. A good out-of-the-box solution that should work in most cases and leads to quite accurate poses that should be sufficient for labeling. The generated poses have to be stored in the poses.txt such that for each scan there is a global pose in each line (using the same format as described in the first step, see https://github.com/jbehley/point_labeler/issues/44#issuecomment-866869168.

Hope that helps.

mathur01 commented 11 months ago

Thanks for your reply. I spent some time in understanding collection for pose.txt and SLAM. Got bit confusing in doing setup. We are not planning to have camera along with LiDAR. Kindly share some links for SLAM in which we can directly get pose.txt. Thanks in advance.

jbehley commented 2 months ago

Please have a look at kiss-icp (https://github.com/PRBonn/kiss-icp), which can provide LiDAR poses; I think it also can produce KITTI poses or do this with minimal implementation effort.

Therefore, I close the issue for now. If you have further question regarding this issue, please reopen the issue.