问题描述
在 detectron2
的文档中,它指出类标签位于 output_dict['Instances'].pred_classes
中。这一切都很好,我可以轻松访问它,但在文档(或输出字典,据我所知)中没有任何地方指定哪个整数标签指的是哪个类。我假设某处有一本包含 {0: 'Person',1: 'Bicycle',2: 'Car',... }
之类的字典,但我似乎找不到它。有谁知道在哪里可以找到这个吗?
这里是输出字典的规范:https://detectron2.readthedocs.io/tutorials/models.html
解决方法
数据集元数据类有一个属性 thing_classes
,其中包含该数据集的类名列表。只需从 pred_classes
传递类 id,就可以得到类名,如 here 所示。
pred_classes = output_dict['Instances'].pred_classes.cpu().tolist()
class_names = MetadataCatalog.get("mydataset").thing_classes
pred_class_names = list(map(lambda x: class_names[x],pred_classes))