Comments (7)
Hi,
Lidar: Invalid points have been left out for performance reasons.
Radar: You can define a number of flags to filter the points by: https://github.com/nutonomy/nuscenes-devkit/blob/master/python-sdk/nuscenes/utils/data_classes.py#L275
Let me know if you have any more questions.
from nuscenes-devkit.
Thanks for your answer, however I am not quite sure, if I understood it correctly. I am talking about the Lidar Pointclouds:
I am loading the pointcloud directly using numpy (as in LidarPointCloud) and the number of floats is always a multiple of channels * #rings
(5 * 32)
But if invalid points would have been dropped this should not always be the case.
Additionally, if I reshape the pointclouds scan.reshape(-1, 32, 5)
the following statement holds scan[:,i,4] == i
, which means we seem to have the same amount of points in every row. This seems a bit contrary to dropping single points from the cloud.
Or are entire columns dropped if one of the detections failed?
from nuscenes-devkit.
@Lapayo : I'm not sure if I understand you, but can you check this code:
from nuscenes.utils.data_classes import LidarPointCloud
from nuscenes import NuScenes
nusc = NuScenes('v1.0-mini')
for sample_data in nusc.sample_data[::100]:
if sample_data['channel'] == 'LIDAR_TOP':
pc = LidarPointCloud.from_file(nusc.get_sample_data_path(sample_data['token']))
cnt = pc.nbr_points()
assert cnt%(32*5) == 0
When running this the assert fails on the fourth PC. Wouldn't that suggest that we do indeed drop invalid points?
from nuscenes-devkit.
@oscar-nutonomy Thanks for your answer! However, the PointCloud.nbr_points() methods does only return the number of points and does not include the channel dimension.
In my equation above I was refering to a point cloud directly loaded using numpy. Using the LidarPointCloud class the correct assertion should be just assert cnt%32 == 0
which does not fail (on the mini dataset).
This also implies that there are no (single) points dropped.
I really appreciate your help and I hope to get this resolved. :-)
from nuscenes-devkit.
@Lapayo . You are right! Thanks. We will have to look into this closer.
from nuscenes-devkit.
Hey,
from the photos I concluded that you are using the HDL-32E Lidar, is this correct?
The manual for the 32E says:
Note: The minimum return distance for the HDL-32E is approximately 1 meter. Ignore returns closer than this
(https://velodynelidar.com/lidar/products/manual/63-9113%20HDL-32E%20manual_Rev%20G.pdf)
In the given point clouds I found multiple points with distances below 1.0 meters. Some of those seem to be correct like points from the car roof. But other points < 1.0 are outliers e.g. on car surfaces, where the car is farer away than 1.0 meters.
Probably, if this is the correct manual for the Lidar, dropping all the points < 1.0m could fix the problem (at least for my use case)
from nuscenes-devkit.
For more information on the lidar, please contact [email protected].
I agree on the suggestion to filter points by minimum distance. Here is an example in our devkit.
from nuscenes-devkit.
Related Issues (20)
- KeyError: 'is_key_frame' ,can't find the key in record HOT 2
- Radar point cloud projection of the same scene HOT 5
- Extract ego velocity at a given time HOT 1
- Memory Requirement - Reg HOT 3
- Coordinate system of radar point cloud and velocity information? HOT 1
- About coordinate and box_velocity HOT 4
- About sample['anns'] HOT 3
- about render_egoposes_on_map HOT 4
- translation matrix for camera sensors is with respect to the center of the rear axle? HOT 2
- How the point cloud semantically segmented file is encoded? HOT 1
- Problem with NuScenes format to KITTI format HOT 1
- Conert radar to lidar problems HOT 3
- Is 1000hz imu data available? HOT 1
- How to create and split NuScenes subsets into trainval and test like v1.0 HOT 4
- The number of points is inconsistent with the number of labels HOT 4
- Is there C++ version to read the data HOT 1
- Rotation problem of point cloud object detection HOT 2
- Alignment of multi-frame radar dynamic object data HOT 5
- When v1.1.13 will be released in PyPI ? HOT 2
- pip install failed HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nuscenes-devkit.