0

在detectron 2中,我如何获得检测到的对象类名称和边界框x,y坐标? 在此处输入图像描述

并像 print(obj_name,x,y) 一样打印它

4

2 回答 2

1

此代码打印每个检测到的对象的名称和坐标。

predictor = DefaultPredictor(config)
outputs = predictor(image)
instances = outputs["instances"]
detected_class_indexes = instances.pred_classes
prediction_boxes = instances.pred_boxes

metadata = MetadataCatalog.get(config.DATASETS.TRAIN[0])
class_catalog = metadata.thing_classes

for idx, coordinates in enumerate(prediction_boxes):
    class_index = detected_class_indexes[idx]
    class_name = class_catalog[class_index]
    print(class_name, coordinates)
于 2021-07-21T15:03:16.100 回答
0

您可以在模型推理的输出中提取它们,例如:

predictor = DefaultPredictor(cfg)
outputs = predictor(im)
  • 输出[“instances”]:具有以下字段的实例对象:

“pred_boxes”:存储 N 个盒子的盒子对象,每个检测到的实例一个。

“pred_classes”:张量,N 个标签的向量,范围为 [0, num_categories)。

参考:https ://detectron2.readthedocs.io/en/latest/tutorials/models.html

于 2021-07-16T02:57:47.030 回答