Skip to content
AI360Xpert
Beta

Point Cloud Segmentation Labels

Name every 3D point: chair, floor, wall. Segmentation paints the cloud part by part so robots grasp and rooms parse.

One cloud splits into colored parts with boundaries scored by overlap
One cloud splits into colored parts with boundaries scored by overlap

Why Does This Exist?

Boxes tell a robot where a chair sits; grasping needs which points are legs versus seat. Segmentation exists for that per-point answer across semantic, instance, and part flavors. It drives indoor parsing, road labeling, and CAD part maps.

Networks that do it are KPConv, Point Transformer, and PointNet. Data basics are point clouds.

Think of It Like This

Coloring a statue by material

A restorer paints marble skin one color, bronze armor another, and cracks a third. Every chip gets exactly one label, and borders decide quality.

Points are chips and mIoU scores the paint job. The analogy stops at instances: statues have one armor while rooms hold ten identical chairs to separate.

How It Actually Works

Semantic heads output per-point class logits trained with cross-entropy over 1313 to 2020 classes. Instance heads add center votes plus clustering to split same-class objects. Part heads label subregions on single shapes. Score is mean IoU: for class cc, IoUc=TPc/(TPc+FPc+FNc)\mathrm{IoU}_c = TP_c / (TP_c + FP_c + FN_c), averaged over classes. UNet backbones with grid subsampling carry context from rooms to points.

Worked numbers

A chair class with 800800 true points predicted as 700700 chair plus 100100 table, and 100100 missed chair points, gives IoU=700/(700+100+100)=0.778\mathrm{IoU} = 700 / (700 + 100 + 100) = 0.778. Averaging 2020 ScanNet classes near 0.680.68 is the reference operating point for strong locals.

Code

def iou(tp: int, fp: int, fn: int) -> float:    return tp / (tp + fp + fn)  # overlap over union

print(round(iou(700, 100, 100), 3))  # -> 0.778

Watch Out For

Trusting accuracy on imbalanced rooms

Floors dominate points, so 9595 percent accuracy can hide zero chair recall. The symptom is great logs with useless robots. Report mIoU and per-class scores, and sample rare classes harder during training.

The Quick Version

  • Segmentation names every point by class, instance, or part.
  • Semantic splits categories; instance splits objects; parts split shapes.
  • Mean IoU over classes is the score that matters.
  • Reference ScanNet mIoU sits near 0.680.68 for strong local nets.
  • Chair demo with 700700 of 800800 right gives IoU 0.7780.778.
  • Accuracy alone hides rare-class failures.