目录
0.yolov5的简单介绍
由于本人也是刚刚入门深度学习的行列,对很多理论知识的了解还不够深入,对yolov5的原理只能简单介绍一下,然后大家如果有什么问题,欢迎在评论区里留言或者私信我,我看到之后会很快恢复,希望大家能够一起进步,也欢迎大家关注我,方便交流。(该流程同时适用于ubuntu系统或者windows)
(1)YOLOv5的核心工作原理包括以下几点:
- 网络架构:
- Backbone:CSPDarknet,用于特征提取
- Neck:PANet,用于特征融合
- Head:用于预测目标的类别、位置和置信度
- 预测流程:
- 将输入图像分割成 SxS 网格
- 每个网格预测多个边界框
- 每个边界框包含:
- 中心点坐标(x,y)
- 宽高(w,h)
- 置信度分数
- 类别概率
(2)YOLOv5的优势:
- 速度快:实时检测能力强
- 精度高:在各种数据集上表现优异
- 部署便捷:支持多种推理框架
- 使用简单:配置和训练流程清晰
- 代码开源:社区支持度高
1.下载yolov5资源
项目地址:https://github.com/ultralytics/yolov5/tree/v5.0
首先,我要给初学者提个醒,在github中的项目ultralytics/yolov5中,里面有很多标签,如下图,里面有很多标签的。
如果你直接用这条命令去下载资源 :
git clone https://github.com/ultralytics/yolov5.git
我们可以跳转到你下载的yolov5资源的目录,然后在终端输入
git branch
然后会显示
我们可以看到master的前面带着一个*,这说明我们现在克隆的仓库并不是我们要的yolov5(v5.0)版本的,我们可以大致对比一下下载的文件和我们在github上的yolov5的v5.0的版本的文件是否一致,很明显不一致的。我们可以在终端输入:
git tag
会出现下面的页面
因为我们之前已经在github中看到ultralytics/yolov5这个项目了,然后v5.0的版本是在tags这个标签里,所以我们就使用了git tag来查看这个仓库里面的所有标签。
然后我们现在需要切换到v5.0这个标签的仓库,我们可以输入下面的命令
git checkout v5.0
然后输出这样的页面,表示切换成功
我们为什么要用v5.0这个版本呢,因为这个版本里面使用的模型结构相对简单,对初学者来说是比较友好的,而且master那个分支的代码是比较新的版本的,模型结构稍微复杂,但是很多开源项目使用到训练权重还是以旧版本为主的,我现在在做一些深度学习的模型移植到嵌入式平台中,对一些旧版本的模型使用次数还是相对比较多的,不然以后会遇到比较多的模型版本不一致的情况报错的(当然大家如果有解决不了的报错,欢迎在评论区留言,大家一起讨论)
2.训练数据集的介绍
下载好之后的文件分布是这样的
然后我们打开data这个文件
我们今天只讲coco128.yaml这个数据集配置文件(这个数据集的配置方式比较简单,适合小白理解,不可操之过急,当然大家如果有对其他数据集配置方式有疑问的欢迎在评论区下留言),我们打开coco128.yaml这个配置文件。
# COCO 2017 dataset http://cocodataset.org - first 128 training images
# Train command: python train.py --data coco128.yaml
# Default dataset location is next to /yolov5:
# /parent_f