深度学习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为例。

📌【YOLOv5开源地址】

二、下载源码


安装需要的环境


三、运行代码

需要的环境

  • 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),或许你用得到。

你将会得到如下运行结果(因为版权问题放不了视频,难受~)

五、专栏推荐

以上是关于深度学习100例 | 第51天-目标检测算法(YOLOv5)(入门篇)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习100例 | 第53天:用YOLOv5训练自己的数据集(超级详细完整版)

深度学习100例 | 第53天:用YOLOv5训练自己的数据集(超级详细完整版)

深度学习100例-卷积神经网络(VGG-16)猫狗识别 | 第21天

深度学习100例-卷积神经网络(VGG-16)猫狗识别 | 第21天

深度学习100例-卷积神经网络(CNN)注意力检测 | 第17天

深度学习100例 | 第32天(GRU模型):利用算法生成小说(斗罗大陆版)