I am basically interested in vehicle on the road.
YoloV3 pytorch is giving a decent result.
So my interested Vehicles Car
Motorbike
Bicycle
Truck
and bus
, I have a small vehicles being detected as truck
.
Since the small vehicle is nicely being detected as truck. I have annotated this small vehicle as a different class.
Though, I could add an extra class say 81th class, since the current YoloV3 being used is trained on 80 classes.
81th class would contain the weight of the truck, I would freeze the weights such that the rest of the 80 classes remain unaltered and only the 81th class of this new data gets trained.
The problem is the final layer gets tuned according to the prediction of all the classes it learns.
I was not able to find any post that could actually mention this way of preserving the predictions of the other classes and introducing a new class using transfer learning.
The closest, I was able to get is this post of Weight Sampling Tutorial SSD using keras
Its mentioned in
Option 1: Just ignore the fact that we need only 8 classes
This would work, and it wouldn't even be a terrible option. Since only 8 out of the 80 classes would get trained, the model might get gradually worse at predicting the other 72 clases
in the second paragraph.
Is it possible to preserve the predictions, of the previous pre trained model while introducing the new class and use transfer learning to train only for that class?
I Feel that this is not possible, would like to know your opinion. Hope someone can prove me wrong.