В настоящее время я работаю над проблемой распознавания изображений, в которой я хотел бы распознавать изображения с наибольшей вероятностью, что означает, что ожидается соответствие изображения, имеющего максимальный процент совпадения, из пула изображений с заданными входными тестовыми изображениями.
Мне нужны любые идеи, предложения или любые сообщения в блоге, с помощью которых я могу продвигаться вперед.
- Я написал классификатор CNN, который состоит из обычных извилистых слоев с максимальным количеством пулов;
- затем я использовал функцию Keras ImageDataGenerator, чтобы использовать увеличение изображения.Я применил это к тренировочному набору, а также изменил масштаб моего тестового набора.
- Затем я протестировал алгоритм с некоторыми случайными изображениями.Но мне нужно некоторое представление о том, как точно я могу сопоставить изображение, имеющее максимальный процент совпадения, из пула изображений с заданными входными тестовыми изображениями.
- В данный момент я просто передаю одно изображение в качестве входных данных и алгоритмвозвращается ли это кошка или собака или любой материал.
Пожалуйста, дайте мне знать, если требование неясно, я предоставлю все подробности.
classifier = Sequential()
classifier.add(Conv2D(32,(3,3), input_shape =(600,200,3),
activation ='relu'))
classifier.add(MaxPooling2D(pool_size = (2,2)))
classifier.add(Conv2D(32,(3,3), activation ='relu'))
classifier.add(MaxPooling2D(pool_size = (2,2)))
classifier.add(Flatten())
classifier.add(Dense(units = 128, activation ='relu'))
classifier.add(Dropout(0.4))
classifier.add(Dense(units = 64, activation ='relu'))
classifier.add(Dense(units = 3, activation ='softmax'))
classifier.compile(optimizer = 'adam', loss =
'categorical_crossentropy', metrics =['accuracy'])
#Testing
img_width, img_height = 600, 200
def prediction(file):
x = load_img(file, target_size=(img_width,img_height))
x = img_to_array(x)
x = np.expand_dims(x, axis=0)
array = classifier.predict(x)
result = array[0]
#print(result)
answer = np.argmax(result)
if answer == 1:
print("Predicted: Dog")
elif answer == 0:
print("Predicted: Cat")
elif answer == 2:
print("Predicted: Materials")
Я хочу вывод, подобный этому, учитывая изображение, оно должно показатьмне вероятность, к какой категории он относится, например, собака: 23%, кошка: 2%, материалы: 75%