Neeraj Basu (neerajb)
Zero late days used.
test accuracy: 0.9653725078698846
In total, there were 33 misclassifications with this network. The breakdown of these classifications can be found in the table below. As expected lamps and vases were the two most commonly conflated classes due to their similarity in geometry. Many vases/lamps take on the form of cyclindrical body with some type of extruding geometry. In the case of the vase misclassified as a lamp, the extruding flower looks like the head of a lamp. I had a single misclassification of a chair as a lamp which I found surprising. My original thought was that this chair was an oddity in the training set of the chairs, however I found other chairs that took on a similiar form. Therefore I'm not confident as to what caused this misclassification.
Chair  | Vase  | Lamp  | |
Predicted Chair   | -- | 2 | 0 |
Predicted Vase   | 0 | -- | 11 |
Predicted Lamp   | 1 | 19 | -- |
test accuracy: 0.885513776337115
Ground Truth | Predicted | Accuracy |
![]() |
![]() |
0.995% |
![]() |
![]() |
0.9967% |
![]() |
![]() |
0.9903% |
![]() |
![]() |
0.4818% |
![]() |
![]() |
0.4729% |
The top three images are amongst the networks best performances while the bottom two are amongst the worst. When searching for the top N best predictions it was clear that chairs that took on the canonical shape (4 legs, backrest and seat) were the easiest for the network to segment. In fact the top 5 results where chairs that took on this form. Whereas the worst performers were chairs that took on a more amorphous shape. For example inputs which represented couches with pillows or recliners with a footrest, preformed worse because the network had trouble differentiating parts of the chair. For example you can see mistakes in the segmentation of the footrest being included as part of the recliner or the pillow being segmented as part of the back rest of the couch.
Rotated Pointcloud | Angle (Degrees) |
![]() |
0.0 |
![]() |
30.0 |
![]() |
60.0 |
![]() |
90.0 |
![]() |
120.0 |
![]() |
150.0 |
![]() |
180.0 |
Rotated GT PC | Rotated Pred PC | Angle (Degrees) |
![]() |
![]() |
0.0 |
![]() |
![]() |
30.0 |
![]() |
![]() |
60.0 |
![]() |
![]() |
90.0 |
![]() |
![]() |
120.0 |
![]() |
![]() |
150.0 |
![]() |
![]() |
180.0 |
In order to test both networks robustness to rotation, I rotated the input pointclouds from 0-180 degrees in increments of 10 degrees and plotted the network's accuracy for each rotation. In both cases, the performance decreased the more the image was rotated as expected seeing as both networks are not rotation invariant. In the case of the classification network, there was a slight increase after 160 degrees of rotation which was likely due to the fact that the network could decently identify parts such as upside down chair legs for classical looking chairs. However more amorphous chairs would not have this benefit. Segmentation continues to decrease and visually it's clear the network struggled to segment parts properly the further images were rotated.
Scaled Pointcloud | Scaling (Multiplier) |
![]() |
0.5 |
![]() |
0.8 |
![]() |
1.2 |
![]() |
1.5 |
![]() |
1.8 |
![]() |
2.0 |
Scaled GT PC | Scaled Pred PC | Scaling (Multiplier) |
![]() |
![]() |
0.5 |
![]() |
![]() |
0.8 |
![]() |
![]() |
1.2 |
![]() |
![]() |
1.5 |
![]() |
![]() |
1.8 |
![]() |
![]() |
2.0 |
In order to test both network's robustness to scaling, I scaled the input pointclouds from 0.5-2.0 multipliers in increments of 0.1 and plotted the network's accuracy for each scaling factor. Similar to rotation both network's performance decreased the more the image deviated from a scale factor of 1.0. However, compared to the rotation test, the networks are significantly more robust to scaling. This is likely because the spatial and connectivity information of these points is not effected during scaling. This is visually apparent from the segmentation outputs seeing as the network does a good job maintaining clears segmentation. You can see segmentation quality slowler start to degrade during transition points from one part of a chair to the next, but generally speaking, segmentation does a decent job.