export_kitti.py - Camera and lidar do not have the same ego pose
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- numpy, python
- Domain
- computer-vision
Research direction
Start in export_kitti.py at the transformation block around line 152 and compare its pose handling with the render function. Trace the lidar and camera transforms through world pose, and review related PR 75. Done means projected lidar labels align with the RGB camera images instead of showing the reported 10–20 pixel offsets.
Written by the indexing model from the issue text.
Description
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: https://github.com/lyft/nuscenes-devkit/pull/75
- Dominant language
- Jupyter Notebook
- Stars
- 390
- Forks
- 99
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lyft/nuscenes-devkit
-
Difficulty 1/5 Under an hour Newbie friendliness 20/100
lyft/nuscenes-devkit#106 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 20/100
lyft/nuscenes-devkit#105 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
lyft/nuscenes-devkit#104 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
lyft/nuscenes-devkit#103 · 2 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 48/100
lyft/nuscenes-devkit#99 ·
All issues in lyft/nuscenes-devkit
Similar issues
-
TrackerVit: input scalefactor computed with Scalar's quaternion operator/, two of three channels negated (since 4.11.0) 🤖🤖🤖Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Robbyant/lingbot-map#113 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ros-perception/image_pipeline#1198 ·
-
radon(circle=True) fails for images with a singleton heightPossibly taken @whyvineet claimed this 3 days ago. Open:bug: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
scikit-image/scikit-image#8348 ·
Maintainers usually reply within 1 day