16-889 HW5 by Sheng-Yu Wang (andrew ID: shengyu2)

No late days used.

Q1

Classification model exactly follows the one mentioned in class. Test accuracy is 0.9675. Below is a visualization.

success 1 success 2 success 3 failure
chairs

predict: chairs

predict: chairs

predict: chairs

predict: lamps

vases

predict: vases

predict: vases

predict: vases

predict: chairs

lamps

predict: lamps

predict: lamps

predict: lamps

predict: vases

I find that the failure cases of each classes looked more like objects in the long tail. For example, the failed chairs example has a unique geometry that is not usually seen for chairs. Similar pattern can be found for the vases and lamps class.

Q2

Segmentation model exactly follows the one mentioned in class. Test accuracy is 0.9001. Below is a visualization.

success 1 success 2 success 3 failure 1 failure 2
GT
prediction

acc: 0.9423

acc: 0.9462

acc: 0.9485

acc: 0.5051

acc: 0.4462

Again, I find that the failure cases looked more like objects in the long tail. For example, the failed chairs example has a unique geometry that is not usually seen for chairs. It is true for the segments as well (e.g., the handles looks different).

Q3.1

I check whether the model is robust to rotation. To do this, I rotation the point cloud about the x-axis. I get the rotation matrix using pytorch3d.transforms.axis_angle_to_matrix and and apply the rotation matrix to the point cloud.

Below are some results, and we can clearly see that the model accuracy decreases as the points are rotated more. This is true for both the classifier and the segmenter.

Rotation 0 deg 45 deg 90 deg 135 deg 180 deg
classifier 0.9675 0.4680 0.3935 0.4271 0.6170
segmenter 0.9001 0.6197 0.2293 0.1737 0.3203

Q3.2

I check whether the model is robust to fewer number of points. This is done by using the --num_points flag provided.

Below are some results, and we can clearly see that the model accuracy decreases as the points are decreased. This is true for both the classifier and the segmenter.

Num of points 10000 1000 100 50 10
classifier 0.9675 0.9633 0.9349 0.8972 0.5918
segmenter 0.9001 0.8831 0.7838 0.7472 0.6536