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

news2024/9/20 18:22:35

>- **🍨 本文为[🔗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.coloradmin.cn/o/2149664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python机器学习】NLP信息提取——值得提取的信息

目录 提取GPS信息 提取日期 如下一些关键的定量信息值得“手写”正则表达式: GPS位置;日期;价格;数字。 和上述可以通过正则表达式轻松捕获的信息相比,其他一些重要的自然语言信息需要更复杂的模式: 问…

Linux入门学习:Linux调试器gdb使用

1. 背景 程序的发布方式有两种,debug模式和release模式,debug是添加调试信息,release是取消调试信息, Linux gcc/g出来的二进制程序,默认是release模式,要使用gdb调试,必须在源代码生成二进制程…

html+css+js网页设计 旅游 穷游10个页面

htmlcssjs网页设计 旅游 穷游10个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#xff…

SpringCloud微服务消息驱动的实践指南

Spring Cloud是一个用于构建分布式系统的开发工具,通过它可以快速搭建基于微服务架构的应用,并提供了丰富的功能和解决方案。在Spring Cloud中,消息驱动是一种常见的通信模式,通过消息传递来实现不同微服务之间的数据交互。本文将…

文件上传js代码

大家好,很久没更新了,今天空了,记录一下文件上传js代码。(自己搭建的网站,演示学习一下这种漏洞,不要做违法的事情!!!) 一般文件上传的话都是奔着getshell去的,但是一般…

【Linux 20】线程控制

文章目录 🌈 一、创建线程⭐ 1. 线程创建函数⭐ 2. 创建单线程⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID 🌈 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 &#x1f30…

Python中lambda表达式的使用——完整通透版

文章目录 一、前言二、 基本语法三、举个简单的例子:四、常见应用场景1. 用于排序函数sort() 方法简介lambda 表达式的作用详细解释进一步扩展总结 2、与 map、filter、reduce 等函数结合1、 map() 函数示例:将列表中的每个数字平方 2、 filter() 函数示…

Centos 7 搭建Samba

笔记: 环境:VMware Centos 7(网络请选择桥接模式,不要用NAT) 遇到一个问题就是yum 安装404,解决办法在下面(没有遇到可以无视这句话) # 安装Samba软件 yum -y install samba# 创建…

Shader Graph Create Node---Channel

二、Channel 1、Combine(合并通道) 2、Flip(翻转) 3、Split(分离) 4、Swizzle(交换)

ELK环境部署

目录 环境准备 Elasticsearch 部署 安装Elasticsearch Elasticsearch-head 插件 安装node 安装 phantomjs 安装 Elasticsearch-head Logstash 安装部署 Kibana 安装部署 ELFK 本章纯搭建过程,几乎无任何注释解释 环境准备 ELK的搭建和测试,…

力扣(LeetCode)每日一题 2576. 求出最多标记下标

题目链接https://leetcode.cn/problems/find-the-maximum-number-of-marked-indices/description/?envTypedaily-question&envId2024-09-12 思路: 先排序,然后定义双指针 left,right,贪心遍历,左指针在中间&…

机器狗与无人机空地协调技术分析

随着科技的飞速发展,机器狗与无人机作为智能机器人领域的杰出代表,正逐步在军事侦察、灾害救援、环境监测、农业植保等多个领域展现出巨大的应用潜力。本文旨在深入探讨机器狗与无人机之间的空地协调技术,分析其在复杂环境中的协同作业机制、…

轻松打造:用Python实现手机与电脑间的简易消息系统

展示🎥 观看视频:👀,这是之前完成的一个项目,但今天我们的重点不是这个哦。 告别往昔,启航新篇章 现象🌟 智能互动:📱 我们每天都在享受与智能设备的互动,…

作为HR,如何考察候选人的沟通能力

如何考察候选人的沟通能力。沟通能力,这个听起来简单,实际上却是一个非常复杂的技能,它关乎到一个人能否有效地传递信息,理解他人,并且在团队中发挥积极的作用。 作为HR,我们应该怎样才能精准地把握住候选…

鸿蒙开发(HarmonyOS)组件化浅谈

众所周知,现在组件化在移动开发中是很常见的,那么组件化有哪些好处: 1. 提高代码复用性:组件化允许将应用程序的不同功能模块化,使得这些模块可以在不同的项目中重复使用,从而提高开发效率并减少重复工作。…

JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析

拼多多2面,还是模拟拼团,要求用户拼团成功后,提交订单支付金额。 之前我们在系列(8)《CountDownLatch核心原理》,实现过拼团场景。但是CountDownLatch里调用countDown()方法后,线程还是可以继续执行后面的代码&#xf…

【云安全】云上资产发现与信息收集

一、云基础设施组件 1、定义 在云计算基础架构中,基础设施组件通常包括:计算、存储、网络和安全等方面的资源。例如,计算资源可以是虚拟机、容器或无服务器计算引擎;存储资源可以是对象存储或块存储;网络资源可以是虚拟…

数字电路与逻辑设计-计数器逻辑功能测试

一.实验目的 1.验证用触发器构成的计数器计数原理; 2.掌握测试中规模集成计数器功能的方法; 二.实验原理 时序逻辑电路中,有一种电路称为计数器,计数器是用来对时钟脉冲进行计数的…

稳联Profinet转Canopen网关携手伺服,高效提升生产效率

在当今的工业生产领域,追求高效、精准和可靠的生产方式是企业不断努力的方向。稳联技术Profinet转Canopen(WL-ABC3033)网关与伺服系统的携手合作,为提高生产效率带来了新的机遇和突破。 实现无缝通信,优化生产流程稳联…

Flink提交任务

第3章 Flink部署 3.1 集群角色 3.2 Flink集群搭建 3.2.1 集群启动 0)集群规划 表3-1 集群角色分配 具体安装部署步骤如下: 1)下载并解压安装包 (1)下载安装包flink-1.17.0-bin-scala_2.12.tgz,将该jar包…