YOLO目标检测创新改进与实战案例专栏
专栏目录: YOLO有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例
专栏链接: YOLO基础解析+创新改进+实战案例
前言
常见的目标检测指标
万字长文精解目标检测中的TP、FP、FN、TN、Precision、Recall 、 F1 Score、AP、mAP与AR 。附代码实现。
指标 | 定义 | 用途 |
---|---|---|
准确率 (Accuracy) | 模型正确预测的正样本和负样本占总样本的比例。 | 评估模型总体性能。 |
精确率 (Precision) | 正确检测到的目标数除以检测到的总目标数。 | 衡量模型对正类样本的预测准确性。 |
召回率 (Recall) | 正确检测到的目标数除以实际总目标数。 | 衡量模型找到所有正类样本的能力。 |
F1分数 (F1 Score) | 精确率和召回率的调和平均值,是精确率和召回率的平衡指标。 | 提供单一指标来评估精确率和召回率的平衡。 |
IoU (Intersection over Union) | 预测的边界框与真实边界框的交集与并集之比。 | 评估边界框预测的准确性。 |
mAP (Mean Average Precision) | 在不同IoU阈值和多个类别下的平均精确率。用来评估模型在所有类别上的整体表现。 | 综合评价模型在不同阈值下的性能。 |
AP50 (Average Precision at IoU=0.5) | 在IoU等于0.5时的平均精确率。通常用作评估较为宽松的检测任务的指标。 | 通常用于比较目标检测算法在相对容易的条件下的表现。 |
AP75 (Average Precision at IoU=0.75) | 在IoU等于0.75时的平均精确率。提供一个更严格的评估标准。 | 用于评估目标检测算法在更精确的条件下的性能。 |
P-R Curve (Precision-Recall Curve) | 精确率与召回率之间的关系图。 | 评估模型在不同操作点下的检测性能。 |
FLOPS (Floating Point Operations Per Second) | 每秒执行的浮点运算次数。 | 衡量模型计算复杂度和处理速度。 |
前传耗时 (Forward Pass Time) | 模型进行一次完整的前向传播所需的时间。 | 衡量模型推理速度,影响实时应用的可行性。 |
FPS (Frames Per Second) | 模型处理视频流或图像序列时每秒可以处理的帧数。 | 衡量模型在实时视频或图像处理应用中的表现。 |
YOLOV8训练结果
下面这张图是笔者使用YOLOV8训练数据集的结果:
这里面一共有下面几张图
- confusion_matrix.png
- confusion_matrix_normalized.png
- F1_curve.png
- labels.jpg
- labels_correlogram.jpg
- P_curve.png
- PR_curve.png
- R_curve.png
- results.png
场景
以下所有的图像是基于YOLOV8训练后的结果。
共计249张训练图片。70张验证图片。类别设置为:license-plate(车牌)和vehicle。一共跑了30轮。
weight文件夹
这两个文件分别保存了模型训练过程中损失最低的结果best.pt和最终一次训练的结果last.pt。
args.yaml
保存训练的参数。
confusion_matrix_normalized.png和confusion_matrix.png
混淆矩阵(Confusion Matrix用于评估分类模型的性能,特别是在监督学习中。它是一个表格,用来可视化模型预测与实际标签之间的关系,通常用于二分类问题,但也可以扩展到多分类问题。
在一个二分类问题中,混淆矩阵包含四个部分:
- 真正例(True Positives, TP):模型正确地预测为正类的实例数量
- 假正例(False Positives, FP):模型错误地预测为正类的实例数量,实际上它们是负类。
- 真反例(True Negatives, TN):模型正确地预测为负类的实例数量。
- 假反例(False Negatives, FN):模型错误地预测为负类的实例数量,实际上它们是正类。
混淆矩阵允许我们不仅计算出整体的准确率(所有正确预测的总数除以总预测数),还可以计算出更多细致的指标,如:
- 精确率(Precision):TP / (TP + FP),即在所有预测为正类的实例中,实际为正类的比例。
- 召回率(Recall)或真正类率&#