行人检测评价指标

转载:https://zhuanlan.zhihu.com/p/427423069

转载:https://zhuanlan.zhihu.com/p/350831888

最近在细究行人检测中的评估指标的计算方式的时候,在网上也找了许多的资料,但是感觉不是很齐全或者不便于理解,这里对行人检测中的评价指标进行一个总结

  1. TP(True Positive)预测为正样本且是预测结果是正确。该指标越接近验证集中行人的标注数量,则表明该检测器检出率更高。
  2. FP(False Positive)预测为正样本但是预测结果错误。该指标反映的是误检率,误检率越低越好。
  3. FN(False Negative)预测结果为负样本但是预测结果错误,即本应该被检测出来的样本未被检测出来,该指标反映的漏检率,该指标越小越好。
  4. Precious 描述TP在检测结果所占的比例,其计算方式为 Precious=TP/(TP+FP) ,该指标越大,表示检测准确率越高。
  5. Recall 描述被标注的行人的检出比率,其计算方式为 Recall=TP/(TP+FN)=TP/GT,GT为ground truth真值
  6. FPPI(False Positive Per Image)描述每张图片的平均误检率。假设有N张图片,结果中的误检数量为FP,则 FPPI=FP/N
  7. MR(Miss Rate)描述检测检测结果中的漏检率的指标,即 MR=FN/GT=1−Recall,该指标越小越好 。MR-FPPI与目标检测所用的Precious-Recall类似,都是两个互斥的指标,一个性能的提升必然会带来另一个性能的下降,可以反映检测器的整体性能。由于在行人检测中每幅图像的FPPI上限与行人的密度有关系,所以在行人检测领域采用MR-FPPI曲线比Precious-Recall曲线更加合理。
  8. MR−2 采用FPPI为横坐标, log(MR) 为纵坐标的曲线中,均匀选取 [0.01,1] 范围内的9个FPPI,得到他们对应的9个log(MR)值,并对这几个纵坐标值进行平均,最后通过指数运算上述平均值恢复为MR的百分比形式,就获得了用来量化MR-FPPI曲线的 MR−2 指标,该指标越小代表检测器性能越高

 

通用目标检测一般会关注AP,更具体一点会关注不同matching iou和不同size gt下的AP,比如 AP75 、 APL 。行人检测也会关注AP,不过一般就是看matching iou=0.5时的AP。此外还会单独关注 MR−2 和Recall,下面一一介绍。

  • MR−2 :miss rate,表示FPPI在[0.01, 1]范围内log空间均匀取9个点下的miss平均,即FPPI分别为[0.0100, 0.0178, 0.03160, 0.0562, 0.1000, 0.1778, 0.3162, 0.5623, 1.000]时的平均miss rate。越低越好。
  • AP: average precision, 取matching iou=0.5下的COCO AP计算方式下的AP。越高越好。
  • Recall:只看召回率,越高越好。

粗略来讲,AP受recall影响很大,因为可以取到FPPI很大时的情况;而相对地, MR−2 对FP比较敏感,因为它只关注FPPI比较少时的recall,并且看上面取的9个点中更多的点都是靠近左端点也就是FPPI很小时的recall,因此高分FP对最终的结果影响很大。

对目前行人检测的评测来说,无论对哪个数据集 MR−2 都是最重要且不可缺少的,而是否要报其它指标就看数据集了。比如目前CrowdHuman大家一般还会报AP和Recall,CityPerson和CalTech就只报 MR−2 。

常见bad case

遮挡和姿态问题都给行人检测带来了很大的困难,结合我在实际项目中观察的bad case,行人检测容易出现的问题主要是以下几种:

  • FP
    • 非人但和人比较相似的FP:比如猫狗体、绿植;
    • 非人但经常伴随人出现的FP:比如椅子、摩托车;
    • 框不准FP:这种FP又包括两种,一种是单人没框全FP,比如一个人张开胳膊但出的检测框没把胳膊框进去;另一种是多峰FP,即出的一个人框和多个gt框iou都有交集但和每个gt的iou都没有超过能判为TP的阈值,这种情况经常是在较拥挤的场景下发生;
  • miss
    • 极小/极大人体:特别小的人体特征不明显,特别大的人体感受野只能覆盖一小部分,这种情况很容易miss;
    • 遮挡严重:不管是被其他人遮挡还是被其他物体遮挡,人体大部分在图像外的情况也包括在内,只能看到人体的一小部分时比较容易miss
    • 被NMS干掉:前面两种主要是网络本身就没有检出,还有一种情况是检出了但是被NMS干掉了,比如密集场景下NMS很容易误杀,有一部分TP会被其他的TP杀掉。

bad case原因分析

如果直接把通用物体检测的方案拿过来,上面的问题很容易出现,粗略分析一下其原因有以下几方面:

  • 网络的特征表示能力不强:无法正确区分人和其他非人物体的特征,无法很好区分开人和人之间的边界,导致了一些非人FP、框不准FP;
  • NMS比较粗暴:一般的NMS靠iou来杀框,这其中隐含的先验是当两个框的iou超过一定阈值后认为这两个框就是一个人。可想而知在本来就比较密集的场景下即使检测能检全也还是会被NMS杀掉一部分。大多数NMS的输入信息只有框的置信度和位置,从信息量上就不可能有能解决上述问题的完美方案。
posted on 2022-10-24 19:47  该用户很懒  阅读(589)  评论(0编辑  收藏  举报