YOLOv4中的loss和mAP图

Loss and mAP chart in YOLOv4

我对“You Only Look Once”对象检测算法(确切地说是 YOLOv4)还是个新手。我有一些关于地图和损失图表的问题。

我尝试按照 AlexeyAB Darknet 的说明进行操作,并使用 Google Colabs 训练我的自定义对象检测器。训练结束后的loss和mAP图如下图

损失和mAP图表:

我的问题是:

  1. 除了这个还有其他图表吗?
  2. 这是用于训练还是验证的损失?
  3. 为什么在迭代 1200 附近突然下降?
  4. 训练的输出只有那个图表和权重文件吗?
  1. 图表中的损失用于验证
  2. 迭代 1200 附近的下降很可能是因为与其他小批量数据相比,该特定小批量数据的平均精度较低。
  3. 您可能必须在训练停止后显式手动保存权重。

第二个和第三个问题,请查看中的第2.2点我应该什么时候停止训练 |阿列克谢AB / 暗网

  1. 是的。但是如果你想导出日志并用它制作图表,你可以试试这个命令:

./darknet detector train data/obj.data cfg/yolov4.cfg yolov4.weights -map | tee results.log

  1. 蓝色曲线是训练损失或训练数据集上的错误(特别是 YOLOv4 的完全交叉并集或 CIoU 损失)。有关 CIoU 损失的更多详细信息,check this paper. The red line is the mean average precision at 50% Intersection-over-Union threshold (mAP@0.5), which checks if your model it is generalizing well on a never-before-seen dataset or validation set. If you want to understand mAP more, you can refer to this easy-to-understand blogpost.

  2. 您使用的是自定义数据集吗?迭代 1200 附近的下降可能是由数据集中的某些问题引起的。要检查,请尝试这些:

    (a) 检查您的数据集 - 运行 使用标记 -show_imgs 进行训练,即 ./darknet detector train ... -show_imgs 并查看 aug_...jpg 图像,您是否看到正确的真实边界框?

    (b) 检查生成的文件 bad.listbad_label.list 是否存在。这些文件包含可能有问题的标签文件。

  3. 是的。但是如果你启用日志文件(检查我的答案 - 1),那么,不。