I want to create a model to solve a multi-class classification problem.

Here are more details about my problem.

  • Every picture contains only one object

  • The background is very simple

  • All objects belong to the same family of objects (for example, all objects are knives), but there are different specific subtypes

  • the model will learn and predict the name of the object (example: the model learn all types of knives, and when it get an image it will tell us the name of the knife)

To be clear, let's say I have 50 types of knives, and the output of the model has to recognize the correct name of the knife. Knife name could be:

  • Chef's Knife,
  • Heavy Duty Utility Knife,
  • Boning Knife, etc.

To solve this problem, I have started to use annotated, segmented (masked) images (COCO-like dataset) and the Mask R-CNN model.

As a first step, I got a prediction, but I really don't know if I'm on the right way.

For this problem, Mask R-CNN could be the solution, or it is impossible to recognize a tiny difference between two objects from the same class (for example Chef's Knife, Heavy Duty Utility Knife)?


1 Answer 1


Mask RCNN can be a very heavy function for a simple class classification. It is designed to handle multiple object in a single image. So I would suggest you could use much simpler models like VGGnet or Resnet which are backbones of the MaskRCNN. The biggest hurdle you might face is the dataset. If you are trying to capture even small difference between knives and classify them you will need atleast 2000 images per knife type. which might be difficult to get. You may have to do a data augmentation.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .