nutonomy / nuscenes-devkit

The devkit of the nuScenes dataset.
https://www.nuScenes.org
Other
2.2k stars 617 forks source link

Confusing semantic labels of the ego-car in lidarseg challege #991

Closed COMoER closed 9 months ago

COMoER commented 9 months ago

Hello, currently I want to test my semantic segmentation algorithm on the NuScenes Lidarseg challenge. However, due to some limitations of my algorithm, I need to filter the ego car before segmentation. The filtering is performed by the following code:

# close points filtering during training
mask_filter = np.logical_not((points[:, 0] < 0.8) & (points[:, 0] > -0.8) & (points[:, 1] < 2.7) & (points[:, 1] > -2.7))
points = points[mask_filter]

And the visualization of the filtered part is as follows:

image , which is exactly the points bounded by the yellow bounding box. Lidarseg challenge requires segmentation on the whole point cloud. Therefore, my algorithm needs to predict all the points on the ego car as 0 (noise). I think it is reasonable to label the ego car as noise because there is no need to segment the ego car in practice. However, I have found that the semantic label of the ego car is not all noise. In some samples, it is labeled as noise while it is labeled as car in some other samples. So, I want to ask about the inconsistent labeling of the ego car points.

Thanks in advance!

Best Regards, Yu

whyekit-motional commented 9 months ago

@COMoER you can predict the labels of the points belonging to the ego in any way you want - we treat those points as the void / ignore class and do not consider those points during evaluation: https://github.com/nutonomy/nuscenes-devkit/blob/a27342283ec865f83424e936f2ee09494b591ec4/python-sdk/nuscenes/eval/lidarseg/utils.py#L56-L58