Hi, I'm confused by the superpoints argument used in predict_by_feat_instances() function in oneformer3d.py.
In line 74, the scores are flattened. Before this flattening, scores are of shape S x 18/198 for scannet and scannet200 dataset cause there are 18/198 instance classes, respectively, and S is the number of superpoints which are preprocessed and stored in line 87 in batch_load_scannet_data.py. After this flattening and topk operation, the same superpoint can have multiple predicted instance classes if I'm understood correctly, because the topk is performed after flattening, it is possible that one superpoint have the largest and second largest scores across all S x 18/198 numbers, in this case, the superpoint will have distinct labels line 76.
But, the line 78 reduces the topk_idx from range S*18/198 to S, meaning even if one superpoint can have multiple predicted classes, it can only have one unique predicted mask selected from out['masks'][0] with shape S x S.
In my understanding, one superpoint cover multiple instances of different classes, but why they share the same mask? Is there something wrong?
Hi, I'm confused by the superpoints argument used in predict_by_feat_instances() function in oneformer3d.py.
In line 74, the
scoresare flattened. Before this flattening,scoresare of shape S x 18/198 for scannet and scannet200 dataset cause there are 18/198 instance classes, respectively, and S is the number of superpoints which are preprocessed and stored in line 87 in batch_load_scannet_data.py. After this flattening and topk operation, the same superpoint can have multiple predicted instance classes if I'm understood correctly, because the topk is performed after flattening, it is possible that one superpoint have the largest and second largest scores across all S x 18/198 numbers, in this case, the superpoint will have distinct labels line 76.But, the line 78 reduces the
topk_idxfrom range S*18/198 to S, meaning even if one superpoint can have multiple predicted classes, it can only have one unique predicted mask selected fromout['masks'][0]with shape S x S.In my understanding, one superpoint cover multiple instances of different classes, but why they share the same mask? Is there something wrong?