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!

enter image description here

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

  • $\begingroup$ The text in images is clear? Can't you extract some data from them? $\endgroup$ – Alireza Zolanvari Mar 14 '19 at 9:28
  • $\begingroup$ I just added some training sample. Would it work better if the input images in higher resolution? $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 9:33
  • $\begingroup$ Another question, Is the position of the camera is same for objects with same shape and different size? $\endgroup$ – Alireza Zolanvari Mar 14 '19 at 9:45
  • $\begingroup$ yes, all object are observed in the same distance $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 9:48
  • $\begingroup$ @alirezazolanvari I just added the link to detection result using faster r-cnn $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 9:54

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.

  • $\begingroup$ I've always thought that GAN is used for generation. Do you have any link about applying GAN for object detection? I can't seem to find any. $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 12:19
  • $\begingroup$ What do you think if I used relative width and height as output for RPN instead of bounding box coordinates $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 12:22
  • $\begingroup$ When you can generate an entity well, obviously you can detect it accurately. In well-trained GAN networks, the discriminative network is powerful enough for recognizing generated entities. So, after you GAN had been trained, you can use the trained discriminative network for solving your problem. $\endgroup$ – Alireza Zolanvari Mar 14 '19 at 12:32
  • $\begingroup$ If I understand correctly, you suggest that discriminator can be used to classify objects in my problem for better accuracy. What do you think I should do to improve my RPN accuracy? $\endgroup$ – Hoang Dang Tuan Mar 14 '19 at 12:55
  • $\begingroup$ I think giving the presented features (height and width) beside the images can improve the accuracy $\endgroup$ – Alireza Zolanvari Mar 14 '19 at 13:02

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.