目标检测——评价指标(1)

1.评价指标-目标检测

  • 混淆矩阵 (Confusion Matrix)
  • 准确率 (Accuracy)
  • 精确率(Precision)
  • 召回率(Recall)
  • 平均正确率(AP)
  • mean Average Precision(mAP)
  • 交除并(IOU)
  • ROC + AUC
  • ROC与P-R比较
  • 非极大值抑制(NMS)
(1)混淆矩阵
  • 混淆矩阵中的纵轴是模型预测的类别数量统计,横轴是数据真实标签的数量统计。
  • 对角线,表示模型预测和数据标签一致的数目,所以对角线之和除以测试集总数就是准确率。对角线上数字越大越好,在可视化结果中颜色越深,说明模型在该类的预测准确率越高。如果按行来看,每行不在对角线位置的就是错误预测的类别。总的来说,我们希望对角线越高越好,非对角线越低越好。
    在这里插入图片描述
(2)Accuracy、Precision、Recal、P-R曲线(AP、mAP)
  • Accuracy
 - 准确率= 分对的样本数除以所有的样本数 ,即:准确(分类)率 = 正确预测的正反例数 / 总数。

 - 准确率一般用来评估模型的全局准确程度,不能包含太多信息,无法全面评价一个模型性能。
  • Precision
    Precision其实就是在识别出来的图片中,True positives所占的比率。
    在这里插入图片描述
 - True positives : 正样本被正确识别为正样本。 
 
 - True negatives: 负样本被正确识别为负样本。 
  
 - False positives: 假的正样本,即负样本被错误识别为正样本。 
  
 - False negatives: 假的负样本,即正样本被错误识别为负样本。
  • Recall
    Recall 是测试集中所有正样本样例中,被正确识别为正样本的比例。
    在这里插入图片描述

  • P-R曲线:AP、mAP
    AP就是Precision、Recall与x轴和y轴围成的面积。mAP就是对所有的AP值求平均。

 - Precision-Precision曲线:改变识别阈值,使得系统依次能够识别前K张图片,阈值的变化同时会导致Precision与Recall值发生变化,从而得到曲线。
 - AP就是Precision-recall 曲线下面的面积,通常来说一个越好的分类器,AP值越高。
 - mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好。该指标是目标检测算法中最重要的一个。
 - 在正样本非常少的情况下,PR表现的效果会更好。

在这里插入图片描述

(3)IOU、CIOU、GIOU
  • IOU:表达bounding box(预测框)和groundtruth(便签标记的真实值)差异的指标。
    在这里插入图片描述
  • CIOU
    在这里插入图片描述
  • GIOU
    参考:https://www.cnblogs.com/qianchaomoon/p/12389787.html
(4)ROC(Receiver Operating Characteristic)曲线与AUC(Area Under Curve)
  • ROC曲线
 - 横坐标:假正率(False positive rate, FPR),FPR = FP / [ FP + TN] ,代表所有负样本中错误预测为正样本的概率,假警报率;
 - 纵坐标:真正率(True positive rate, TPR),TPR  = TP / [ TP + FN] ,代表所有正样本中预测正确的概率,命中率。
 - 对角线对应于随机猜测模型,而(0,1)对应于所有整理排在所有反例之前的理想模型。曲线越接近左上角,分类器的性能越好。
 - 当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变

ROC曲线绘制:

(1)根据每个测试样本属于正样本的概率值从大到小排序;

(2)从高到低,依次将“Score”值作为阈值(threshold),当测试样本属于正样本的概率大于或等于这个阈值(threshold)时,我们认为它为正样本,否则为负样本;

(3)每次选取一个不同的阈值(threshold),我们就可以得到一组FPR(假正率)和TPR(真正率),即ROC曲线上的一点。

  • 当我们将阈值(threshold)设置为1和0时,分别可以得到ROC曲线上的(0,0)和(1,1)两个点。将这些(FPR,TPR)对连接起来,就得到了ROC曲线。当threshold取值越多,ROC曲线越平滑。
  • AUC曲线
    AUC(Area Under Curve)即为ROC曲线下的面积。
  • AUC越接近于1,分类器性能越好。
  • AUC值是一个概率值,随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值,将这个正样本排在负样本前面的概率就是AUC值。
  • AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。

在这里插入图片描述

  • ROC与P-R对比
    在这里插入图片描述

在这里插入图片描述

(5)非极大值抑制(NMS)、soft-nms
  • NMS(Non-Maximum Suppression):
    根据score矩阵和region的坐标信息,从中找到置信度比较高的bounding box。对于有重叠在一起的预测框,只保留得分最高的那个。
  • 非极大值抑制算法(Non-maximum suppression, NMS)的本质是搜索局部极大值,抑制非极大值元素。
  • 通常的做法是将检测框按得分排序,然后保留得分最高的框,同时删除与该框重叠面积大于一定比例的其它框。

实现方法:

(1)NMS计算出每一个bounding box的面积,然后根据score进行排序,把score最大的bounding box作为队列中首个要比较的对象;

(2)计算其余bounding box与当前最大score与box的IoU,去除IoU大于设定的阈值的bounding box,保留小的IoU得预测框;

(3)然后重复上面的过程,直至候选bounding box为空。

最终,检测了bounding box的过程中有两个阈值,一个就是IoU,另一个是在过程之后,从候选的bounding box中剔除score小于阈值的bounding box。需要注意的是:Non-Maximum Suppression一次处理一个类别,如果有N个类别,Non-Maximum Suppression就需要执行N次。

NMS的缺点:(结合下图展现)

  1. (贪心式方法)红色框和绿色框是当前的检测结果,二者的得分分别是0.95和0.80。如果按照传统的NMS进行处理,首先选中得分最高的红色框,然后绿色框就会因为与之重叠面积过大而被删掉。
  2. 其次,NMS的阈值也不太容易确定,设小了会出现下图的情况(绿色框因为和红色框重叠面积较大而被删掉),设置过高又容易增大误检。

在这里插入图片描述

  • soft-nms思路:不要粗鲁地删除所有IOU大于阈值的框,而是降低其置信度。
  • 用一行代码来替换掉原来的NMS,按照下图整个处理一遍之后,指定一个置信度阈值,然后最后得分大于该阈值的检测框得以保留。
  • 假如还检测出了3号框,而我们的最终目标是检测出1号和2号框,并且剔除3号框。(下面的第二张图)
    (1)原始的nms只会检测出一个1号框并剔除2号框和3号框,而soft-nms算法可以对1、2、3号检测狂进行置信度排序。
    (2)可以知道这三个框的置信度从大到小的顺序依次为:1->2->3(由于是使用了惩罚,所有可以获得这种大小关系),如果我们再选择了合适的置信度阈值,就可以保留1号和2号,同时剔除3号,实现我们的功能。
  • 但是,这里也有一个问题就是置信度的阈值如何选择,作者在这里依然使用手工设置的值,依然存在很大的局限性,所以该算法依然存在改进的空间。

在这里插入图片描述
在这里插入图片描述

备注:

大部分内容来自博客(本博文参考博客):https://www.cnblogs.com/eilearn/p/9071440.html

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在引用\[1\]中没有提到F1分数的具体公式。F1分数是一个综合考虑了精确率和召回率的评价指标用于衡量分类模型的性能。它的计算公式为: F1 = 2 * (precision * recall) / (precision + recall) 其中,precision表示精确率,recall表示召回率。精确率是指模型预测为正类的样本中真正为正类的比例,召回率是指真正为正类的样本中被模型预测为正类的比例。F1分数的取值范围为0到1,值越接近1表示模型的性能越好。 #### 引用[.reference_title] - *1* *2* [深度学习评估指标之目标检测——(yolov5 可视化训练结果以及result.txt解析)](https://blog.csdn.net/qq_41627642/article/details/126578865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [目标检测YOLO实战应用案例100讲-基于深度学习的航拍图像YOLOv5目标检测研究及应用(论文篇)](https://blog.csdn.net/qq_36130719/article/details/130626372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值