Сиамские сети некорректно сравнивают картинки - PullRequest
0 голосов
/ 16 июня 2020

У меня есть сиамская сеть, обученная распознаванию продуктов. Некоторые из этих продуктов распознаются правильно, а некоторые - нет.

Изображения в каждом классе похожи (для тестирования этой архитектуры у меня было только одно изображение для каждого продукта, поэтому после аргументации есть 20 похожих изображений для каждого продукта), поэтому он не должно быть проблем с определением правильного.

Я не уверен, что мой код работает правильно.

sample = imread('C:/Datasets/Products/test_img.jpg')
sample = sample/255.
sample = np.expand_dims(sample, axis=0)

scores = list()
labels = list()

index = 0

for image in x_test:
    image = np.expand_dims(image, axis=0)
    scores.append(model.predict([image , sample])[0])
    labels.append(y_test[index][0])
    index +=1

scores = np.array(scores)
labels = np.array(labels)

index = np.argmax(scores)
label_ = labels[index]
print( 'IMAGE is {} with confidence of {}'.format(label_, scores[index][0]))

Изображения для x_test и y_test загружаются функцией ниже

def loadimgs(path):
    X=[]
    y = []
    images=[]

    for product in os.listdir(path):

        prod_path = os.path.join(path, product)

        for img in os.listdir(prod_path):
            image_path = os.path.join(prod_path, img)
            image = imread(image_path)
            images.append(image)
            y.append(product)    

    y = np.vstack(y)
    X = np.stack(images)

    return X,y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...