Pointcloud generation and Instance segmentation


I am generating synthetic pointcloud using the replicator.

Each point is given an instance ID.

To get the mapping between the instance ID given to points and the class to which the point pertains, I am using the instance_segmentation_semantics_mapping.json file.

However, I realized that the IDs given to points and the IDs in the json file do not match. For example, I have a scene with numerous instances (around 700). For a specific viewport, I got the following IDs in the instance_segmentation_semantics_mapping.json file:

{“0”: {“class”: “BACKGROUND”}, “1”: {“class”: “UNLABELLED”}, “508”: {“class”: “wheelie_bin”}, “510”: {“class”: “wheelie_bin”}, “509”: {“class”: “wheelie_bin”}, “514”: {“class”: “wheelie_bin”}, “511”: {“class”: “wheelie_bin”}, “512”: {“class”: “wheelie_bin”}, “513”: {“class”: “wheelie_bin”}, “705”: {“class”: “stillage_close”}, “718”: {“class”: “stillage_close”}, … “stillage_close”}, “773”: {“class”: “jack”}, “554”: {“class”: “stillage_open”}, “551”: {“class”: “stillage_open”}, “548”: {“class”: “stillage_open”}, “549”: {“class”: “stillage_open”}, “547”: {“class”: “stillage_open”}, “553”: {“class”: “stillage_open”}, “550”: {“class”: “stillage_open”}, “552”: {“class”: “stillage_open”}, “876”: {“class”: “locker”}, “886”: {“class”: “locker”}, “884”: {“class”: “locker”}, “887”: {“class”: “locker”}, “888”: {“class”: “locker”}, …}

however, the ids instance IDs given to points are incremental from 0 to 255. Thus, the mapping is incorrect as most IDs in the json file are not found in the pointcloud_instance.npy file.

How to solve the issue?

I need the pointcloud_instance.npy to the have the exact match as found the json file, to be able to extract the different instances pertaining to each class.

I realized that the data that is outputted from the pointcloud annotator regarding the instance segmentation of points is np,int8. Thus, each scene can accommodate a maximum of 256 instances. In my case, I have much bigger scenes resulting in many instances being assigned to same instance id.