Получить класс и вероятность в API обнаружения объектов Tensorflow - PullRequest
0 голосов
/ 18 ноября 2018

У меня проблема с получением класса и вероятности обнаружения объекта в API обнаружения объектов Tensorflow.Я хотел бы напечатать эти два значения с каждым изображением.

Это код:

for image_path in TEST_IMAGE_PATHS:
  image = Image.open(image_path)
  # the array based representation of the image will be used later in order to prepare the
  # result image with boxes and labels on it.
  image_np = load_image_into_numpy_array(image)
  # Expand dimensions since the model expects images to have shape: [1, None, None, 3]
  image_np_expanded = np.expand_dims(image_np, axis=0)
  # Actual detection.
  output_dict = run_inference_for_single_image(image_np, detection_graph)
  # Visualization of the results of a detection.
  vis_util.visualize_boxes_and_labels_on_image_array(
      image_np,
      output_dict['detection_boxes'],
      output_dict['detection_classes'],
      output_dict['detection_scores'],
      category_index,
      instance_masks=output_dict.get('detection_masks'),
      use_normalized_coordinates=True,
      line_thickness=2)
  plt.figure(figsize=IMAGE_SIZE)
  plt.imshow(image_np)

1 Ответ

0 голосов
/ 19 ноября 2018

следующий код дает возможность извлечь идентификатор класса и оценки для всех сущностей с оценкой выше 50%.

#Create indexes list of element with a score > 0.5
indexes = [k for k,v in enumerate(output_dict['detection_scores']) if (v > 0.5)]

#Number of entities
num_entities = len(indexes)

#Extract the class id
class_id = itemgetter(*indexes)(output_dict['detection_classes'])
scores = itemgetter(*indexes)(output_dict['detection_scores'])

#Convert the class id in their name
class_names = []
if num_entities == 1:
  class_names.append(category_index[class_id]['name'])
  class_name = str(class_names)
else:
  for i in range(0, len(indexes)):
  class_names.append(category_index[class_id[i]]['name'])

Если необходимо, если вы обнаружили только один элемент.

Тогда вы можете напечатать class_names[i] и str(scores[i])

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