当前位置: 首页 > article >正文

认知篇#4:YOLO评价指标及其数学原理的学习

一、前言

在机器学习中,要评估一个模型在任务中的优越性,需要利用评价指标来对其进行评 估,而评价指标往往有多个,从不同层面来评价模型的优劣,从而使模型的构建者更加的 全面的了解模型的性能,同时依据任务的偏向和要求来对模型进行取舍。常用的分类模型的评价指标有精确率 Precision、召回率 Recall、F1-Score (F1)等等

二、评价指标的定义及其作用

1、Precision

这是一个比较常见的评价指标,也比较重要。式中,TP 表示 True Positives,FP 表示 False Positive;相应的,还有FN 表示 False Negatives,TN表示True Negatives。

相关(Relevent)无关(NonRelevent)
未被检索到(Not Retrieved)False Negatives(FN)True Negatives(TN)
被检索到(Retrieved)True Positives(TP)False Positives(FP)

 那么Precision(P)表示的就是被检测到的且正确的比例。换句话说,它衡量了模型正确检测到的对象中,有多少是真正的对象。它是模型的预测结果中真正对象的比例。这个很重要,但也有缺陷

例如有一个模型不论怎么训练都只能检测到两个,还都是对的对象,那么它的P理论上就是100%。它是度量被检测到的目标里的真真假假

2、Recall 

召回率(Recall)衡量了真实对象中,模型成功检测到了多少。它是模型检测到的真正对象占所有真实对象的比例。它也有缺陷

假设有一个数据集真实框只有10个,但是我模型检测出了1000个框,里面包含了那十个,这就算R=1了。R只能衡量真实框被检测的效果如何,多检测错的就没办法考虑了

3、IoU与置信度

IoU就是交并比Intersection Over Union),IOU 计算的是预测的边框真实的边框的交集和并集的比值。

置信度得分可以有效的帮助我们筛选检测较差 的结果。如图中检测到bounding box中的右上角的数值即为置信度得分。置信的得分是一个0-1之间的数值。

看起来非常复杂,其实理解起来也不容易。其中,Pr(Object) 是预测框内存在对象的概率,Pr(Classi|Object) 是预测框内是某类对象的概率,IoU是预测框与所有真实框之间的最大IoU值(如果存在真实框与预测框匹配)。

在YOLO中,置信度是通过将对象存在的概率与预测框和真实框的最高IoU(如果有一个真实框与该预测框匹配)相乘来计算的。然而,在训练过程中,由于没有真实的IoU值(因为我们在训练时需要预测它),所以通常将置信度简化为对象存在的概率。在推理(测试)时,我们会使用预测的对象存在概率和预测的框与所有真实框的IoU中的最大值(如果存在匹配的真实框)来计算置信度。

4、AP与mAP

AP即Average Precision,称为平均准确率,是对不同召回率点上的准确率进行平均。AP的值越大,则说明模型的平均准确率越高。

为了说清楚这个就必须介绍P-R曲线

横坐标是R,纵坐标是P。假设现在一张图片里面有十个人,我们检测这张图片有十多个框,每个框上面都会有一个置信度。我们需要把每个框的P,R都给列出来。

P-R曲线就是前面的那张。AP(Average Precision)就是直接求 P-R 曲线下的面积。AP的值越大,则说明模型的平均准确率越高。但要注意的是,它的本质上就是P的平均值

mAP是英文mean average precision的缩写,意思是平均精度均值。在目标检测中,一个模型通常会检测很多种物体。那么如果有多个类呢,就需要用到mAP了。定义就是每种类别的AP的均值,还是P的平均值

 5、mAP50和mAP50-95

很多文章里也写作mAP@50和mAP@50:95;也有写作mAP@0.5,mAP@0.5:0.95

AP50,AP60,AP70……等等指的是取detector的IoU阈值大于0.5,大于0.6,大于0.7……等等。数值越高,即阈值越大,这个AP某某的值越低。mAP50就好理解了,就是IoU的阈值大于0.5的时候的每种分类的AP的平均值。

mAP@0.5:0.95则表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。这个一般肯定比mAP@0.5低不少。

三、总结

在机器学习和深度学习的任务中,模型的性能评估至关重要,而评价指标则为我们提供了多角度的衡量标准。常见的分类模型评价指标包括精确率(Precision)、召回率(Recall)、F1-Score、IoU、置信度、AP(平均精度)和mAP(平均精度均值)等。每个指标侧重于不同方面的性能表现,如精确率衡量模型正确预测的比例,召回率则关注模型对真实对象的检测能力,IoU用于衡量预测框与真实框的重叠度,置信度则帮助筛选高质量的检测结果。

AP和mAP进一步将评价指标拓展到多个类别和不同IoU阈值下的精度计算,使得评估更加全面和精确。在目标检测任务中,mAP特别重要,因为它综合了多个类别的表现,并在不同的IoU阈值下提供了更细致的模型性能分析。mAP50和mAP50-95的不同阈值设定,体现了不同精度要求下的模型效果,因此在模型优化过程中,合理选择这些指标并综合考虑它们的优缺点,能够帮助构建者更好地理解和提升模型性能。

总体而言,正确理解并运用这些评价指标,对于优化模型、提升模型在实际任务中的表现具有重要意义。

四、参考文章

YOLO--置信度(超详细解读)_yolo置信度-CSDN博客

YOLO等目标检测模型的非极大值抑制NMS和评价指标(Acc, Precision, Recall, AP, mAP, RoI)、YOLOv5中mAP@0.5与mAP@0.5:0.95的含义_nms yolo-CSDN博客

YOLO系列笔记(一)——YOLO介绍与衡量指标_yolo one stage-CSDN博客


http://www.kler.cn/a/592497.html

相关文章:

  • Jetson Nano 三个版本(B01 4GB、Orin 4GB、Orin 8GB)本地部署Deepseek等大模型的测评
  • 零知识证明:区块链隐私保护的变革力量
  • 从关键词到权重:TF-IDF算法解析
  • LeetCode 1963.使字符串平衡的最小交换次数:计数模拟(不需要麻烦的“三种写法一步步优化”)
  • 【AVRCP】服务发现互操作性:CT 与 TG 的 SDP 协议契约解析
  • 算法刷题记录——专题目录汇总
  • AFFiNE:下一代开源全能知识库工具,重新定义协作与创作
  • 如何在CCS12.7.0中生成BIN文件
  • Gemini Advanced新功能详解:AI创作与协作的终极解决方案
  • 杰理科技JL703N双模蓝牙芯片—云信
  • 免费开源的NAS解决方案:TrueNAS
  • pycharm运行终端部署(Anaconda终端与Git运行终端)
  • 抽象工厂模式 (Abstract Factory Pattern)
  • 【Apache Storm】
  • python3+pytest+allure自动化框架搭建
  • GED-VIZ部署解决方案
  • 如何在 Node.js 中使用 .env 文件管理环境变量 ?
  • uniapp实现录音功能
  • 【C++11———线程】
  • Rust语言介绍和猜数字游戏的实现