Yolov5的安装配置与使用

2023-11-04

在下载配置Yolov5前,先要安装好Anaconda环境,若有需要可参考:https://blog.csdn.net/qq_54496810/article/details/121869094

一、下载Yolov5

1、下载Yolov5源码

这里有两种方式进行下载:
①Yolov5 Github地址:https://github.com/ultralytics/yolov5
点击链接后,进入以下界面,可以点击Code->Download ZIP下载yolov5
在这里插入图片描述
②也可以Win+R打开命令行窗口,直接git clone到本地工作目录,等待下载完成:

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

在这里插入图片描述
由于未安装git,未成功下载,因此应先到git官网下载windows版本的git:http://git-scm.com/downloads
下载完成,点击安装,选择自己的安装位置,一路next即可(注意安装路径,后面要用到)
在这里插入图片描述
这时不要着急,还要进行环境变量配置

找到git安装路径中bin的位置,我这里是(自定义安装的路径中查找)D:\Program Files\Git\bin;另外找git安装路径中git-core的位置,如:D:\Program Files\Git\mingw64\libexec\git-core
在这里插入图片描述
在这里插入图片描述
接着右键 “计算机”->“属性”->“高级系统设置”->“环境变量”->在下方的“系统变量”中找到“path”->选中“path”并选择“编辑”->将找到的bin和git-core路径复制到其中->保存并退出``
在这里插入图片描述
现在就可以尽情使用git命令了

再次下载:

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

在这里插入图片描述
下载完成后,进入下载路径,可以看见Yolov5代码目录架构:
在这里插入图片描述

2、 下载Yolov5预训练模型

下载地址:https://github.com/ultralytics/yolov5/releases
在这里插入图片描述
进入以下界面后,往下浏览,找到最新的release,点开下面的Assets下载模型(.pt文件就是pytorch的模型文件)
yolov5共有四种模型:yolov5syolov5myolov5lyolov5x,我们下载的也是这四个(下载过程比较慢,请耐心等待)
在这里插入图片描述
不同的预训练模型 ,效果和精度不一样,如下图:
在这里插入图片描述
其中yolov5s目标检测速度最快,因为其网络参数最少,但相应的,检测效果相比是最差的;而yolov5x是检测效果最好的,参数最多,而时间上最慢
在这里插入图片描述
具体使用可以根据实际需要,例如如果目标检测应用场景比较看重速度,就用yolov5s.pt
下载后将四个.pt文件放到Yolov5源码根目录下
在这里插入图片描述

二、安装Yolov5

源码下完后,下面开始安装Yolov5所需模块:
Win+R打开命令行窗口,输入以下命令,等待安装完成即可

python -m pip install -r requirements.txt

在这里插入图片描述
安装的也比较慢,请耐心等待
在这里插入图片描述
出现以上界面,安装成功。

三、测试Yolov5

就使用源码中的Detect.py即可进行测试

1、Img图片测试

输入以下命令通过detect.py对图像进行目标检测:

python detect.py --source ./data/images/bus.jpg
python detect.py --source ./data/images/zidane.jpg

(其中bus.jpg和zidane.jpg为源码自有的测试图片)
在这里插入图片描述
detect.py默认使用同目录下的 yolov5s.pt 模型,如果想用其他的,可以用–weights进行指定
例如:

python detect.py --source ./data/images/bus.jpg --weights yolov5x.pt

然后就可以在yolov5/runs/detect目录下找到模型输出结果的文件夹
在这里插入图片描述
这是源码自带的bus.jpg识别效果:
在这里插入图片描述
zidane.jpg识别效果如下:
在这里插入图片描述
随手拍了一张图片,测试了一下效果也不错,同时Yolov5处理该图片时间只用了0.187s

python detect.py --source people.jpg

在这里插入图片描述
同样可以在yolov5/runs/detect目录下找到模型输出结果的文件夹exp5,里面保存有测试后的图片
在这里插入图片描述
识别的效果如下:
在这里插入图片描述

2、Video视频测试

在路径中放一段视频:
在这里插入图片描述
然后通过detect.py对视频进行目标检测:

python detect.py --source data/images/people.mp4

在这里插入图片描述
在这里插入图片描述
视频Detect就有些慢了,因为也是把视频转换为图片放到模型里再进行处理的

我们也可以在路径下找到目标检测后生成的视频:
在这里插入图片描述
视频效果如下:
在这里插入图片描述

3、摄像头测试

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

python detect.py --source 0

在这里插入图片描述
就会弹出摄像头页面,识别到的物体会用不同颜色的方框进行标识,同时上面会显示名称和概率(置信度)
通过摄像头检测出识别的物体会打印出来:比如下面的person等
在这里插入图片描述
其中一截摄像截图如下:
在这里插入图片描述
至此,Yolov5的使用到此结束。

三、小结

目标检测在生活中经常用到,比如人脸检测、车辆检测、自动驾驶等,随着技术的进步,目标检测的学习也越来越深入。通过本次Yolov5的安装与使用,根据初步印象来看,Yolov5的配置简单,并且对目标检测的识别效率和速度都是很不错的,当然那些模型都是已经训练好的,要是感兴趣的话也可以训练自己的数据集以及进行源码分析。

四、参考链接

https://blog.csdn.net/HowieXue/article/details/118445766

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yolov5的安装配置与使用 的相关文章

  • 尝试配置 GIT 时 Eclipse 没有响应

    Windows 10 专业版 64 位SSD金士顿 i5 4690Eclipse 版本 全部工作空间 空问题 每次我尝试配置 TEAM gt GIT gt 配置或尝试导入 创建本地 远程 git 时 Eclipse 都会冻结 直到我强制用任
  • 如何停用 Xcode git 功能? (删除 git 集成)

    我的 Xcode 项目位于 git 上 但我不喜欢 Xcode git 集成 有时 我有来自 Xcode 的错误 https stackoverflow com questions 7388560 error fatal not a git
  • 如何恢复已删除的远程分支

    我们的远程主分支被删除 我有主存储库的本地副本 但它已经过时了 我可以通过将最后一个已知的提交哈希值插入 URL 来查看 github 中的分支 但未能成功恢复它 我尝试了几个步骤来恢复它 git reset hard 16deddc05c
  • Git 中的数据完整性?

    我现在已经多次听到提到 Git 提供数据完整性 但是 这是什么意思 据我所知 git 中的所有对象都是使用 SHA 1 校验和来访问的 并且该校验和是根据文件的内容计算的 这意味着如果文件发生更改 您将得到不同的校验和 但这如何提供数据完整
  • GitPython 检查 git pull 是否更改了本地文件

    使用 GitPython 我只想在拉取后本地文件发生更改时才调用函数 例如 如果我在一台单独的计算机上进行推送 然后拉第一台计算机 它按预期工作 但不提供任何输出 理想的输出是已更改的文件列表 或者只是告诉我拉动是否有错误 没有拉动 因为分
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • Github 页面 - 禁用除单个站点之外的所有站点的自定义域重定向?

    I ve been using github pages since a long time and use the custom domain redirection feature to redirect my user website
  • Git - 使用多个遥控器来跟踪同一分支和服务器

    我正在尝试在我与其他人共享的远程服务器上设置 Git 存储库 唯一的问题是 它位于我的局域网中 而我并不总是属于其中 我希望能够有 2 个遥控器使用同一个分支 全部同步 几乎像符号链接 但带有配置 更困难的是 如果我尝试在 LAN 中使用外
  • 为什么我们应该在 git commit 命令中使用 -m ?

    git commit m my commit 我们使用此命令将提交添加到我的 Github 存储库 这个 m 是什么意思 Do a git commit help m是为了留言 这将出现在您的提交历史记录中 例子 git commit m
  • gitbranch --merged 使用管道命令

    有没有办法达到相当于 git branch merged 使用 git 管道命令 我知道有类似的命令git for each ref它为您提供提交哈希值及其相应的引用名称 是否有一个命令可以判断某个提交是否可以从另一个提交访问 这基本上就是
  • 使用 svn 元数据克隆 git-svn 存储库

    我已经克隆了我的主存储库git svn clone svn url trunk stdlayout 现在我想使用 svn 元数据克隆存储库 这样我就能够git svn rebase它到主服务器 注意 我不想在两个之间推送提交git svn克
  • 为什么我无法推送这个最新的 Git 子树?

    我将 Git 子树与我正在开发的几个项目一起使用 以便在它们之间共享一些基本代码 基本代码经常更新 升级可能发生在任何项目中 最终所有项目都会更新 我遇到了一个问题 git 报告我的子树是最新的 但推送被拒绝 例如 git subtree
  • 在 Jenkins 项目中加载私有存储库子模块

    我目前正试图让詹金斯 克隆项目及其子模块 使用部署密钥配置为 Github 私有存储库验证 Jenkins CI https stackoverflow com questions 5212304 authenticate jenkins
  • 如何使用 Mercurial 进行原始结帐?

    如何将工作目录状态恢复到存储库的新克隆的状态 显然我可以克隆我的存储库 但这似乎有点野蛮 使用 git 我会这样做 git clean xdn dry run to see what I m about to destroy git cle
  • Github 操作错误:bash:第 3 行:npm:找不到命令

    我正在尝试通过 ssh 将 Nodejs 应用程序从 github 部署到远程 ubuntu 服务器 这是我的 main yml name Node Github CI on push branches master jobs deploy
  • 有没有办法强制 git merge 始终使用外部合并工具?

    有没有一种方法可以配置 git merge 使冲突解决始终通过外部合并工具进行 我正在编写语义合并的配置 并且存在这样的情况 git 错误地处理了这些情况 但可以通过语义合并正确解决 两个开发人员在同一文件的两个不同位置添加了相同的方法 问
  • 如何编辑 git 中任何提交的提交消息? [复制]

    这个问题在这里已经有答案了 假设我有 3 个未推送的提交 现在我想更改第一次或第二次提交的提交消息 更改第三次提交的提交消息很简单 使用git commit amend 怎么做 回到子问题 是否有一个git commit amend对于先前
  • git repo 的 tar/untar 后,gitk 显示“本地未提交的更改,未签入索引”

    我有一个包含小型 git 存储库的目录 git status 和 gitk all 显示没有未提交的更改 如果我使用以下命令 tar 压缩该目录 tar czf git repo tar gz git repo 然后将此 tar 文件传输到
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下

随机推荐

  • 一起读懂《近距离自组网信息服务管理规定(征求意见稿)》

    6月6日 国家互联网信息办公室 国家互联网信息办公室发布了 近距离自组网信息服务管理规定 征求意见稿 并向社会公开征求意见 下面 让我们一起聊一聊近距离自组网信息服务 01 近距离自组网和近距离自组网信息服务 管理规定上对近距离自组网信息服
  • 分页存储管理的页表项长度问题

    初次遇到这个式子我疑问颇多 页表项长度是啥 和地址有啥关系 页表项地址 页表起始地址 页号 页表项长度 页表项长度就是就是页表项在内存中所占字节数 因为计算机根本上是按字节为单位来存储信息的 但是页表项可能大于一个字节 又因为页表想长度是固
  • MapX搜索图元与数据绑定总结

    Item i 是取得集合中的第i个索引对象 GetFind Search 搜索相应图层上的图元 得到keyID后可以根据此id得到相应的图元 fts AddByID ft GetFeatureByID 上面的三个方法都可以根据mapx本身的
  • 等长布线总结

    等长线是为了减少信号相对延时 常用在高速存储器的地址和数据线上 简单来说 等长线的作用 就是让信号传输的速度一致 I2C总线无需画等长线 虽然i2C信号与内存一样都是有相对时序要求 但由于信号频率较低 此时由导线长度引起的延时不足以影响正常
  • 面试专题 - Zookeeper

    因为zookeeper 后面简称zk 是一个功能比较优秀且强大的分布式组件 使用场景也很多 很受欢迎 所以相对来说关于zk的问题也就很多 下面总结归纳一些常见的面试问题 1 请简述ZooKeeper的选举机制 2 客户端对zk的server
  • 有关循环Random随机数重复的解决方案

    在做项目时 我逻辑服循环里面使用random时发现会随机出重复数 我在网上查了资料 然后使用的方法 float objRandomCount new Random Guid NewGuid GetHashCode Next 0 num 可以
  • 下拉列表框组件Spinner 简述及其简单应用

    下拉列表框组件Spinner 提供一系列下拉选项供用户选择 右下角有一个F角箭头 点击后显示出选项 下拉列表框组件Spinner 的简单应用 要求 建立一个下拉列表并填充内容 在下列列表的右边建立一个按钮 点击时显示所选中的内容 一 在ac
  • 【华为OD机试】分班【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 幼儿园两个班的小朋友在排队时混在了一起 每位小朋友都知道自己是否与前面一位小朋友是否同班 请你帮忙把同班的小朋友找出来 小朋友的编号为整数 与前一位小朋友同班用Y表示
  • 国产操作系统迎来新机遇 统一应用商店成软肋

    今天上午 中国工程院院士倪光南在某桌面操作系统发布会上表示 政府欲采购国产操作系统代替Windows 8系统 意味着政府和央企等部门将会大量使用国产操作系统 会给国内相关企业带来新的发展机遇 据悉 目前操作系统领域几乎已被国外科技公司所垄断
  • python菜鸟教程 pdf下载-Python实战-从菜鸟到大牛的进阶之路 pdf完整版

    Python是一种解释型 面向对象 动态数据类型的高级程序设计语言 现在它已经成为最受欢迎的程序设计语言之一 本专题收录了Python编程实战教程 分享给大家 适用人群 Python 进阶学习者 Web 开发程序员 运维人员 有志于从事互联
  • C++ day6

    将栈和队列封装成模板类 栈 include
  • 控制算法之PID算法

    控制算法之PID算法 从入门到理解到应用 一发入魂 云 社区 腾讯云 tencent com
  • 数据库基础(面试常见题)

    数据库基础 面试常见题 一 数据库基础 1 数据抽象 物理抽象 概念抽象 视图级抽象 内模式 模式 外模式2 SQL语言包括数据定义 数据操纵 Data Manipulation 数据控制 Data Control 数据定义 Create
  • dedecms单独调用指定文章

    dede arclist idlist 指定ID limit 0 1 a href field title a dede arclist
  • 过滤器Filter,登陆验证,过滤敏感词,动态代理,Listener

    Filter 过滤器 概念 生活中的过滤器 净水器 空气净化器 土匪 web中的过滤器 当访问服务器的资源时 过滤器可以将请求拦截下来 完成一些特殊的功能 过滤器的作用 一般用于完成通用的操作 如 登录验证 统一编码处理 敏感字符过滤 快速
  • 前端npm和yarn更换国内淘宝镜像

    由于npm和yarn自带镜像是国外的 下载各种包比较慢 针对国内开发的小伙伴 如果没有科学上网的话 通常都会换一下镜像源 让开发下载各种包飞起来 以下是配置国内 淘宝镜像 提升下载速度的具体方法 赶紧收藏起来吧 关注 技术宅小Y 获取更多新
  • 如何调试JavaScript代码

    1 通过alert 来查看程序中的变量 由此也可以推断出程序跑到哪里就报错 用法 alert 1 弹出窗口显示1 var a 2 alert a a 弹出窗口显示a 2 2 添加debugger来调试javaScript 比较推荐这个 实用
  • PCB走线宽度

    结论 1A电流 至少10mil 建议15mil 2A电流 至少30mil 建议50mil 3A电流 至少60mil 建议100mil 大于3A 建议采用铺铜或开窗的形式 小于10mil线宽 建议电流小于0 1A
  • 如果有一条告警流量你会怎么分析,请详细说明?

    先要判断攻击有没有成功 是攻击成功的告警 还是攻击不成功但是真实的攻击 看规则的告警的名称 分析攻击源IP和目的IP 如果攻击源IP是内网的话 则可能为有关键特征的业务系统 被判为恶意攻击 内网可能沦陷 已被入侵 可能是设备使用盗版软件或者
  • Yolov5的安装配置与使用

    文章目录 一 下载Yolov5 1 下载Yolov5源码 2 下载Yolov5预训练模型 二 安装Yolov5 三 测试Yolov5 1 Img图片测试 2 Video视频测试 3 摄像头测试 三 小结 四 参考链接 在下载配置Yolov5