深度学习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),或许你用得到。

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

五、专栏推荐

版权声明:本文为CSDN博主「K同学啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38251616/article/details/120247952

K同学啊

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

nnUNet一个医学图像分割神仙算法

很多年之前接触过UNet的细胞分割,这次突然拿出来做一个三维的腿骨分割,突然有点不知所措了,可能我的技术只局限于二维的吧,经过一个月的研究差不多鼓捣明白了一点,欢迎有经验的大

yolov5test.py注释

import argparse import json import os from pathlib import Path from threading import Threados.environ[KMP_DUPLICATE_LIB_OK