我正在尝试完成以下任务:在衣服图像数据集上训练神经网络,然后为其提供新图像,以从训练集中预测该图像与该图像最相似。但是,我无法获得一个好的模型。有人对这样的任务有建议吗?
每个类只有一个图像,但是我尝试了数据扩充来创建更多数据。我已经尝试了许多不同的暹罗神经网络和预训练的神经网络,但是无法获得有意义的模型。
这是我尝试过的众多实现之一:
left_input = Input((132, 103, 3))
right_input = Input((132, 103, 3))
convnet = Sequential([
Conv2D(filters=8, kernel_size = 10, activation='relu'),
MaxPooling2D(),
Conv2D(filters=16, kernel_size = 7, activation='relu'),
MaxPooling2D(),
Conv2D(filters=32, kernel_size = 4, activation='relu'),
MaxPooling2D(),
Conv2D(filters=64, kernel_size = 4, activation='relu'),
Flatten(),
Dense(units=128, activation='sigmoid')
])
encoded_l = convnet(left_input)
encoded_r = convnet(right_input)
L1_layer = Lambda(lambda tensor:K.abs(tensor[0] - tensor[1]))
L1_distance = L1_layer([encoded_l, encoded_r])
prediction = Dense(1,activation='sigmoid')(L1_distance)
siamese_net = Model(inputs=[left_input,right_input],outputs=prediction)
siamese_net.compile(loss="binary_crossentropy",optimizer='rmsprop',metrics=['accuracy'])
我希望一件红色的短袖连衣裙会产生类似的图像,即红色且短袖。但是目前,例如,我得到的蓝色牛仔裤连衣裙与带有花朵图案的黄色连衣裙的最相似。在其他方面或我可以尝试的来源方面的建议,将不胜感激!