半小时搞定Yolov5安装配置及使用(详细过程)

Machine Learning
专栏收录该内容
¥9.90
¥99.00
14 篇文章


You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev.

在这里插入图片描述

之前在学习目标检测的时候,正值Yolov5发布,当时试用了下感觉还不错,最近有时间 使用最新的Yolov5源码,重新整理下安装配置到使用过程。。实践整个过程半小时即可搞定(前提已有Anaconda)

在这里插入图片描述

总体来看Yolov5的速度和效率较之前yolov4等系列都快,准确度更高。。

在下载配置Yolov5前,先要安装好Anaconda环境,可参考之前博文:最新Anaconda3的安装配置及使用教程(详细过程)

Yolov5官方doc:https://docs.ultralytics.com/quick-start/


1. 下载Yolov5

1.1 下载Yolov5源码:

在这里插入图片描述

直接git clone到本地工作目录,等待下载完成:

git clone https://github.com/ultralytics/yolov5

在这里插入图片描述
Yolov5代码目录架构:
在这里插入图片描述

1.2 下载Yolov5预训练模型:

既已经训练好的权重参数数据,可以直接使用,就不要在本机再做Traninig了

在这里插入图片描述

找到最新的release,点开下面的Assets下载(.pt文件就是pytorch的模型文件):
在这里插入图片描述
下载后放到Yolov5源码根目录,或新建个weights/目录中使用:
在这里插入图片描述

yolov5共有四种模型:yolov5s、yolov5m、yolov5l、yolov5x。

不同的预训练模型 ,效果和精度不一样,如下图

在这里插入图片描述

其中yolov5s目标检测速度最快,因为其网络参数最少,但相应的,检测效果相比是最差的

而yolov5x是检测效果最好的,参数最多,而时间上最慢。。

具体使用可以根据实际需要,例如如果目标检测应用场景比较看重速度,就用yolov5s.pt
在这里插入图片描述
其中P5/P6模型的差异:(模型后面不带6的就是P5)

  • YOLOv5-P5 models (same architecture as v4.0 release): 3 output layers P3, P4, P5 at strides 8, 16, 32, trained at --img 640
python detect.py --weights yolov5s.pt  # P5 models
                           yolov5m.pt
                           yolov5l.pt
                           yolov5x.pt
  • YOLOv5-P6 models: 4 output layers P3, P4, P5, P6 at strides 8, 16, 32, 64 trained at --img 1280
python detect.py --weights yolov5s6.pt  # P6 models
                           yolov5m6.pt
                           yolov5l6.pt
                           yolov5x6.pt

模型在GPU 下的效率测试数据图:
在这里插入图片描述

P5模型在Coco数据集的训练参数图:
在这里插入图片描述

2. 安装Yolov5

源码下完后,下面开始安装Yolov5所需模块,

直接pip install -r requirements.txt,等待安装完成即可

python -m pip install -r requirements.txt

在这里插入图片描述

如果没有cuda默认安装的pytorch-cpu版,如果有gpu可以安装gpu版:https://pytorch.org/get-started/locally/, 提升速度

在这里插入图片描述

可以打开看下requirements.txt的依赖包:
在这里插入图片描述

3. 测试Yolov5 :

就使用源码中的Detect.py即可:

 python detect.py --source 0  # webcam
                            file.jpg  # image 
                            file.mp4  # video
                            path/  # directory
                            path/*.jpg  # glob
                            'https://youtu.be/NUsoVlDFqZg'  # YouTube video
                            'rtsp://example.com/media.mp4'  # RTSP, RTMP, 

最新版还支持了直接通过Youtube 的url进行目标检测

3.1 Img图片测试

然后通过detect.py对图像进行目标检测:

python detect.py --source ./data/image/bus.jpg

detect.py默认使用同目录下的yolov5s.pt 模型,如果想用其他的,可以用–weights 进行指定。
在这里插入图片描述

然后可以在yolov5/runs/detect目录下找到模型输出结果的文件夹 :
在这里插入图片描述

这是源码自带的bus.jpg识别效果:
在这里插入图片描述
在网上随便找了一张图片,下载试了效果也不错,同时Yolov5处理该图片时间只用了0.3s

python detect.py --source ./data/image/people.jpg

在这里插入图片描述

3.2 Video视频测试

源码自带没有视频demo,这里就拿我老家的柯基狗崽子们做个测试,哈哈~
在这里插入图片描述
视频放到data目录中即可:
在这里插入图片描述
然后通过detect.py对视频进行目标检测:

python detect.py --source data/video/dog1.mp4

在这里插入图片描述
视频Detect就有些慢了,因为也是转换为图片放到模型处理的,我实测了19s 3M多的视频 用了97s
在这里插入图片描述

实际测试效果如下,
在这里插入图片描述

在识别有时候也会像下面错误识别为cat,如果用yolov5x.pt识别准确度会高一些,当然也可能因为小奶狗长的有点像小猫吧~~。。。

ang

当然识别率也和视频拍摄角度和清晰度、晃动程度有很大关系。。
比如用固定摄像头拍摄的图像,效果会好一些:

在这里插入图片描述

总体来看YOLOv5识别效果也不错了,后期可以对模型进行微调和优化 来提高某一类object的识别率。。。

3.3 摄像头测试

使用本机摄像头测试Yolov5实时检测:

python detect.py --source 0

在这里插入图片描述

就会弹出摄像头页面,识别到的物体会用不同颜色的方框进行标识,同时上面会显示名称和概率(置信度)

如果通过摄像头检测出识别的物体会打印出来:比如下面的person,cell phone等。
在这里插入图片描述

随便找了手边几样东西测试了下,效果还不错:
在这里插入图片描述

3.4 App测试

细心的小伙伴应该看到上面第一张图片App store的宣传照片,没错,IOS可以直接下载iDetection来通过手机摄像头实时测试/使用Yolo 目标检测:

在这里插入图片描述

App上面也是可选择四种Yolov5 model

随手选择模型打开摄像头即可实时检测:
在这里插入图片描述

在这里插入图片描述

至此 Yolov5的安装使用测试都已经OK了,根据初步印象来看,Yolov5的配置简单,并且识别效率和速度都是不错的。。

下面章节开始训练自己的数据和模型调优、源码分析等。。。

Yolov5自定义图片训练及测试(详细过程)


在这里插入图片描述

博主热门文章推荐:

一篇读懂系列:

LoRa Mesh系列:

网络安全系列:

嵌入式开发系列:

AI / 机器学习系列:


VIP Yolov5 安装详细教程及目标检测和识别 文章内容: 1.在 Anaconda 环境下,进行目标检测程序(Yolov5)的下载及安装,实现 Yolov5 的整体安装; 2.通过调用手机摄像头进行简单的目标检测和识别。 开通可读全文·7.6w 阅读·102 点赞·627 收藏 阅读全文

相关推荐

在CPU上跑yolov5(详细步骤+适合入门)

非常详细的步骤,适合新手,不要一天就可以跑通!

weixin_54721509的博客 5万+

YOLOv5环境配置全流程:Anaconda+PyTorch+CUDA+PyCharm

深度学习项目落地时,环境配置往往成为第一道门槛,尤其是涉及GPU加速的模型部署。虚拟环境与依赖管理工具能有效隔离不同项目的库版本冲突,而Anaconda正是这一场景下最常用的解决方案。基于Python 3.10与PyTorch 2.0.1的组合,配合CUDA 11.8可充分发挥NVIDIA显卡的算力;PyCharm作为IDE则提供断点调试与代码导航能力。无论是目标检测还是图像识别,稳定的运行环境都是模型复现与工程化的基础。本文以YOLOv5为例,完整演示从Anaconda安装、国内镜像源配置、虚拟环境创建,

weixin_34079177的博客 241

Yolov5自定义图片训练测试及模型调优(详细过程)

Yolov5自定义数据训练及测试1. 图像数据获取、标注2. 数据集划分及准备3. 配置训练参数,准备训练:3.1 修改data/训练配置xxx.yaml文件:3.2 修改models模型配置xxx.yaml文件4. 开始训练5. 测试训练后的模型: 1. 图像数据获取、标注 如果自定义训练自己的数据集,首先需要数据标注,至于数据来源可以是下载现有的开发数据集、拍照、爬虫等等。 如果是拍照、爬虫等获取的数据图片,需要进行数据标注,这个过程可以使用工具来做,但也需要一些手动操作 。。并且图片越多越好,如果

HowieXue 薛永浩的博客 10万+

zedbox 实现配置 yolov5

文章主要介绍了zedbox的配置过程,以及成功运行自己代码的示例

积极向上的mr.d的博客 1365

oracle p6 破解版下载,Primavera P6项目管理软件 16~17 图文详细安装教程(附下载)

Primavera P6 Professional项目管理软件结合了Oracle和Microsoft SQL Server关系数据库,是一款非常好用且功能强大的综合的项目管理软件(PPM) 解决方案,主要用于土建等方面的施工计划分析,具有进度时间安排与资源控制功能的多用户、多项目系统,支持多层项目分层结构、角色与技能导向的资源安排、记录实际数据、自定义视图以及自定义数据,本文主要为大家图文详细介绍...

weixin_33978451的博客 4881

5G LDPC编码实战:从校验矩阵到Matlab代码实现(附完整源码)

本文深入解析5G NR标准中的LDPC编码工程实现,聚焦于从3GPP协议中的QC-LDPC校验矩阵到高效Matlab代码的转换。文章详细阐述了基础矩阵(BG1/BG2)选择、提升因子确定以及利用双对角结构的快速编码算法,并提供了完整的、可优化的Matlab源码,旨在帮助通信算法工程师和开发者快速构建5G LDPC编码仿真原型,为硬件实现奠定基础。

table的专栏 371

从VBA到Python:探索CODE V API在MTF数据分析中的跨语言实践

本文详细介绍了如何从VBA转向Python,利用CODE V API实现MTF数据分析的高效工作流。通过Python的科学计算库和现代API设计,光学工程师可以大幅提升数据处理和可视化效率,实现自动化报告生成和性能优化。

weixin_29239661的博客 435

彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

renkai721的专栏 24万+

基于MATLAB的井筒多相流模拟

井筒多相流的模拟可以基于不同的数学模型和计算方法。其中,最常用的模型之一是多相流模型,它基于质量守恒、动量守恒和能量守恒等原理,描述了流体在井筒中的流动行为。对于井筒多相流的模拟和分析可以帮助我们理解和优化油气田开发过程中的流体行为,从而提高产量和效率。在本文中,我们将介绍如何使用MATLAB进行井筒多相流的模拟,并提供相应的源代码。需要注意的是,以上示例是一个简化的模拟,仅用于演示如何使用MATLAB进行井筒多相流模拟。实际应用中,我们需要考虑更多的物理过程和参数,并使用更复杂的数值方法和模型进行模拟。

AtdiHtml的博客 702

汽车行业新能源汽车数据爬虫:抓取新能源汽车数据,分析市场发展和技术创新

在汽车行业,新能源汽车市场的发展和技术创新是当前的热点话题。通过抓取新能源汽车的数据,我们可以深入了解市场趋势、消费者需求以及技术创新的方向。本文将详细介绍如何使用 Python 爬虫技术抓取新能源汽车数据,并对数据进行分析和可视化展示。

u014481728的博客 1139

《FreeRTOS 入门与实战》第20章:移植到 RISC-V 平台

处理器上下文保存/恢复机制中断处理与任务切换的协同时钟源配置(通常使用 Machine Timer)平台特定的汇编代码实现// 典型RISC-V移植文件结构FreeRTOS/├── Source/portable/[编译器]/RISC-V/│ ├── port.c // 关键移植接口│ ├── portASM.s // 汇编级处理│ └── portmacro.h // 架构宏定义。

2301_79143213的博客 443

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 最新Anaconda3的安装配置及使用教程(详细过程)
下一篇: Yolov5自定义图片训练测试及模型调优(详细过程)

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
HowieXue
HowieXue 领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
博客等级 码龄10年 17万+粉丝 108原创
评论 60
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HowieXue

求打赏~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值