Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix extraneous building datapoints caused by LiDAR-DenseSeg Integration #25

Open
ashtanmistal opened this issue Jun 8, 2024 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@ashtanmistal
Copy link
Owner

LiDAR-DenseSeg semantic segmentation left some incorrectly classified data points in the resulting point cloud. Attempts were made to remove these datapoints and mitigate errors, but a more thorough process is required to better differentiate noise from sparse wall points.

What has been tried so far:

  • Radial neighbourhood check for sparsity, removing points that have less than a given threshold of points within a local radial neighbourhood
  • Voxel sparsity check: checking neighbouring voxels in the same chunk and removing it if it is floating or otherwise only connected to 1-2 other points
  • Truncation error removal: Removing points that would have been quantized to a different voxel than n% of their neighbours. This was mildly successful.

What is likely the solution (Will attempt after completion of Forest Friends) is the following:

  • Initial point cloud simplification via Poisson Disk subsampling, with an explicit radius of around 1.0m (exactly like MeshLab's implementation)
  • Convert point cloud into a mesh (likely through ball pivoting algorithm but other options could be explored too)
    • Rejection of edges longer than a certain length could be useful
  • RANSAC-based plane fitting, completing what LiDAR-DenseSeg proposed

Open3d can provide some of these functions; current library installation issues present that are less pressing than Forest Friends completion.

@ashtanmistal ashtanmistal added the bug Something isn't working label Jun 8, 2024
@ashtanmistal ashtanmistal self-assigned this Jun 8, 2024
@ashtanmistal
Copy link
Owner Author

Further hyperparameter tuning of the PointNet++ model could also, of course, reduce some of these incorrectly classified datapoints. Especially in the larger tree clusters that ought to not be classified as buildings.

Reduction of the buffer in the dataset preprocessing could also be useful, but that would only reduce the issue and not mitigate it.

@ashtanmistal
Copy link
Owner Author

ashtanmistal commented Jun 12, 2024

The noise introduced will also somewhat be hidden by integration of Forest Friends, as a lot of the noise is caused by incorrectly classified tree datapoints in the PointNet++ model.

As a result further implementation and testing will have to be completed after Forest Friends is integrated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant