what is the best approach to detect small objects with similar shape? I'm working a model which detect different products in supermarket shelf. In the training data, there are a lot of objects with similar shape placed very close to or stacked to each others.(eg: milks with different brands are stacked, placed on the same shelf, the model should be able to detect milk1, milk2). What is the best approach to this problem. I've tried to train a Faster RCNN, but the RPN isn't  working well. I've also tried feature matching, but it cannot detect partially visible objects. Any help will be appreciated!



The training images look like this

Link to FRCNN result when detect 2 type of milk and 1 type of yogurt

faster r-cnn detection result
If all objects are observed in the same distance and almost same angle, the relative height and width can be helpful features for recognizing objects with similar shape and different size. By this features different methods like GAN algorithms such as CoGAN and BiGAN may help you in this problem.

It should be noticed that for recognizing the size of the objects the features play more important role than the algorithms.