Я пытаюсь вычислить сходство между изображениями, используя функции, извлеченные из модели VGG16. Но я не понимаю, из какого слоя мне следует извлекать объекты, я имею в виду, где именно это будет иметь значение. Я попробовал оба способа на образце изображений, и я получил одинаковые результаты в обоих случаях. Я использовал косинусное расстояние, чтобы найти сходство между изображениями. Я использовал библиотеку keras.
Использование максимального уровня пула (block5_pool MaxPooling2D)
model = VGG16(weights="imagenet", include_top=False)
Использование слоя fc2 (плотный fc2)
model_include_top = VGG16(weights="imagenet", include_top=True)
model1 = Model(inputs=model_include_top.input, outputs=model_include_top.get_layer("fc2").output)