-
Notifications
You must be signed in to change notification settings - Fork 3
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
Question about CS Campus3D #3
Comments
There might be some ground points that are not filtered out, but most of the ground surface points should be removed. The released data is what we used for experimentations. |
Thank you, @rayguan97, for the reply. I believe, about 50% of points for ground sub-maps are on the ground and about 30% for aerial sub-maps. Can you please let us know how you removed ground points? |
For the ground lidar data, we simply set a threshold along Z axis to remove the ground points. Could you explain what is on the left and on the right side? Are the one on the left the point cloud after your processing? |
Hi @rayguan97. In reference to the image posted by @mramezani64 above, we tried using a Cloth Simulation Filter (CSF) for ground point removal on the post-processed submaps that are available from the link provided in the CrossLoc3D repo. The left column shows CS_Campus3D submaps after ground point removal, and the right is before ground point removal. |
I see. The released data is what we used for experimentations. It seems that the ground points are not completely removed for some scans. For fairness, I would still recommend use the original data to compare. The current issue you have is that after you remove the ground points, the number of points would be less than 4096? Could you share the code snippet you used for ground removal? Let's see if I can integrate in the processing scripts and update it in the future. |
Thanks for the quick response. Yes, currently this approach means that there are much less than 4096 points after ground point removal. Below is a snippet of how ground points can be removed with CSF: import numpy as np
import CSF
CSF_RIGIDNESS = 2
CSF_THRESHOLD = 1.0 # distance from cloth to classify as ground
CSF_RESOLUTION = 1.0 # resolution of cloth simulation
CSF_BSLOOPSMOOTH = True
csf = CSF.CSF()
csf.params.bSloopSmooth = CSF_BSLOOPSMOOTH
csf.params.cloth_resolution = CSF_RESOLUTION
csf.params.rigidness = CSF_RIGIDNESS
csf.params.threshold = CSF_THRESHOLD
pts = np.random.rand(10000, 3) # replace pts with real submap in (N, 3) ndarray format
csf.setPointCloud(pts)
ground = CSF.VecInt() # index of ground points
non_ground = CSF.VecInt() # index of non-ground points
csf.do_filtering(ground, non_ground, exportCloth=False) # NOTE: ensure exportCloth=False
if len(np.array(non_ground)) > 0:
filtered_pts = pts[np.array(non_ground)] # extract non-ground points
else:
filtered_pts = np.array([]) # handle case where all pts are ground One thing to note with CSF is that it seems to have precision issues if operating on a normalised point cloud in [-1, 1] range, but the above settings will work fine for point clouds pre-normalisation. To make this work on the normalised point clouds in CS_Campus3D I simply rescaled points into [-50, 50] range, then undid the rescaling after filtering. Thanks again for providing this great dataset and taking note of this issue! |
From what I can tell, @rayguan97, you might have only removed points from one type of ground label. That's why there are still many points on the ground for aerial submaps, and because the collected data environment is almost flat, these points are uninformative from the deep learning perspective. It would be great if you updated the dataset by having 4096 points on non-ground areas for both aerial and ground submaps. Thanks! |
Thank you for providing the dataset. I have a question regarding Campus3D: it appears that ground points are present in the downsampled submaps in both aerial and ground scans. However, the paper mentions that ground points were removed. Can you clarify if the results in the paper are based on submaps without ground points? If so, could you please release the original point clouds so that we can remove the ground points and downsample them to 4096 ourselves?
The text was updated successfully, but these errors were encountered: