Andrew ID: rajathc
test accuracy: 0.9811122770199371
| Visualization | Idx | GT Class | Predicted Class | Interpretation |
|---|---|---|---|---|
![]() |
199 | Chair | Chair | Correct Prediction |
![]() |
620 | Vase | Vase | Correct Prediction |
![]() |
802 | Lamp | Lamp | Correct Prediction |
All point clouds in chair class were correctely classfied as chairs
![]() |
687 | Vase | Lamp | The flower emerging from the vase resembles a lamp’s light source, making the entire shape look lamp-like. This visual similarity likely caused the misclassification. |
![]() |
922 | Lamp | Vase | The lamp has four lights arranged symmetrically, forming a bowl- or cup-like outline. This shape strongly resembles the top of a vase, leading the model to label it incorrectly. |
test accuracy: 0.9029952998379255
| Result Type | Visualization GT | Visualization Pred | Idx | Accuracy | Interpretation |
|---|---|---|---|---|---|
| Good | ![]() |
![]() |
562 | 0.9971 | A standard-shaped chair with clearly separated components allows the model to distinguish each part more easily, leading to higher accuracy. |
| Good | ![]() |
![]() |
57 | 0.9940 | A standard-shaped chair with clearly separated components allows the model to distinguish each part more easily, leading to higher accuracy. |
| Good | ![]() |
![]() |
471 | 0.9928 | A standard-shaped chair with clearly separated components allows the model to distinguish each part more easily, leading to higher accuracy. |
| Bad | ![]() |
![]() |
235 | 0.4008 | The seat (red) and legs (blue) are connected in the point cloud, so the boundary between these two parts is unclear. Because the red and blue regions blend together, the model cannot reliably identify where the seat ends and the legs begin, leading to poor segmentation. |
| Bad | ![]() |
![]() |
351 | 0.4972 | This chair has a non-standard design with ambiguous part boundaries. The attached pillow is also incorrectly labeled, because the model fails to recognize that the pillow should be part of the seat (red). These ambiguities cause result in low segmentation accuracy. |
We tested how sensitive the model is to rotations by applying rotations around the X-axis at inference time. Specifically, we modified eval_cls.py and eval_seg.py to rotate the input point cloud using:
if args.rot_deg != 0:
theta = torch.tensor([np.deg2rad(args.rot_deg)], dtype=torch.float32)
R = euler_angles_to_matrix(torch.tensor([[theta, 0.0, 0.0]], dtype=torch.float32), "XYZ")[0]
test_data = torch.einsum("ij,bpj->bpi", R, test_data)
| Rotation (X Axis) | Classification Accuracy | Segmentation Accuracy | Prediction | Ground Truth |
|---|---|---|---|---|
| 0° | 0.9811 | 0.9030 | ![]() |
![]() |
| 15° | 0.9549 | 0.8345 | ![]() |
![]() |
| 30° | 0.9014 | 0.7237 | ![]() |
![]() |
| 45° | 0.6275 | 0.5749 | ![]() |
![]() |
| 60° | 0.3536 | 0.3667 | ![]() |
![]() |
| 90° | 0.2487 | 0.2707 | ![]() |
![]() |
The model shows high sensitivity to rotations not seen during training. As the rotation angle increases, accuracy drops sharply—especially beyond 30°, suggesting the model lacks rotation invariance. Segmentation suffers more than classification due to finer-grained prediction requirements.
We evaluated the model’s robustness to input sparsity by reducing the number of points fed into the network. This was done by modifying the --num_points flag when running eval_cls.py and eval_seg.py. The same pretrained model (trained with 10,000 points) was tested on increasingly sparser versions of the input point cloud, down to just 50 points.
| Number of Points | Classification Accuracy | Segmentation Accuracy | Prediction | Ground Truth |
|---|---|---|---|---|
| 10000 | 0.9811 | 0.9030 | ![]() |
![]() |
| 5000 | 0.9811 | 0.9030 | ![]() |
![]() |
| 1000 | 0.9780 | 0.8994 | ![]() |
![]() |
| 500 | 0.9759 | 0.8900 | ![]() |
![]() |
| 100 | 0.9402 | 0.8270 | ![]() |
![]() |
| 50 | 0.8520 | 0.7839 | ![]() |
![]() |
The model is surprisingly robust to point sparsity. Performance is nearly unchanged down to 1000 points, and only degrades slightly at 500 and below. This indicates the model has learned to extract meaningful global and local features from sparse point clouds, though segmentation accuracy drops more due to finer-grain dependence on point distribution. It suggests the network generalizes well even with partial object observations.