YOLOv5白皮书-第Y1周:调用官方权重进行检测
>- **🍨 本文为[🔗365天深度学习训练营](小团体~第八波) 中的学习记录博客**
>- **🍖 原作者:[K同学啊](K同学啊-CSDN博客)**
一、前言
拖了好久,终于要开始目标检测系列了。自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松、快速、高效的入门目标检测算法。这段时间终于有个一个比较靠谱的思路。我是这样计划的:首先,带大家先将算法跑起来,不然都不知道在干嘛,纯理论的东西看着头都大了,然后,教大家将官方的数据集更换成我们自己的数据集,并完成模型的训练。其次,在我们代码可以运行的情况下,从整体上讲解算法的结构。最后,挑选代码中一些比较关键的点,进行详细讲解。
YOLO系列是目前最热门的目标检测算法,那就拿它“开刀”了。
YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。
点击下面的内容,可跳转到YOLOv5开源地址:
【YOLOv5开源地址】https://github.com/ultralytics/yolov5二、下载源码
可以按照下图所示下载源码:
安装需要的环境:
安装环境依赖包,请进入项目文件在文件地址栏中直接输入cmd,打开cmd 后输入:pip install-r requirements.txt,如何打开CMD命令行 :我是有ananconda的,所以我使用anaconda打开的命令行,有虚拟环境
三、运行代码
需要的环境:
Python>=3.6.0
PyTorch>=1.7
我电脑的python=3.11.5,pytorch=2.1.2+cpu,已经符合代码运行的环境要求。
以同样的方法打开cmd,输入命令:
python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 648
注意需要将图片路径替换成你的,例如:
python detect.py --source data\images\zidane.jpg --weights yolov5s.pt --img 648
这里我们使用的是官方已经帮我们训练好的模型。
在这个过程中,你中途可能会遇到下面的这两个问题,不用担心,这是网络问题多试几次就好了:
TimeoutError:[winError 10060]由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
TypeError: unlink() got an unexpected keyword argument ‘missing ok’
已解决:无法打开Anaconda Navigator,报错如下
ImportError: cannot import name ‘tarfile’ from ‘backports’ (D:\Anaconda\Lib\site-packages\backports_init_.py) 解决方案链接
如果一直还是这样,就需要下载yolov5s.pt文件放到项目的主目录下就ok了,上面的两个错误都是由于下载这个文件下载失败,缺少这个文件导致的(yolov5s.pt文件需要自己从网上下载)。
参考上面的cmd命令:
python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 648
在我的项目目录下输入命令:
python detect.py --source data/images/image.jpg --weights yolov5s.pt --img 648
上面的“image.jpg”可以换成其他图片。
四、视频检测
先提前下载实验视频:提取码(9vaq)
也可以用其他的实验视频,时长尽量要小,比如2分钟、3分钟,要不然代码运行时长会比较久。
同样的方法打开 cmd 并输入:
python detect.py --source MyVideo_2.mp4
我这轻薄本训练真费劲
结果如上
五、总结
原来如此简单,最重要的是有一个能运行的环境,遇到问题直接百度就可以
同时有兴趣的同学可以点击下面的链接去学习YOLO:
建议去官网自己看https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/