Not sure how this problem is called

Say you want to indentify particular objects, such as sculptures. You have a database of thousands of items and you have to recognize which item is in a given photo. Moreover, the list of items is continously updated, so it’s probably impractical to re-train after each item is added or removed from the system.

Due to the dynamic nature and large number of items, it doesn’t seem to be a proper classification problem.

A solution I’m thinking of is having a NN produce a set of key values for each item, so that they are (almost) invariant in different pictures of the same item, and then search using these key values.

Does this problem have an official name or solution? Is this covered in the course somewhere?

Thanks!

Let’s say your database has 99 products with enough images of each product to train a classifier, and you expect 5 new items to be added in the next 5 months.

I’d suggest training a NN with 100 classes, where 99 of them are your product classes, and the 100th class can be called “other” which is essentially a collection of images of other products.

Going forward, as more items are added to the database, you can use the trained NN to classify these new images. Once you collect enough images of k newer items, you could retrain the network with 100 + k items.

If the 100th “other” class doesn’t sound too promising, you could perhaps look at the probability that the network predicts for the 99 classes that you have, and every time it predicts the class with at least 90+ % probability, you can classify it; if it does not predict above that threshold, flag that item for manual review later.

I doubt it.