PointNet trained **from scratch** — no pretrained weights — to label the parts of a 3D
| split | instance mIoU | class mIoU |
|---|---|---|
| train | 0.8583 | 0.8153 |
| val | 0.8516 | 0.7774 |
| test | 0.8254 | 0.7702 |
Instance mIoU averages over shapes, class mIoU averages over categories. They differ by 0.0552 on test, and the reason is visible once categories are split by how many test shapes they have:
A gap of 0.1233. Class mIoU weights a category with 12 shapes the same as one with 704, so it reports the rare-category difficulty that instance mIoU averages away.
Worst and best on test:
Laptop at 0.9547 with only 83 shapes shows the driver is not sample count alone — a laptop is two near-planar parts with an unambiguous boundary, while a rocket's fins, body and nose meet at boundaries that are genuinely ambiguous. **Sample size and intrinsic difficulty both contribute, and this experiment does not separate them.**
Code and full results on GitHub
Every number is read from the file the run produced. github.com/hammasbuilds · kaggle.com/muhammadhammas13