在预测过程中以最高的置信度获得边界框

时间:2018-08-29 17:38:43

标签: tensorflow object-detection bounding-box object-detection-api

我正在使用TensorFlow对象识别API。通常,开发人员要做的是建立训练管道,提供一些检查点或tfrecords以开始训练,同时在TensorBoard上监视性能。 这就是我所做的,现在我可以在Tensorboard上看到所有预测的边界框,这些边界框根据迭代次数而变化。 但是,如果我需要获取这些边界框怎么办? 给定图像的代码行是否返回预测的边界框?

1 个答案:

答案 0 :(得分:2)

如果您使用sess.run(...)命令进行推断,它将返回一个python字典对象(例如,称为output_dict)。它包含模型应返回的所有内容,例如output_dict['detection_boxes'][0]output_dict['detection_scores'][0]output_dict['detection_classes'][0]。您可以以常见的“ pythonic”方式遍历此字典。例如:

box_index = 0
for box in output_dict['detection_boxes'][0]:
   current_box = box
   current_class_id = output_dict['detection_classes'][0][box_index]
   current_score = output_dict['detection_scores'][0][box_idx]

   # Do something with box

   box_index += 1

编辑: 如上所述,您可以使用jupyter笔记本来计算冻结图的“开箱即用”推断。对于生产用途,请查看Tensoflow服务。