Я изучаю Tensorflow последние два месяца и пытаюсь построить модель, которая обнаружит игральные карты. Я могу успешно сделать это на своем Raspberry Pi, используя модель, которую я обучил с 300+ изображениями. Я тестирую модель с помощью object_detection.py с моей камерой Pi. Я изменил это, чтобы экспортировать изображение с ограничивающей рамкой и идентификатором метки на изображении. Это здорово, но мне просто нужно, чтобы экспорт был идентифицирован как карта, а не изображение с ограничивающей рамкой.
Я отредактировал код Object_detction, чтобы просто распечатать имя обнаруженного объекта. Моя проблема в том, что я вывожу идентификатор вместо имени! Код:
vis_util.visualize_boxes_and_labels_on_image_array(
frame,
np.squeeze(boxes),
np.squeeze(classes).astype(np.int32),
np.squeeze(scores),
category_index,
use_normalized_coordinates=True,
line_thickness=8,
min_score_thresh=0.40)
boxes = np.squeeze(boxes)
cards = np.squeeze(classes).astype(np.int32)
#cards = [category_index.get(value)]
max_boxes_to_draw = boxes.shape[0]
scores = np.squeeze(scores)
min_score_thresh=0.5
for i in range(min(max_boxes_to_draw, boxes.shape[0])):
if scores is None or scores[i] > min_score_thresh:
print("Detection", cards[i])
Выход: Обнаружение 21 Обнаружение 8 Обнаружение 8 Обнаружение 8 Обнаружение 8 Обнаружение 8 Обнаружение 9
Для справки https://github.com/tensorflow/models/tree/master/research/object_detection