ISSUE
Currently in export_kitti.py the following transformation is incorrect:
lid_to_ego = transform_matrix(
cs_record_lid["translation"], Quaternion(cs_record_lid["rotation"]), inverse=False
)
ego_to_cam = transform_matrix(
cs_record_cam["translation"], Quaternion(cs_record_cam["rotation"]), inverse=True
)
velo_to_cam = np.dot(ego_to_cam, lid_to_ego)
Unlike nuscenes (which I didn't check, but I believe to be correct), the camera and lidar ego poses for this dataset are not the same. The effect of the code is above is that if you use the RGB camera images with projected labels from lidar the boxes will be randomly off by 10-20 pixels, which is problematic for any sort of 2D learning.
To correct this, two additional transformations are needed to convert to / from world pose for both lidar and camera.
Additionally, if I recall, the render function does not have the same issue as this KITTI converter.
Related PR: #75
ISSUE
Currently in
export_kitti.pythe following transformation is incorrect:Unlike nuscenes (which I didn't check, but I believe to be correct), the camera and lidar ego poses for this dataset are not the same. The effect of the code is above is that if you use the RGB camera images with projected labels from lidar the boxes will be randomly off by 10-20 pixels, which is problematic for any sort of 2D learning.
To correct this, two additional transformations are needed to convert to / from world pose for both lidar and camera.
Additionally, if I recall, the
renderfunction does not have the same issue as this KITTI converter.Related PR: #75