对于使用机器学习解决的大多数常见问题,通常有多种模型可用。每个人都有自己的怪癖,并根据各种因素表现不同。
每个模型都是通过其在数据集上的性能来判断的,通常称为“验证/测试”数据集。这种性能是使用各种统计数据来衡量的 - 准确性,精确度,召回等。选择的统计数据通常特定于您的特定应用和用例。对于每个应用程序,找到可用于客观地比较模型的度量标准至关重要。
在本文中,我们将讨论用于对象检测问题的最常见的选择度量 - 平均平均精度,即mAP。
大多数情况下,指标很容易理解和计算。例如,在二进制分类中,精度和召回用作简单直观的统计。
另一方面,对象检测是一个相当不同且有趣的问题。
即使您的物体探测器在图像中检测到猫,如果您无法找到图像中的位置,也无效。
既然你预测occurence 和 位置的图像中的物体,这是相当有趣的,我们如何计算该指标。
首先,让我们定义对象检测问题,以便我们在同一页面上。
对象检测问题
通过“物体检测问题”这就是我的意思,
给定图像,找到其中的对象,找到它们的位置并对它们进行分类。
对象检测模型通常在一组固定的类上进行训练,因此模型只能定位和分类图像中的那些类。
此外,对象的位置通常是边界矩形的形式。
因此,对象检测涉及对象在图像中的定位以及对该对象的分类。
图1 - 几个突出的图像处理问题图像取自斯坦福大学的CS231n课程幻灯片(讲座8)如下所述,平均平均精度特别用于我们预测对象的位置以及类的算法。因此,从图1中,我们可以看到它对评估本地化模型,对象检测模型和分割模型很有用。评估对象检测模型
为何选择mAP?
对象检测问题中的每个图像都可以具有不同类的不同对象。如前所述,需要评估模型的分类和本地化。
因此,图像分类问题中使用的标准精度度量不能直接应用于此。这是mAP(平均平均精度)进入图片的地方。我希望在本文的最后,您将能够理解它的含义和代表。
关于地面真相
对于任何算法,总是与地面实况数据进行比较来评估度量。我们只知道培训,验证和测试数据集的Ground Truth信息。
对于对象检测问题,基本事实包括图像,其中对象的类以及该图像中每个对象**的真实边界框。
一个例子
人类可视化的基础事实我们给出了实际图像(jpg,png等)和其他注释作为文本(边界框坐标(x,y,宽度和高度)和类),红色框和文本标签仅在此图像上为我们绘制人类可视化。
因此,对于这个特定的例子,我们的模型在培训期间得到的是这个
实际图形3组数字定义了地面实况(假设这个图像是1000x800px,所有这些坐标都以像素为单位,也近似)
让我们亲自动手,看看如何计算mAP。
我将在另一篇文章中介绍各种对象检测算法,它们的方法和性能。现在,假设我们有一个训练有素的模型,我们正在验证集上评估其结果。
计算mAP
让我们说原始图像和地面实况注释就像我们在上面看到的那样。训练和验证数据以相同的方式注释所有图像。
该模型将返回大量预测,但在这些预测中,其中大多数将具有非常低的置信度得分,因此我们仅考虑高于某个报告的置信度得分的预测。
我们通过模型运行原始图像,这是在置信度阈值处理后对象检测算法返回的,
带边框的图像 -
我们的模型结果现在,由于我们人类是专家物体探测器,我们可以说这些探测是正确的。但是我们如何量化呢?
我们首先需要知道判断每个检测的正确性。告诉我们给定边界框正确性的度量标准是 - IoU - 联合交叉点。这是一个非常简单的视觉量。
就单词而言,有些人会说这个名字是自我解释的,但我们需要更好的解释。我将以简短的方式解释IoU,对于那些真正需要详细解释的人,Adrian Rosebrock有一篇 非常好的文章 ,你可以参考。
期票
Union上的交叉点是交叉点与预测框和地面实况框的并集之间的比率。 该统计数据也称为Jaccard指数,由Paul Jaccard于20世纪初首次出版。
为了获得交集和并集值,我们首先将预测框覆盖在地面实况框上。(见图)
现在,对于每个类,与预测框和地面实况框重叠的区域是交叉区域,并且跨越的总区域是联合。
网友评论