Assignment5¶

Name : Akshunn Jindal

andrewid : akshunnj


Q1¶

In [ ]:
#!python train.py --task=cls
In [ ]:
!python eval_cls.py

True Positives¶

Chair¶

Vase¶

Lamp¶

False negatives¶

Chair¶

No false negatives available!!!

Vase¶

Wrongly classified as chair

Wrongly classified as lamp

Lamp¶

Wrongly classified as chair

Wrongly classified as vase

Test Accuracy¶

0.9758656873032528

Analysis¶

The models seem to detect anything that has a significant sitting area is a chair. The vase which is wrongly classified as a lamp, is confusing for humans as well.

The lamp which is wrongly classified as a vase is probably due to us maxpooling and not neighbour pooling which means use of nearby points information.

In [ ]:
#!python train.py --task=seg

Q2¶

!python eval_seg.py

test accuracy: 0.9028581847649919

Good Examples¶

Gt left, pred right (0.9951)¶

Gt left, pred right (0.9955)¶

Gt left, pred right (0.9956)¶

Bad Examples¶

Gt left, pred right (0.4876)¶

Gt left, pred right (0.4988)¶

Gt left, pred right (0.5105)¶

Analysis¶

The good examples are really good as you can see.

The bad examples are not really bad since they are confusing.

In the first example the back of chair is identified as the pillow which is a reasonable mistake that could be made by humans as well. Plus armrest and legs are the same thing in gt which means its confusing for humans as well.

The second example, there are no legs in gt but there are legs in predicted sofa. This is probably due to model learning some part of the model is always legs.

The third example, the armrest could be used for sitting and could be misunderstood by the network to be seating area.

Top performing models are sofas and low performing models are sofas, couches etc.

In [ ]:
# !python eval_seg.py --i 351 --exp_name 'b1'
# !python eval_seg.py --i 26 --exp_name 'b2'
# !python eval_seg.py --i 61 --exp_name 'b3'
# !python eval_seg.py --i 297 --exp_name 'g1'
# !python eval_seg.py --i 471 --exp_name 'g2'
# !python eval_seg.py --i 562 --exp_name 'g3'

Q3¶

You can rotate the input point clouds by certain degrees and report how much the accuracy falls¶

Rotated points along one axis.

You can input a different number of points points per object¶

Sampled a different number of points


In [ ]:
!$CUB_HOME
In [ ]: