How does a given deep cnn model performance vary with number of classes in tasks such as classification, object detection segmentation?

For example mobilenet v2 gives around 90% accuracy on classification task using PASCAL VOC; now if we train the same network with just 2 classes (say human and dog) how will it effect accuracy, speed and model size?(say, using tensorflow).Also what will be the case in tasks like object detection and semantic segmentation(in particular)?

Can we make the network smaller to learn from the smaller dataset(2 classes) to achieve same or better accuarcy & speed?


You might want to have a look at the hierarchical classification idea I described in my masters thesis.

In short:

  • If I had a problem where I needed to distinguish 42 breeds of dogs and 30 breeds of cats, I would very likely just create one classifier for the $42+30=72$ classes. Making a two-step approach (first cat vs dog, then cat-breed / dog-breed) seems not to give better results and for sure is more complicated
  • Analysis of errors becomes simpler the less classes you have
  • A single accuracy score for more than a handfull of classes / skewed data is not meaningful. For example, if you have two models with both 90% accuracy, one might be way better than the other one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.