介绍
评价人脸目标检测系统的性能指标
参考下面2010年的人脸数据库文章FDDB 的评价章节
评价
为了建立一个评价检测算法的标准,我们首先对算法的输出指定一些假设:
- 一个检测结果对应于一个连续的图像区域
- 任何合并重叠或类似检测所需的后处理都已经完成
- 每一次检测都对应着一张完整的脸,不多也不少。换句话说,一个检测不能被认为是同时检测两张脸,两个检测不能一起检测一张脸。我们进一步认为,如果一个算法检测到一张脸的多个不相交的部分作为单独的检测,那么只有其中一个属于阳性检测,其余的检测应该被认为是假阳性。
使用S(IOU)来度量一个真值和一个检测结果之间匹配程度
为了为对应于人脸的图像区域指定比通常使用的矩形区域更精确的注释,我们在对应于这些人脸的像素周围定义了一个椭圆区域。虽然这种表示不像像素级注释那样精确,但它明显地改进了现有数据集中的矩形注释。
为了便于手动标记,我们从对人脸位置的自动猜测开始。为了估计一个人脸区域的椭圆边界,我们首先在图像像素上应用皮肤分类器,它使用它们的色相和饱和度值。接下来,使用MATLAB中的泛洪填充实现来填充结果面区域中的孔。最后,对该区域进行基于矩的拟合,以获得所需椭圆的参数。所有这些椭圆的参数都在最后阶段人工验证和调整。
检测结果和标注之间的匹配
剩下的一个主要问题是如何在一组检测和一组注释之间建立对应关系。
虽然对于给定图像的非常好的结果,这个问题很简单,但是对于大量的误报或多个重叠检测来说,它可能是微妙和棘手的。
下面,我们将匹配标注和检测的问题表述为在二分图中找到最大加权匹配。
是标注集合,是检测结果集合。我们用点集 建立一个图。图上没一个点和每一个点连接,连接的权重定义为上述的IOU值。对于每一个检测结果引入一个点,表示没有任何标注和该检测结果匹配的情况,这些引入点构成集合。(本质上是为了在使用下面的匈牙利算法时,图总是存在完备匹配)
这时我们有两个集合,,集合中的元素没有连接,所有边的两个端点都分别位于两个集合中
假设
匹配的目标定义为
通过KM搜索算法求解该目标最优解。
指标
对于每一个检测结果有两种度量得分
Discrete score (DS) 离散得分:
Continuous score (CS) 连续得分:
这两种对检测结果的评分机制,我们同时分析他们的受试者工作特征曲线(ROC曲线),以比较不同方法在此数据集上的性能。
虽然ROC曲线下面积的比较等同于非参数统计假设检验(Wilcoxon signed-rank检验),但似乎没有一种比较方法的累积性能优于其他方法,且具有统计学意义。
此外,在某些性能范围内,一种方法可能胜过另一种方法,而在不同的范围内,相对比较可能是相反的。
例如,一种检测算法可能能够在较低的查全值下保持较高的精度,但在点之后精确度会急剧下降。这一趋势可能表明,这种检测器对应用领域(如基于生物技术的访问控制)很有用,这些领域可能需要较高的精度值,但能够承受较低的召回水平。
相同的检测器在这些设置中可能不会有用(例如,监视),这需要检索图像或场景中的所有面孔。
因此,应该对整个ROC曲线范围进行分析,以确定不同方法的优势。