写在前面:刚开始接触Yolov5时,对一些基础的概念很模糊,在官网下载也不知道该下载什么版本好。后续更是遇到了一些奇奇怪怪的坑。在此记录一下最初的研究过程,顺带填一下yolov5避坑专栏后面的坑。
目录
一、Yolov5误区
二、官网怎么下载对应的版本
三、部署项目可能会遇到的问题
一、Yolov5误区
YOLOv5 是一个最新版本的 You Only Look Once (YOLO) 系列实时物体检测算法。YOLO 是一种将物体检测视为单一回归问题的方法,直接从图像像素预测出坐标框和类概率。这使得其具有更快的运行速度,尤其在实时应用中表现出色。YOLOv5 在原有 YOLO 系列的基础上进行了优化,旨在提高精度和速度。
-
YOLOv5 不是官方 YOLO:虽然名称中含有 "YOLO",但 YOLOv5 并非 YOLO 的创始人 Joseph Redmon 的官方版本。它是由另一个开发者组织创建并持续更新的。因此,有些人可能会误以为 YOLOv5 是 YOLO 官方的最新版本。
-
关于性能:YOLOv5 在许多基准测试中表现出色,但这并不意味着它在所有场景和应用中都是最佳选择。其他物体检测算法,如 Faster R-CNN、SSD 或者 YOLO 的其他版本(比如 YOLOv4)可能在某些特定情况下表现得更好。
-
代码质量和研究质量:YOLOv5 的代码非常易用,易于理解和修改,这也是其广受欢迎的原因之一。然而,代码质量和研究质量是两回事。研究质量涉及到算法的创新性、实验设计的严谨性、结果的公平性和可复制性等。尽管 YOLOv5 在实践中广受欢迎,但有些人批评其在发布时缺乏适当的学术论文和对新特性的深度解释。
-
超参数优化:YOLOv5 通过大量的超参数优化获得了较高的性能。然而,这种优化过程可能在不同的数据集和任务上有不同的效果,不能简单地推广到所有的场景中。因此,用户需要理解这一点,避免错误地认为 YOLOv5 总能提供最佳性能。
-
Yolov5拥有很多个迭代版本,不要错误的将yolov5理解成一个版本。在后面下载的时候会发现,不同版本所需要的包不同,性能也不同,当然你踩得坑也不同。我们在网上学习参考很多博主的博客,他们下载的版本很可能和你的不一致。
二、官网怎么下载对应的版本
官网的访问地址和界面如下所示,如果直接下载的话,下载的是yolov5-master版本,这个版本感觉更新非常快,有点像体验服,刚开始我配置的时候一堆问题,如果你下载的这个版本,你的pip一定要升级到最新版,要不然很多包找不到版本!
Yolov5官网https://github.com/ultralytics/yolov5/tree/master
那如何找到适合的版本呢?
在官网找到tag就可以看到所有稳定的版本了,我目前测试了v5.0,v6.2,v7.0感觉都挺可以的,部署起来很丝滑。我的建议是用最新版吧,性能方面会好一些。
下面介绍一个后面训练过程中会遇到的坑!
当你选择好自己下载的版本,假设你下载的是v7.0版本,后面当你执行:
python detect.py
测试训练时,他会寻找一个默认的网络模型weight=yolov5s.pt,这个文件一开始是没有的,执行命令后,会自动下载。这时候可能会遇到两个问题:
(1)超时:因为是外网,所以很容易超时报错。
(2)不匹配:因为不同版本的yolov5s.pt不一样,下载完成之后,可能会因为不匹配而报错。我当时就遇到了这个问题。
解决措施:官网自行下载
1. 进入官网首页,点击如下位置
2. 根据你下载的版本,找到对应的标题。比如我下载的是v7.0,那我就点击下图对应的标题。
3. 点击对应的标题后,就会进入如下界面
4. 在这个页面滚动到文章末尾,这里有很多网络模型,点击下载yolov5s.pt即可。
5. 下载完成后,将这个文件放在项目的根目录下即可。然后再执行检测命令,就可以了。如果你更精通一些,也可以选择其他的网络模型,但你执行的时候需要将参数带上。比如:
python detect.py --weights *.pt(你的网络模型)
三、部署项目可能会遇到的问题
问题一:部署安装包
如果你是在window上部署yolov5项目,当你执行安装包命令:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
大概率你会出现这个警告,立即使用ctrl+c终止安装,这个警告需要解决。(当然如果你是在linux上安装,是没有这个问题的。)
原因:系统编码不一致导致,没有设置全为UTF-8。
解决:配置全局UTF-8
- 打开设置
- 选择时间和语言
- 选择日期、时间和区域格式设置
- 选择其他日期、时间和区域设置
- 选择设置时间和日期
- 选择管理
- 选择更改系统区域设置
- 勾选beta版本,点击确定
- 重新启动电脑
然后重新执行安装命令,就会发现问题解决,顺利安装所有的包,成功安装结果如下:
安装完成后,必须将系统编码配置还原,需要重复上述步骤取消勾选,然后重启电脑。
问题二:执行训练
window中,当你执行训练命令:
python train.py
可能会报环境的错误,这时你需要在train.py中加上以下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
关于这个的原因:
jupyter notebook - what does os.environ['KMP_DUPLICATE_LIB_OK'] actually do? - Stack Overflowhttps://stackoverflow.com/questions/74217717/what-does-os-environkmp-duplicate-lib-ok-actually-do
训练成功结果: