darknet yolo v3 cfg文件及训练过程中参数解析

一:cfg文件参数解析;参考:https://www.cnblogs.com/hls91/p/10911997.html

二:训练参数解析:

batch:每轮迭代随机选取的样本数量

subdivision:为了减少显存压力,将每个batch分为subdivision组,意味着将一轮迭代中,分subdivision次将图片输入网络进行训练,(即每次送入网络batch/subdivision张图片)

  • 9798: 指示当前训练的迭代次数
  • 0.370096: 是总体的Loss(损失)
  • 0.451929 avg: 是平均Loss,这个数值应该越低越好,一般来说,一旦这个数值低于0.060730 avg就可以终止训练了。
  • 0.001000 rate: 代表当前的学习率,是在.cfg文件中定义的。
  • 3.300000 seconds: 表示当前批次训练花费的总时间。
  • 627072 images: 这一行最后的这个数值是9798*64的大小,表示到目前为止,参与训练的图片的总量

 IOU(交集比并集)是一个衡量我们的模型检测特定的目标好坏的重要指标。100%表示我们拥有了一个完美的检测,即我们的矩形框跟目标完美重合。很明显,我们需要优化这个参数。

 

  • Region Avg IOU: 0.326577: 表示在当前subdivision内的图片的平均IOU,代表预测的矩形框和真实目标的交集与并集之比,这里是32.66%,这个模型需要进一步的训练。
  • Class: 0.742537: 标注物体分类的正确率,期望该值趋近于1。
  • Obj: 0.033966: 越接近1越好。
  • No Obj: 0.000793: 期望该值越来越小,但不为零。
  • Avg Recall: 0.12500: 是在recall/count中定义的,是当前模型在所有subdivision图片中检测出的正样本与实际的正样本的比值。在本例中,只有八分之一的正样本被正确的检测到。
  • count: 8:count后的值是所有的当前subdivision图片(本例中一共8张)中包含正样本的图片的数量。在输出log中的其他行中,可以看到其他subdivision也有的只含有6或7个正样本,说明在subdivision中含有不含检测对象的图片。

 

  0     7     7       RPs/Img: 8.00   IOU: 70.84%     Recall:100.00%
    1    10    10       RPs/Img: 6.00   IOU: 73.57%     Recall:100.00%
    2    13    13       RPs/Img: 6.33   IOU: 72.75%     Recall:100.00%
    3    19    19       RPs/Img: 6.50   IOU: 72.04%     Recall:100.00%
    4    21    23       RPs/Img: 6.00   IOU: 66.62%     Recall:91.30%
    5    25    28       RPs/Img: 6.00   IOU: 66.24%     Recall:89.29%
    6    31    34       RPs/Img: 6.14   IOU: 66.07%     Recall:91.18%
    7    38    41       RPs/Img: 6.25   IOU: 67.08%     Recall:92.68%
    8    41    45       RPs/Img: 6.11   IOU: 66.73%     Recall:91.11%
    9    44    48       RPs/Img: 5.90   IOU: 66.44%     Recall:91.67%
   10    48    52       RPs/Img: 5.82   IOU: 67.48%     Recall:92.31%
   11    50    54       RPs/Img: 5.50   IOU: 67.57%     Recall:92.59%

 Number Correct Total Rps/Img IOU Recall 
     1. Number 第几张图片
     2. Correct表示正确的识别除了多少bbox,大于预设值的 通过计算IOU,输入一张图片
     3. Total表示实际有多少个bbox
     4. Rps/img表示平均每个图片会预测出来多少个bbox
     5. IOU: 这个是预测出的bbox和实际标注的bbox的交集 除以 他们的并集。显然,这个数值越大,说明预测的结果越好。
     6. Recall召回率, 意思是检测出物体的个数 除以 标注的所有物体个数。通过代码我们也能看出来就是Correct除以Total的值。
 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Ultralytics下的YOLO(You Only Look Once)系列是一组流行的物体检测算法,主要用于实时图像和视频的目标定位。YOLO家族主要包括三个主要版本: 1. YOLOv3 (You Only Look Once version 3):这是最初的YOLO模型的升级版,它显著改进了速度和精度之间的平衡。YOLOv3引入了更多的锚点、特征金字塔网络(FPN)、以及更复杂的损失函数。训练自己的数据集时,你需要准备标注良好的图片数据集,包括每个目标物体的类别和边界框坐标。然后使用Ultralytics提供的YOLOv3源代码和工具如Darknet框架进行训练。 2. YOLOv5 (version 5):YOLOv5是对YOLOv3的一次大更新,它采用了SPP(空间金字塔池化)和 Mish 激活函数,并简化了网络结构。YOLOv5也支持训练自定义数据集,只需提供训练脚本(train.py)和预处理数据工具(preprocess.py)。需要注意的是,YOLOv5提供了几个不同大小的模型(s, m, l, x),你可以根据计算资源选择合适的模型。 3. YOLOv8 (version 8):虽然YOLOv8还未正式发布,但据说它是YOLOv5的后续版本,可能继续优化架构、添加新特性或提高性能。目前公开的信息有限,但是原理和技术基本沿袭YOLOv5,自定义数据集的训练方法类似。如果你对YOLOv8感兴趣,可以关注Ultralytics官方GitHub页面获取最新进展并进行实验。 训练步骤大致如下: - 数据预处理:收集和标记数据,将图片转换为模型所需的格式(例如 Darknet 的要求)。 - 安装必要的库:如Darknet和torchvision(YOLOv5使用的PyTorch库)。 - 调整配置文件:根据你的需求修改训练配置文件(如.yaml或.cfg格式),设置超参数。 - 执行训练:运行训练脚本来启动训练过程。 - 模型验证和调整:在训练过程定期评估模型在验证集上的表现,以便微调。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值