Conversation
medar6
marked this pull request as ready for review
August 27, 2026 12:36
Contributor
Author
|
@yeetypete or @simonschlaepfer could you please take a look at the PR and review it or let me know what is missing or how I misunderstood the task? |
Collaborator
|
Yes, I will review it. But we have to wait until @yeetypete 's refactoring #152 for the transforms landed. |
Owner
Yep need to split that PR up because its just a draft cleanup and too big to review... |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
TLDR
Adds a close point filtering transform that filters points that are too close in x and y coordinates (disregarding z) .This PR fixes #118 .
Explanation
The nuScenes devkit removes LiDAR points close to the sensor origin when loading point clouds. This filters ego-vehicle self-returns that would otherwise remain in the point cloud and potentially contaminate downstream model inputs. Until now,
NuScenes3Dintentionally disabled this behavior when comparing its output against the devkit because vision3d did not provide an equivalent reusable transform. Now this will provide the needed functionality 🥳 .This PR adds the following public transform:
The transform accepts a configurable
radius, which defaults to the nuScenes devkit value of1.0(Maybe default can be changed/remvoed):To match the nuScenes devkit exactly, a point is removed when both of the following conditions are true (we disregard z):
This defines an open square exclusion region in the XY plane. The z coordinate and any additional point features do not affect filtering. Points located exactly on the boundary are retained. The transform operates on
PointCloud3Dinputs through the transform kernel registry. Other elements of a sample, such as images, camera parameters, bounding boxes, and labels, pass through unchanged.Motivation
Close LiDAR returns commonly originate from the ego vehicle or sensor platform itself. It can even just be the LiDAr cabs or similar. These points do not describe the surrounding scene and can introduce unwanted noise into training and inference data.
Additional changes
Bonus
The developper had not a real understanding how dispatchers are used in the torch style and also not very clearly what the importance of torch kernels are. Now much clearer. 🐐
Testing
This was only tested on CPU due to missing hardware for GPU testing. Following checks were run:
FYI: @yeetypete