检测器 2 输出的类标签指的是什么?

问题描述

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))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...