当前位置: 首页 > news >正文

YOLOv5白皮书-第Y1周:调用官方权重进行检测

>- **🍨 本文为[🔗365天深度学习训练营](小团体~第八波) 中的学习记录博客**
>- **🍖 原作者:[K同学啊](K同学啊-CSDN博客)**

一、前言

拖了好久,终于要开始目标检测系列了。自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松、快速、高效的入门目标检测算法。这段时间终于有个一个比较靠谱的思路。我是这样计划的:首先,带大家先将算法跑起来,不然都不知道在干嘛,纯理论的东西看着头都大了,然后,教大家将官方的数据集更换成我们自己的数据集,并完成模型的训练。其次,在我们代码可以运行的情况下,从整体上讲解算法的结构。最后,挑选代码中一些比较关键的点,进行详细讲解。

YOLO系列是目前最热门的目标检测算法,那就拿它“开刀”了。

YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。

点击下面的内容,可跳转到YOLOv5开源地址:

【YOLOv5开源地址】icon-default.png?t=O83Ahttps://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/


http://www.mrgr.cn/news/31118.html

相关文章:

  • Spring MVC 启动与请求处理流程解析
  • 环保行动中的关键力量:油烟净化器如何发挥重要作用
  • 乐观锁、悲观锁及死锁
  • 抖音怎么录屏保存?网页录屏和直播内容录制屏幕工具软件推荐
  • Ubuntu 22.04 源码下载的几种方法
  • 【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)
  • 鸿蒙手势交互(三:组合手势)
  • 模型案例:| 篮球识别模型
  • Python学习——【3.1】函数
  • 超详细!百分百安装成功pytorch,建议收藏
  • 【Node.js Vue】还在为选什么乐器发愁?乐器推荐系统帮你解决难题,基于用户行为分析的智能推荐,让你不再为音乐器材烦恼
  • 监控易监测对象及指标之:全面监控GBase数据库
  • NAT和代理服务
  • 基于google.protobuf的python接口解析proto
  • 2024 中秋盛景:数据璀璨,文旅辉煌
  • 【前端】--- ES6上篇(带你深入了解ES6语法)
  • Web+Mysql——MyBatis
  • HarmonyOS鸿蒙开发实战(5.0)网格元素拖动交换案例实践
  • 在 PyCharm 中配置 Anaconda 环境
  • 江科大51单片机