深度学习100例 | 第51天-目标检测算法(YOLOv5)(入门篇)
Posted K同学啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习100例 | 第51天-目标检测算法(YOLOv5)(入门篇)相关的知识,希望对你有一定的参考价值。
大家好,我是『K同学啊』!
拖了好久,终于要开始目标检测系列了。自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松、快速、高效的入门目标检测算法。这段时间终于有个一个比较靠谱的思路。我是这样计划的:
首先,带大家先将算法跑起来,不然都不知道在干嘛,纯理论的东西看着头都大了,然后,教大家将官方的数据集更换成我们自己的数据集,并完成模型的训练。其次,在我们代码可以运行的情况下,从整体上讲解算法的结构。最后,挑选代码中一些比较关键的点,进行详细讲解。
一、前言
YOLO系列是目前最热门的目标检测算法,那就拿它“开刀”了。YOLO目前已经更新到了YOLOv5,由于YOLOv5太新了,目前TensorFlow2版本还未出来(网上存在一些tf版本的,但是大概率不靠谱,就不踩坑了),那就用PyTorch吧,反正PyTorch迟早也是要学的嘛。PyTorch与TensorFlow的区别如下:
- TensorFlow:更倾向于工程人员,落地比较好。
- PyTorch:比较倾向于研究人员,前沿算法用得比较多。
某宝上找人帮忙给小项目换一个框架(TensorFlow互转PyTorch),收费一般是1K
起步,所以啊,技多不压身。
YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。
二、下载源码
安装需要的环境
- 安装PyTorch环境,小白请移步这里:小白入门深度学习 | 第四篇:配置PyTorch环境
- 安装其他项目依赖包,请进入项目文件在文件地址栏中直接输入
cmd
,打开cmd
后输入:pip install -r requirements.txt
,如何打开CMD命令行
三、运行代码
需要的环境
- Python>=3.6.0
- PyTorch>=1.7
以同样的方法打开cmd
,输入命令:python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 640
,注意需要将图片路径替换成你的,例如:python detect.py --source data\\images\\zidane.jpg --weights yolov5s.pt --img 640
。这里我们使用的是官方已经帮我们训练好的模型。
在这个过程中,你中途可能会遇到这两个问题,不用担心,这是网络问题多试几次就好了。
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
TypeError: unlink() got an unexpected keyword argument 'missing_ok'
如果你还是一直这样,将 yolov5s.pt (提取码:bum6)文件放到项目的主目录下ok吧,上面的两个错误都是由于下载这个文件、下载失败缺少这个文件导致的。
命令运行成功后,你将会得到如下的反馈:
进行文件夹查看我们的检测结果:
四、视频检测
同样的方法打开cmd
输入:python detect.py --source MyVideo_2.mp4
我的 实验视频(提取码:9vaq),或许你用得到。
你将会得到如下运行结果(因为版权问题放不了视频,难受~)
五、专栏推荐
- 📚 选自专栏:《Matplotlib教程》
- 🧿 优秀专栏:《Python入门100题》
- 🔥 推荐专栏: 《小白入门深度学习》
- 🥇 精选专栏:《深度学习100例》
以上是关于深度学习100例 | 第51天-目标检测算法(YOLOv5)(入门篇)的主要内容,如果未能解决你的问题,请参考以下文章
深度学习100例 | 第53天:用YOLOv5训练自己的数据集(超级详细完整版)
深度学习100例 | 第53天:用YOLOv5训练自己的数据集(超级详细完整版)
深度学习100例-卷积神经网络(VGG-16)猫狗识别 | 第21天
深度学习100例-卷积神经网络(VGG-16)猫狗识别 | 第21天