Guideles for Siamese Network with Keras3 and Tensorflow

Hello,

I have 20,000 plus images of art stored in a pendrive (paintings, sculptures, jars, etc). My goal is creating a computer vision model which, from an input (image), identifies the exact same piece of art and returns its ID, details, etc.

In this particular case, the sample is static, fixed, so the model will not ever "see" new images, which makes me think that overfitting perhaps be the most desirable thing for the model to achieved (this translates to heavy data augmentation and high number of epochs). This tool is meant for labour purposes, so everytime we are carrying out an inventory, we'd be able to identify an art piece as easy/fast as possible (e.g when the tag is damaged, no legible).

I'm having a hard time trying to get around this task, there's a bunch of work regarding Siamese-Networks done in Python (which I could emulate using reticulate), however, the examples always assume that there's no more than 2 classes (e.g "cats vs dogs") and the database is always "given" (in my case I have to construct it from scratch).

This been said, my questions include:

  1. What workflow should I follow?
  2. Is overfitting an issue in this particular case?
  3. Would the model be able to "feed" from new images once it's done?