I am trying to train a image classifier that can classify a few categories like “human, animal, cars” , but there is also a category called “others” , which means when the object is not in any of “human, animal, cars”, it should be classified as “others”. It is used in web-camera in real-life, so the “others” includes background, or everything else.
The problem is we can not train good enough for “others” category. What I am doing now, is just like train a normal single-label multi-classification problem (last layer is softmax) with good training/validation results. But when used in the webcam, sometimes the background is recognized as human or car.
Should I train it like a multi-label problem, where the last layer is sigmoid. so we have confidence score for each class?
Hi dear @cooli46
It’s my question too. I’ve gotten stuck in such problem.
Actually I’ve trained my model with sigmoid as the last layer and tested different augmentations(hue, saturation, exposure, random crop) but I hasn’t found my desire model to overcome that problem.
don’t wast your time to perform.
I’ll be very very thankful if any body helps me about the solution.
I’m interested in hearing what others have done for this too.
I don’t see an advantage in using sigmoid if the data isn’t multi-label.
Occasionally what I’ve done rather than include an ‘other’ class is to add logic to the end that says, if none of the probabilities are above some threshold, e.g. 0.6, then change output class to ‘other’. I’ve done this when I was not confident that I could account for enough similar-but-not objects in the ‘other’ images.