For example, let’s say a gallery has 500 images (training set), and they have asked for peoples preferences between a lot of the images (annotations – image 1 | image2 | prefered-image).
Now 100 new images (test set) arrive, based on the previous observations, the gallery wants to predict if a (or multiple) new images will be preferred over another image (from the full set), using CNN’s?
I am thinking that this could be solved using a Siamese network structure, where 2 images (from the annotation set), are run through a CNN each, which outputs a scalar value for each CNN, which can be compared (larger value, “wins”). Then a loss function can be defined, by looking up the annotations and comparing them to the result from the 2 CNN’s, and thus the weights are updated.
However, what I am very unsure of is how to write or define a batch loader for a problem such as this? Would it be wise to simply load, 16-32 annotations during each batch, or load every annotation one by one?
Any articles or examples, would be greatly appreciated.
thanks you RSS link