Detect / re-recognize objects by shape


I’m new to OpenCV and just learning.

I have the following study task: Build a database of tea cups and make them recognizable.

For example, the use case would be:

The user takes a picture of a cup from the side (getting a vertical profile). The picture (or whatever data is needed by the detection algorithm) is stored to the database, along with some additional information that is manually provided by the user (e.g. age=1786, location=Paris). Next time the cup is “scanned” it is re-recognized and the data (age, location) retrieved and displayed from the database.

  1. Which object detection algorithm can you best recommend for such a use case? Some criteria:
  • the algorithm should re-recognize the cup with high probability
  • the algorithm should be “simple” to implement and maintain
  • the processing performance required should be low
  1. A cup can look quite different depending on the angle the image is taken from. Do I need a “learning” algorithm and train the database with multiple positive images of the cup for this to work?

  2. Would it make things easier to have an additional camera that records from atop? Or even more cameras from different angles?

  3. A cup may also look different depending on the distance from the camera. In this case it may vary a few inches/centimeters. How to deal with that?

I have started to read documentation and tutorials, but of course, at the beginning it is still quite overwhelming.

If you have any recommendation that could get me started I would be very glad to hear from you.


you need deep learning.

you need to learn about machine learning