认知篇#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;也有写作[email protected][email protected]:0.95

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

[email protected]: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。这个一般肯定比[email protected]低不少。

三、总结

在机器学习和深度学习的任务中,模型的性能评估至关重要,而评价指标则为我们提供了多角度的衡量标准。常见的分类模型评价指标包括精确率(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中[email protected][email protected]:0.95的含义_nms yolo-CSDN博客

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

相关推荐
大博士.J2 小时前
MySQL实现全量同步和增量同步到SQL Server或其他关系型库
数据仓库·人工智能·python·mysql·adb
myzzb2 小时前
python字符级差异分析并生成 Word 报告 自然语言处理断句
python·学习·自然语言处理·word·snownlp
说私域2 小时前
技术革命、需求升级与商业生态迭代——基于开源AI大模型与智能商业范式的创新研究
人工智能·微信·小程序·开源·零售
Lichenpar3 小时前
AI小白的第七天:必要的数学知识(四)
人工智能·概率论·概率分布
訾博ZiBo3 小时前
AI日报 - 2025年3月21日
人工智能
土豆土豆,我是洋芋4 小时前
《大语言模型》学习笔记(二)
笔记·学习·语言模型·datawhale
AI技术控4 小时前
机器学习算法实战——天气数据分析(主页有源码)
算法·机器学习·数据分析
LitchiCheng4 小时前
DQN 玩 2048 实战|第二期!设计 ε 贪心策略神经网络,简单训练一下吧!
人工智能·深度学习·神经网络
猪猪成5 小时前
【图论】FLOYD弗洛伊德算法-最短路径
学习·算法·图论
小程同学>o<5 小时前
嵌入式开发之STM32学习笔记day08
笔记·stm32·学习