YOLO代码解读

一、可视化指标

YOLO代码解读_第1张图片

1.各类loss

loss分为cls_loss, box_loss, obj_loss三部分:
**cls_loss:**用于监督类别分类,计算锚框与对应的标定分类是否正确。
**box_loss:**用于监督检测框的回归,预测框与标定框之间的误差(CIoU)。
**obj_loss:**用于监督grid中是否存在物体,计算网络的置信度。

2. metrics

mAP([email protected]):这是一个对检测能力要求更高的标准。
mAP([email protected]):跟Pascal VOC mAP标准计算方式一致;
mAP(IoU@[0.5:0.05:0.95]),需要计算10个IoU阈值下的mAP,然后计算平均值。这个评估指标比仅考虑通用IoU阈值(0.5)评估指标更能体现出模型的精度。

二、各类评价指标(P&R&PR&F1_curve, 准确率(查准率)和召回率(查全率))

1. P_curve (precise)

YOLO代码解读_第2张图片

2. R_curve

recall(真实为positive的准确率),即正样本有多少被找出来了(召回了多少)。
YOLO代码解读_第3张图片
召回率(查全率)和置信度的关系图。
意思就是,当我设置置信度为某一数值的时候,各个类别查全的概率。可以看到,当置信度越小的时候,类别检测的越全面。

3. PR_curve

mAP 是 Mean Average Precision 的缩写,即 均值平均精度。可以看到:精度越高,召回率越低。
但我们希望我们的网络,在准确率很高的前提下,尽可能的检测到全部的类别。所以希望我们的曲线接近(1,1)点,即希望mAP曲线的面积尽可能接近1。
YOLO代码解读_第4张图片

4. F1_curve

F1分数(F1-score)是分类问题的一个衡量指标。一些多分类问题的机器学习竞赛,常常将F1-score作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。

对于某个分类,综合了Precision和Recall的一个判断指标,F1-Score的值是从0到1的,1是最好,0是最差。

YOLO代码解读_第5张图片
在这里插入图片描述

三、labels&labels_correlogram

  • 第一个图是训练集得数据量,每个类别有多少个
  • 第二个是框的尺寸和数量
  • 第三个是center点的位置。可以看到口罩数据集中口罩的位置大多分布在图像的中心。
  • 第四个是labeld的高宽。口罩一般相比于整个图片比较小,所以看到样本大多分布在(0-0.2,0-0.2)

四、result.png&result.txt

1. loss functions

损失函数是用来衡量模型预测值和真实值不一样的程度,极大程度上决定了模型的性能。

定位损失box_loss:预测框与标定框之间的误差(GIoU)
置信度损失obj_loss:计算网络的置信度
分类损失cls_loss:计算锚框与对应的标定分类是否正确
YOLO代码解读_第6张图片
Box:YOLOV5使用 GIOU loss作为bounding box的损失,Box推测为GIoU损失函数均值越小,方框越准
Objectness:推测为目标检测loss均值,越小目标检测越准
Classification:推测为分类loss均值,越小分类越准

val BOX: 验证集bounding box损失
**val Objectness:**验证集目标检测loss均值
**val classification:**验证集分类loss均值

**Precision:**精度(找对的正类/所有找到的正类)
**Recall:**真实为positive的准确率,即正样本有多少被找出来了(召回了多少)

[email protected]:0.95(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。

[email protected]:表示阈值大于0.5的平均mAP

目标检测中PR曲线和mAP

2. result.csv

results.txt中最后三列是验证集结果,前面的是训练集结果,全部列分别是:
训练次数,GPU消耗,边界框损失,目标检测损失,分类损失,total,targets,图片大小,P,R,[email protected], [email protected]:.95, 验证集val Box, 验证集val obj, 验证集val cls
YOLO代码解读_第7张图片

五、train_batchx

这里我设置的一个batchsize是8,所以一次读了8张照片

六、val_batchx_labels&val_batchx_pred

  • val_batchx_labels:验证集第x轮的实际标签
  • val_batchx_pred:验证集第x轮的预测标签

七、参数解释

hpys:放超参数文件;

你可能感兴趣的:(YOLO,深度学习,计算机视觉)