本文为🔗365天深度学习训练营 中的学习记录博客
原作者:K同学啊**
一、前言
YOLO系列是目前最热门的目标检测算法,YOLO目前已经更新到了YOLOv5。我们是用PyTorch对YOLO进行学习和研究的。
PyTorch与TensorFlow的区别如下:
·TensorFlow:更倾向于工程人员,落地比较好。
·PyTorch:比较倾向于研究人员,前沿算法用得比较多。
YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。
点击下面的内容,可跳转到YOLOv5开源地址:
【YOLOv5开源地址】
二、下载源码
可以按照下图所示下载源码:
安装需要的环境:
安装环境依赖包,请进入项目文件在文件地址栏中直接输入cmd,打开cmd后输入:
pip install -r requirements.txt
要确保requirements.txt在当前目录下。
提示:在cmd中输入内容,可以像在linux的终端一样,按tab键补充,但感觉没有linux灵活。
然后在打开的cmd后输入:
pip install -r requirements.txt
三、运行代码
需要的环境:
Python>=3.6.0
PyTorch>=1.7
我电脑的python=3.9.13,pytorch=2.3.0+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’
如果一直还是这样,就需要下载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/bus.jpg --weights yolov5s.pt --img 648
上面的“bus.jpg”可以换成其他图片。
命令行运行成功后,将会得到如下的反馈:
根据上图所示的“Results saved to runs\detect\exp”,在“runs\detect\exp”路径下找到检测结果:
四、视频检测
先提前下载实验视频:提取码(9vaq)
也可以用其他的实验视频,时长尽量要小,比如2分钟、3分钟,要不然代码运行时长会比较久。
同样的方法打开 cmd 并输入:
python detect.py --source MyVideo_2.mp4
截取检测视频的某个时刻的帧:
五、总结
如果是用pycharm或者vscode运行的话,可以提前建立一个虚拟环境。
可以把要检测的图片、视频换成其他的试试。因为我是用有自己的图片和视频来检测的,所以这里就没有放其他检测图片和视频了。
有兴趣的同学可以点击下面的链接去学习YOLO:
https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/