代码下载:链接:百度网盘 请输入提取码  提取码:50r2

论文下载:链接:百度网盘 请输入提取码 提取码:c1bg

YOLOv3网络结构:

Darknet-53,正如其名,它包含53个卷积层,每个后面跟随着batch normalization层和leaky ReLU层。没有池化层,使用步幅为2的卷积层替代池化层进行特征图的降采样过程,这样可以有效阻止由于池化层导致的低层级特征的损失。

注:预处理时使用1*1的卷积核主要是为了增加通道数。

网络介绍:Darknet的非线性激活函数采用leaky_relu,而非relu了。YOLOv3详解 - 简书 (jianshu.com)https://www.jianshu.com/p/043966013dde

代码配置相关

注:基础配置可参考本人博客:(2条消息) [目标检测]——YOLOv5模型使用记录_Star星屹程序设计的博客-CSDN博客https://blog.csdn.net/weixin_42067873/article/details/118385070

1、pic.yaml数据文件配置

这里指定路径的时候,train、val、test文件是在voc_labels运行后生成的文件;配置路径时需要注意:这里的当前路径是该项目的当前路径,比如本项目是:F:/yolos/yolov3-master

 2、部分超参数含义

lr0: 学习率
lrf: 余弦退火超参数 (CosineAnnealing)
momentum: 学习率动量
weight_decay: 权重衰减系数
warmup_epochs: 预热学习epoch
warmup_momentum: 预热学习率动量
warmup_bias_lr: 预热学习率
box: giou损失的系数
cls: 分类损失的系数
cls_pw: 分类BCELoss中正样本的权重
obj: 有无物体损失的系数
obj_pw: 有无物体BCELoss中正样本的权重
iou_t: 标签与anchors的iou阈值iou training threshold   

3、训练结果生成

注:一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好),然后观察mAP@0.5 & mAP@0.5:0.95 评价训练结果

yolov3每次train完成(如果没有中途退出)都会在run目录下生成expX目录(X代表生成结果次数 第一次训练完成生成exp0 第二次生成exp1......以此类推)

expX目录下会保存训练生成weights以及result.txt(其中weights是训练生成权重,可用于detect),并以可视化的方式展示训练结果 -> result.png

  • Objectness:推测为目标检测loss均值,越小目标检测越准;

  • Classification:推测为分类loss均值,越小分类越准;

  • Precision:精度(找对的正类/所有找到的正类);

  • Recall:召回率(找对的正类/所有本应该被找对的正类);

  •  mAP@0.5 & mAP@0.5:0.95:mAP是用Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值,@0.5:0.95表示阈值取0.5:0.05:0.95后取均值。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐