从零开始安装并运行YOLOv5

news2024/9/22 9:42:42

从零开始安装并运行YOLOv5

该文主要实现用YOLOv5的基准检测为自己的视频片段渲染对象检测结果和边界框,本文大部分都是实操,帮助大家快速上手。

什么是YOLOv5?

​ yolo是一种用于对象检测的最先进的机器学习模型,yolo有不同的版本比如v5v8,如果你提供一个输入,它会给你返回一个输出,那么yolo的输入和输出是什么呢?yolo接受图像或者是一批图像作为其输入,在处理该图像后,它会在图像上放置边界框,它会告诉你在每个边界框中检测到的一个对象,这些边界框就是输出,它还识别每个边界框中的对象是什么,如下图。

image-20231122134112220

图片中有一个红色框标识了person,黄色框标识了backpack,简而言之,yolo就是一台将此类边框放在图片上的机器。但是yolo不会直接将这些边界框绘制或渲染到图像上,而是为每个边界框提供多个值,它为每个边界框提供xmin、xmax、ymin、ymax,标识该边界框的位置,第五个值label代表标签,其中有一个id,例如0标识person,27代表tie(领带)等等

因此,当id为0时,我们知道这里有一个人,然后我们就可以渲染此边界框时写入,最终值是置信度,告诉你整个结果的确定性。

image-20231122124914137

如何使用我们自己的视频在我们自己的计算机上使用YOLO?

​ 正式开始操作!!!

1、环境配置

​ 首先我们需要一个Python环境,这个过程不需要会Python编程,因为代码已经存在,我们只需要运行它即可。这里可以使用一个单独的Python环境或者Anaconda中的环境,本文用的是单独的Python环境,如果你没有Python环境或者有很多个Python环境,请看作者的另一篇文章,pip安装报错?彻底弄清Python软件包安装流程并解决安装错误,文中也会清楚的说明如何把python和pip加入到环境变量中,这也是环境配置中重要的一环。

2、下载YOLOv5

​ 下载网址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

点击Download即可下载,下载完成后解压。

image-20231122130539876

此时我们就得到了这样一个文件夹,如下图。

image-20231122130723162

3、安装必要的库

​ 首先我们要安装的库是pytorch,网址:PyTorch,下滑找到下图页面,我用的是Windows所以选择Windows,因为是单独的python环境所以选择pip,有显卡GPU的话可以选择CUDA对应版本,这里我选择CPU版本,选择好后,最下方就会出现终端指令,复制在终端运行即可。

image-20231122131013821

终端运行。

image-20231122131531527

在这里我出现了这个错误,这是因为我代理忘记关了,此时可以关闭代理或者让终端也处于代理模式,终端代理指令看这篇文章。

image-20231122131607567

处理好后再次执行命令,就能安装成功啦,如下图。

image-20231122132520248

4、开始使用

先切换到yolov5所在目录,如下图操作,你的yolov5放在哪你就去哪找,我这里放在e盘。

image-20231122132815772

然后,你可以放一个你想要输入的视频在该文件夹中,如下图。

image-20231122132927044

接着,终端执行以下命令。

python detect.py --source PUBG.mp4

此时提示没有某某模块。

image-20231122133103088

那就使用pip安装一下这个模块就行,如果提示没有别的模块也同理(这里注意如果安装yaml需要把模块名称写成pyyaml)。

image-20231122133127185

安装好后再次执行。

python detect.py --source PUBG.mp4

可以看到已经在输出了。

image-20231122133221033

最后进入到结果路径文件夹就能找到输出的视频。

image-20231122133305465

image-20231122133329444

image-20231122133341448

image-20231122133408163

其他版本yolo

我们在yolov5主页可以看到还有很多个版本的yolo,如下图。

image-20231122133608488

我们可以使用版本的yolo,例如指定yolov5s6,使用以下命令。

python detect.py --source PUBG.mp4 --weights yolov5s6.pt

可以使用版本的yolo,例如指定yolov5s6,使用以下命令。

python detect.py --source PUBG.mp4 --weights yolov5s6.pt

教程就到这里啦,希望大家能顺利运行。

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

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

相关文章

简于外 强于内,联想全新ThinkCentre M90a Pro Gen4以强劲性能开启商用新体验

近日,联想发布了最新一代商用台式一体机联想ThinkCentre M90a Pro Gen4。作为联想ThinkCentre M大师系列的旗舰产品,其配备了优质的显示屏,拥有强大的性能和稳定安全的特性,能够满足多样的工作场合,为商用一体机的行业…

3D电路板在线渲染案例

从概念上讲,这是有道理的,因为PCB印制电路板上的走线从一个连接到下一个连接的路线基本上是平面的。 然而,我们生活在一个 3 维世界中,能够以这种方式可视化电路以及相应的组件,对于设计过程很有帮助。本文将介绍KiCad中基本的3D查看功能,以及如何使用NSDT 3DConvert在线…

连线长光卫星:吉林一号的在线产品与生态体系!

我们在《连线长光卫星:探索卫星应用的更多可能!》一文中,通过直播连线嘉宾的分享,让大家了解到了长光卫星的生产基地、三次技术飞跃、亚米级影像产品、150公里大幅宽卫星、卫星在灾害监测及经济分析等多个场景中的应用。 这里我们…

探索分销小程序商城开发和搭建

在数字化时代,小程序已经成为了企业营销的重要工具。其中,分销小程序商城以其独特的优势,吸引了众多企业的关注。下面给大家介绍如何开发分销小程序商城,以及小程序分销搭建的流程。 首先,我们需要明确什么是分销小程…

【计算机网络】多路复用的三种方案

文章目录 1. selectselect函数select的工作特性select的缺点 2. pollpoll函数poll与select的对比 3. epollepoll的三个接口epoll的工作原理epoll的优点LT和ET模式epoll的应用场景 🔎Linux提供三种不同的多路转接(又称多路复用)的方案&#xf…

禁止安装新软件怎么设置(超详细图文介绍)

很多公司的网管向我们反应,总是有员工随意下载软件,并且不去正规网站、正规官网下载,导致公司的电脑总是又卡又慢,网管的工作很难开展。 此时就需要对公司安装软件的情况,进行统一管控了。 方法一:适合个人…

CodeWhisperer 一款好玩的 AI 插件

忙里抽闲,今天试了试 CodeWhisperer 这款插件,我是在 IDEA 中做的测试,下面是我的一些使用感想: 安装 CodeWhisperer 插件:在 IntelliJ IDEA 中,可以通过插件管理器安装 CodeWhisperer 插件,然…

UE 进阶篇一:动画系统

导语: 下面的动画部分功能比较全,可以参考这种实现方式,根据自己项目的颗粒度选择部分功能参考,我们商业项目动画部分也是这么实现的。 最后实现的效果如下: 最终效果 目录: ------------------------------------------- 文末有视频教程/工程地址链接 -------------…

log4j2远程代码执行漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

漏洞原理 啥是log4j2? log4j2是apache下的java应用常见的开源日志库,是一个就Java的日志记录工具。在log4j框架的基础上进行了改进,并引入了丰富的特性,可以控制日志信息输送的目的地为控制台、文件、GUI组建等,被应用于业务系…

Pycharm run 输出界面控制一行能够输出的元素个数

Pycharm run 输出界面控制一行能够输出的元素个数 今天遇到了一个问题,当我们在 Pycharm 中打印输出数组时,如果数组一行的元素个数过多,那么我们在打印时就会出现以下问题。 代码如下: import numpy as npx np.array([[0., 0.7…

jQuery【菜单功能、淡入淡出轮播图(上)、淡入淡出轮播图(下)、折叠面板】(五)-全面详解(学习总结---从入门到深化)

目录 菜单功能 淡入淡出轮播图(上) 淡入淡出轮播图(下) 折叠面板 菜单功能 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><…

某高品质房产企业:借助NineData平台,统一数据库访问权限,保障业务安全

该企业是中国领先的优质房产品开发及生活综合服务供应商。在 2022 年取得了亮眼的业绩表现&#xff0c;销售额市场占有率跻身全国前五。业务涵盖房产开发、房产代建、城市更新、科技装修等多个领域。 2023 年&#xff0c;该企业和玖章算术&#xff08;浙江&#xff09;科技有限…

01-论文阅读-Deep learning for anomaly detection in log data: a survey

01-论文阅读-Deep learning for anomaly detection in log data: a survey 文章目录 01-论文阅读-Deep learning for anomaly detection in log data: a survey摘要I 介绍II 背景A 初步定义B 挑战 III 调查方法A 搜索策略B 审查的功能 IV 调查结果A 文献计量学B 深度学习技术C …

electron入门(一)环境搭建,实现样例

1、首先需要安装git和node&#xff0c;配置环境变量&#xff0c;确保npm和git命令可用 2、 然后安装依赖 npm install -g electronnpm install -g electron-forgenpm install -g electron-prebuilt-compile3、 创建样例工程 electron-forge init my-new-app # 我这里碰见报错…

Spring框架学习 -- 创建与使用

目录 (1) 创建spring 项目 ① 创建maven项目 ②添加spring框架支持 ③ 添加启动项 (2) 创建 Bean对象 (3) 将Bean注入到容器 (4) 获取Bean对象 (5) 注意事项 (6) Spring的创建和使用流程图 创作不易多多支持 (1) 创建spring 项目 首先我们使用的开发工具为idea 专业版…

【vue+eltable】修改表格滚动条样式

<style lang"scss" scoped> ::v-deep .el-table__body-wrapper::-webkit-scrollbar {width: 10px; /*纵向滚动条的宽度*/height: 10px; /*横向滚动条的高度*/ } /*定义滚动条轨道 内阴影圆角*/ ::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {bo…

ZKP11.1 From Practice To Theory

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 11: From Practice to Theory (Guest Lecturer: Alex Lombardi) 11.1 The Feasibility of Interactive ZK SMPC: semi-honest protocol ZKP malicious protocol Parties use ZKP to prove that they follow the protocol T…

探索实人认证API:保障在线交互安全的关键一步

前言 在数字化时代&#xff0c;随着人们生活的日益数字化&#xff0c;各种在线服务的普及&#xff0c;安全性成为用户体验的至关重要的一环。特别是在金融、电商、社交等领域&#xff0c;确保用户身份的真实性显得尤为重要。而实人认证API作为一种先进的身份验证技术&#xff…

基于C#实现AC自动机算法

我要检查一篇文章中是否有某些敏感词&#xff0c;这其实就是多模式匹配的问题。当然你也可以用 KMP 算法求出&#xff0c;那么它的时间复杂度为 O(c*(mn))&#xff0c;c&#xff1a;为模式串的个数。m&#xff1a;为模式串的长度,n:为正文的长度&#xff0c;那么这个复杂度就不…

设计模式篇---外观模式

文章目录 概念结构实例总结 概念 外观模式&#xff1a;为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。 外观模式引入了一个新的外观类&#xff0c;它为多个业务类的调用提供了一个统一的入口。主要优点…