Как нарисовать ограничительную рамку в OpenCV с учетом прогноза Keras? - PullRequest
0 голосов
/ 26 января 2019

Мой код:

model = ResNet50(weights='imagenet')

ret_val, frame = video_capture.read()
frame = cv2.resize(frame,(224,224))
cv2.imshow(windowName, frame)
frame = np.expand_dims(frame, axis=0)
frame = preprocess_input(frame)

preds = model.predict(frame)
print('Predicted:', decode_predictions(preds, top=3)[0])

Результаты, которые я получаю:

Predicted: [('n04550184', 'wardrobe', 0.40715462), ('n04209239', 'shower_curtain', 0.09730709), ('n04005630', 'prison', 0.04603362)]

У меня нет x, y, w, h, поэтому я не знаю, где нарисоватьограничивающие рамки.

Любые советы?

1 Ответ

0 голосов
/ 26 января 2019

Вы не можете использовать ResNet.ResNet имеет уровень FC, который обрабатывает информацию о местоположении.Попробуйте вместо этого использовать YOLO.Он отличается очень эффективным расположением и классификацией объектов.Другим решением этой проблемы является не использование Keras, а использование встроенного каскада вейвлет-преобразования Хаара в OpenCV. Эта ссылка содержит все, что вам нужно знать для обучения каскада Хаара OpenCV.

...