我正在使用现有的PyTorch-YOLOv3架构,并对其进行训练以通过google colab识别研究手稿的自定义数据集。基本上,我想使用对象检测算法来计算图像中两个类别的对象数量。
有人告诉我,出于我的目的,我应该为模型生成验证/训练曲线,并创建一个混淆矩阵来评估训练模型的分类器元素。我有一个想法,可以在训练期间修改训练脚本以将训练指标输出到csv文件,但是我不熟悉如何创建混淆矩阵来评估训练后的模型。
此外,在计算机视觉领域,应该为手稿生成什么样的度量标准/数字?
答案 0 :(得分:0)
关于问题的第一部分,由于您似乎只关心两个类,因此一个简单的混淆矩阵看起来像
class_1 class_2
class_1 a_11 a_12
class_2 a_21 a_22
其中a_ij
是分类为类i
的类j
的对象数。理想情况下,您希望该矩阵为对角线。
关于第二部分,这取决于您要显示的内容。用于对象检测的常用指标是IOU和mAP。假设您有一个地面真值边界框G和一个检测点D,则可以轻松定义其IOU(即联合的交集)
与intersection(D,G)/union(D,G)
相同,并在集合上进行交集和并集。 mAP(平均平均精度)的定义因数据集和作者之间的不同而有很大差异,但通常非常接近“精确度-召回曲线下的区域”。我邀请您查看Pascal或Coco数据集文档,以对该主题进行全面讨论。