从零开始学习YOLOv5 保姆级教程

一、前言

YOLO系列是one-stage且是基于深度学习的回归方法,而R-CNN、Fast-RCNN、Faster-RCNN等是two-stage且是基于深度学习的分类方法。

YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升
 

Input: 输入部分是YOLOv5的起点,接收输入图像并将其进行预处理,将图像大小调整为模型所需的输入尺寸。

Backbone: 骨干网络是YOLOv5的核心组成部分,负责从输入图像中提取特征。YOLOv5使用的骨干网络是一种轻量级的卷积神经网络,如CSPDarknet53或Swin-Transformer,具有良好的特征提取能力。

Neck: Neck部分是YOLOv5中的特征融合模块,用于融合不同层级的特征图。常用的脖子结构包括特征金字塔网络(FPN),用于增强目标的多尺度表示和语义信息的融合。

Output: 输出部分是YOLOv5的最终预测结果生成模块,通过在不同尺度的特征图上应用一系列卷积层和激活函数,输出目标的位置坐标、类别概率和置信度。根据预测结果进行后处理,如非极大值抑制(NMS),用于过滤和合并重叠的边界框,得到最终的检测结果。

源码下载地址

ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)

二.环境配置

最新Anaconda安装-保姆级教程

Pytorch安装教程:最新保姆级教程

完全零基础的可以先看下博主的这两篇文章先做好基础准备

2.1.创建环境

打开命令行,输出cmd,在终端输入一下命令

conda create -n yolov5 python=3.8 

   # yolov5为所创建虚拟环境名称;python版本可以更换

推荐用3.8,不容易报错。

第一次建可能需要一些时间

2.2环境内配置pytorch

激活环境

conda activate yolov5

 配置pytorch

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple

这是换好源的下载链接,如果20分钟内没有下载完,需要考虑是不是有地方出错了,正常10分钟左右搞定。

验证是否成功

python
import torch
print(torch.__version__)
print(torch.cuda.is_available())

 输出为 ture就成功了 

2.3.环境依赖安装

yolov5 依赖包和环境一键安装

如果你的电脑里有多个requirements.txt文件,需要cd 到指定的文件夹下载之星以下命令。

pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/

 这时你打开你下载的YOLOv5的模型应该就能跑了。

三.运行YOLOv5

 打开detect.py

 

parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s.pt', help='model path or triton URL')
parser.add_argument('--source', type=str, default=ROOT / 'data/images', help='file/dir/URL/glob/screen/0(webcam)')

只需要注意这两个参数:如下图所以,正常情况是不需要动的

source :指向的是图片地址

weights:是权重参数

yolov5s.pt文件需要去官网下载  

 官网的界面往下翻

 点击你想下载的权重文件,这边可以直接下载yolov5s就可以了

 下载完直接放在最外边就可以了,如果读取不了,就用绝对路径。

 run 运行 

按照提示找到保存图片的地方

 

 

 至此,yolov5版的hello world就成功了

有遇到问题的小伙伴,欢迎评论区留言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/85565.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 wxPython 和 pymupdf进行 PDF 加密

PDF 文件是一种常见的文档格式,但有时候我们希望对敏感信息进行保护,以防止未经授权的访问。在本文中,我们将使用 Python 和 wxPython 库创建一个简单的图形用户界面(GUI)应用程序,用于对 PDF 文件进行加密…

Lua之Lua源文件批量转换为luac字节码文件

准备的工具:luac.exe CSDNhttps://mp.csdn.net/mp_download/manage/download/UpDetailed Unity版: using System; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine;public static class Bat…

前端开发中移动端开发需要注意什么? - 易智编译EaseEditing

在前端开发中,移动端开发具有一些独特的挑战和注意事项。以下是移动端开发时需要注意的一些重要点: 响应式设计: 移动设备的屏幕尺寸和分辨率多样,因此要采用响应式设计,确保你的网站或应用在各种设备上都能良好地呈…

基于学习交流社区的自动化测试实现

一 项目介绍 项目名称 项目展示链接: 学习交流社区 项目介绍 项目介绍: 学习交流社区是一个基于Spring的前后端分离的在线论坛系统。使用了MySQL数据库来存储相关信息,项目完成后使用Xshell将其部署到云服务器上。 前端页面: 前端…

实时云渲染的关键技术是什么

首先,我们需要了解实时云渲染的概念。实时云渲染是指将原本在本地电脑上进行的渲染工作转移到云端服务器上完成,并实时将处理结果返回给终端用户显示。这其实是一个合成词,由实时、云和渲染三个关键词组成。实时表示具有时效性和同步效果&…

09 数据库开发-MySQL

文章目录 1 数据库概述2 MySQL概述2.1 MySQL安装2.1.1 解压&添加环境变量2.1.2 初始化MySQL2.1.3 注册MySQL服务2.1.4 启动MySQL服务2.1.5 修改默认账户密码2.1.6 登录MySQL 2.2 卸载MySQL2.3 连接服务器上部署的数据库2.4 数据模型2.5 SQL简介2.5.1 SQL通用语法2.3.2 分类…

ES搭建集群

一、创建 elasticsearch-cluster 文件夹 创建 elasticsearch-7.8.0-cluster 文件夹,在内部复制三个 elasticsearch 服务。 然后每个文件目录中每个节点的 config/elasticsearch.yml 配置文件 node-1001 节点 #节点 1 的配置信息: #集群名称&#xff0…

用断言更好地实现替换重复出现的单词

断言是指对匹配到的文本位置有要求。也就是说,在有些情况下,我们对要匹配的文本的位置也有一定的要求。为了解决这个问题,正则中提供了一些结构,只用于匹配位置,而不是文本内容本身,这种结构就是断言。常见…

【踩坑日记】STM32 USART 串口与 FreeRTOS 冲突

文章目录 问题描述问题出现的环境问题解决过程第一步第二步第三步第四步第五步第六步第七步第八步 后续验证一些思考类似的问题后记 问题描述 笔者使用 FreeRTOS 创建了两个任务,使两颗 LED 以不同频率闪烁,但是在加入串口 USART 部分代码后&#xff0c…

【Linux】线程篇Ⅰ:线程和task_struct 执行流的理解、相关接口命令、线程异常、线程的私有和共享

线程Ⅰ 一、概念0. 线程1. 线程的优缺点2. 页框和页帧3. 页表的设计、虚拟地址的解析方式、以及块为什么设计成 4kb4. 对进程的一些整体理解 二、一些接口 和 命令1. ps -aL - - 查看执行流2. pthread_create 函数:创建线程3. ptread_join 线程等待4. ptread_exit 线…

简单计算器的实现(含转移表实现)

文章目录 计算器的一般实现使⽤函数指针数组的实现&#xff08;转移表&#xff09; 计算器的一般实现 通过函数的调用&#xff0c;实现加减乘除 # define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int Add(int x, int y) {return x y; }int Sub(int x, int y) {retur…

变频器和plc之间无线MODBUS通讯

在工业现场由PLC远程控制变频器的应用非常常见&#xff0c;如果挖沟布线不便或者变频器在移动设备上&#xff0c;那么采用无线通讯就是最佳方案。 这里我们选用最常用的三菱 FX2N PLC和三菱变频器为例&#xff0c;并结合日系plc专用无线通讯终端DTD435M来说明PLC与变频器之间的…

# Lua与C++交互(二)———— 交互

C 调用lua 基础调用 再来温习一下 myName “beauty girl” C想要获取myName的值&#xff0c;根据规则&#xff0c;它需要把myName压入栈中&#xff0c;这样lua就能看到&#xff1b;lua从堆栈中获取myName的值&#xff0c;此时栈顶为空&#xff1b;lua拿着myName去全局表中查…

C++进阶 多线程相关

本篇博客介绍&#xff1a; 主要介绍C中的一些线程操作以及线程库 C进阶 多线程相关 为什么要有线程库线程库介绍线程库常见的接口构造线程对象获取线程idjoin和deteach mutex库原子操作相关条件变量库总结 为什么要有线程库 我们在Linux中写多线程的时候使用的是Linux下提供的…

怎样做好数字营销呢?

2023 年&#xff0c;数字营销将随着新技术、趋势和消费者行为的不断发展而不断发展。要在 2023 年在数字营销领域取得成功&#xff0c;请考虑以下策略&#xff1a; 1.内容质量和个性化&#xff1a; 专注于制作与目标受众产生共鸣的高质量且相关的内容。 根据用户偏好、行为和…

【健康医疗】Axure用药提醒小程序原型图,健康管理用药助手原型模板

作品概况 页面数量&#xff1a;共 20 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;健康管理&#xff0c;用药助手 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本作品为「用药提醒」小程序原型图…

【VS】InstallerProjects.vsix下载 Microsoft Visual Studio Installer Projects (2022)

InstallerProjects.vsix 是微软官方提供的winform程序打包工具&#xff0c;但是国内下载安装有时候比较慢。虽然只有5m左右&#xff0c;但是国内就是下载不下来。现将官网地址和下载后的百度网盘共享地址展示如下&#xff1a;方便大家使用 官方地址&#xff1a;https://market…

[C++] string类常用接口的模拟实现

文章目录 1、前言2、遍历2.1 operator[ ]下标方式2.2 迭代器2.3 范围for2.4 c_str 3、容量相关3.1 size&#xff08;大小&#xff09;3.2 capacity&#xff08;容量&#xff09;3.3 empty&#xff08;判空&#xff09;3.4 clear&#xff08;清理&#xff09;3.5 reserve3.6 res…

生成模型 -- GAN

文章目录 1. 生成模型与判别模型1.1 生成模型 2. VAE3. GAN3.1 GAN-生成对抗网络3.2 GAN-生成对抗网络的训练3.2.1 判别模型的训练&#xff1a;3.2.2 生成网络的训练&#xff1a; 4. LeakyReLU5. GAN代码实例 1. 生成模型与判别模型 生成模型与判别模型 我们前面几章主要介绍了…

UE4 材质学习笔记

CheapContrast与CheapContrast_RGB都是提升对比度的&#xff0c;一个是一维输入&#xff0c;一个是三维输入&#xff0c;让亮的地方更亮&#xff0c;暗的地方更暗&#xff0c;不像power虽然也是提升对比度&#xff0c;但是使用过后的结果都是变暗或者最多不变&#xff08;值为1…