API обнаружения возражений Tensorflow: Доступ ко всем оценкам классов для данного ограничивающего прямоугольника?

1

Используя API-интерфейс обнаружения возражений Tensorflow, можно обучить детектор начального объекта SSD и выполнить вывод, запросив тензоры detection_boxes:0, detection_scores:0 и detection_classes:0 соответствующие массиву координат ограничительной рамки, массив, содержащий максимальный балл для каждого ограничивающего прямоугольника и массив целых чисел, соответствующий метке класса максимальной оценки каждого ограничивающего прямоугольника, соответственно.

Меня интересуют десятки всех классов для каждой ограничивающей рамки. Во-первых, я попытался выяснить, возможно ли, что операция detection_scores имеет более одного тензора, но запрашивает detection_scores:1 тензор забросил ошибку, говоря, что тензор не существует. Во-вторых, я попытался просмотреть имена узлов модели, чтобы найти соответствующую операцию зондирования: тензор для запроса, но имена, как правило, довольно общие. Кто-нибудь знает способ запросить эти значения?

(PS Я работаю в python 2.7 с тензорным потоком-gpu 1.5 и ssd в начале v2)

Теги:
tensorflow
object-detection

2 ответа

0

Я пытаюсь сделать то же самое, но меня интересуют только оценки для каждого класса финальных блоков (в модели ssd mobilenet она настроена на 100 предсказаний). Ваш ответ был очень полезен, но он дает оценки до NMS, поэтому я не могу знать, какие из них являются действительными окончательными прогнозами...

0

Я не уверен, что этот ответ будет удовлетворительным, но давайте попробуем:

Вы можете загрузить модель и сохранить ее для осмотра в тензодаре:

import tensorflow as tf
from tensorflow.python.summary import summary

# I used mobilenet v2 with ssdlite from the tf model zoo
with tf.gfile.FastGFile('frozen_inference_graph.pb') as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())

sess = tf.Session()

sess.graph.as_default()
tf.import_graph_def(graph_def, name='')

pb_visual_writer = summary.FileWriter('.')
pb_visual_writer.add_graph(sess.graph)

В tensorboard вы увидите модель, ближе всего я мог бы найти то, что вы ищете является concat и concat_1 ОПС после того, как BoxPredictor s.

Первая выводит тензор формы ?x1917x1x4, который содержит поля. Другая выводит тензор формы ?x1917x91, который содержит оценки для каждого класса для каждого окна.

Обратите внимание, что за concat следует Squeeze op, чтобы сделать это ?x1917x4 и concat_1 сопровождается concat_1, называемым Postprocessor/convert_scores

  • 0
    К сожалению, я полностью забыл, что MobileNet SSD существует. Я отредактировал вопрос, чтобы уточнить, что я работаю с ssd inception v2. Спасибо за ваш ответ, я собираюсь посмотреть, смогу ли я выполнить эти шаги и найти что-то похожее в начальной модели ssd.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню