从零开始安装并运行YOLOv5

从零开始安装并运行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.mzph.cn/news/159535.shtml

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

相关文章

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …

HTML5+CSS3+JS小实例:霁青+翠蓝的Tabbar动画特效

实例:霁青+翠蓝的Tabbar动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta nam…

提升效率必备:电脑文件批量重命名的实用技巧大放送

在日常工作中&#xff0c;电脑文件的重命名是一项常见的操作。当要处理大量的文件&#xff0c;并且要按照一定的规则或逻辑进行重命名时&#xff0c;手动一个一个重命名显然是非常低效的。掌握批量重命名的技巧可提高工作效率。现在一起来看云炫文件管理器如何批量重命名电脑上…

CmakeLists编译的动态库.so移动到其他位置后,提示找不到该库的依赖库解决办法

主要问题&#xff1a; 最近在搞海康SDK调用相机&#xff0c;发现在linux下一直调用不起来相机&#xff0c;总是提示error code&#xff1a;29&#xff0c;注册失败&#xff0c;重新编译优惠存在找不到依赖库的问题。 1.异常 CmakeLists编译的动态库.so移动到其他位置后&#…

Python Pandas简介及基础教程+实战示例。

文章目录 前言一、Pandas简介二、Python Pandas的使用关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 Pan…

队列:C++实现

引言&#xff1a; 在C中实现队列是一种常见的数据结构操作。队列是一种先进先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;类似于排队买票或者排队等待服务的场景。在本文中&#xff0c;我们将使用C语言来实现一个简单的队列数据结构。 技术实现&#xff1a; 首先&a…

道可云元宇宙每日资讯|第四届元宇宙与人工智能产业生态大会在朝阳区举行

道可云元宇宙每日简报&#xff08;2023年11月22日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 第四届元宇宙与人工智能产业生态大会在朝阳区举行 近日&#xff0c;第四届元宇宙与人工智能产业生态大会在朝阳区举行。大会由北京市朝阳区政府主办。会上&#xff…

webpack项目 index.html 根据不同的变量引入不同的js

项目 webpack搭建 问题&#xff1a;在入口文件index.html中根据不同的变量引入不同的js 使用插件HtmlWebpackPlugin HtmlWebpackPlugin 项目里用来生成静态文件的 这个插件每个项目基本都要用到的&#xff0c;只要全局搜一下位置 根据配置文件的指令找到执行的文件&#xff0…

海外应用速度访问慢?试试这个技术解决方案

在数字化转型的时代&#xff0c;企业需要高效、稳定、安全的网络连接来支撑全球化业务的拓展。然而&#xff0c;在进行海外应用访问时&#xff0c;经常会遇到访问速度慢的问题&#xff0c;因为跨国界的网络通信往往存在延迟和带宽限制等问题。在过去&#xff0c;企业通常会使用…

洛谷 P2294 [HNOI2005] 狡猾的商人

[HNOI2005] 狡猾的商人 题目描述 刁姹接到一个任务&#xff0c;为税务部门调查一位商人的账本&#xff0c;看看账本是不是伪造的。账本上记录了 n n n 个月以来的收入情况&#xff0c;其中第 i i i 个月的收入额为 a i a_i ai​&#xff0c; i 1 , 2 , … , n − 1 , n i…

Thinkphp6 模型 指定字段自增的方法

tp6要使用Db类必须使用门面方式&#xff08;think\facade\Db&#xff09;调用。 use think\facade\Db; 然后&#xff0c;用Db::raw就可以实现指定字段自增了。

46.全排列

原题链接&#xff1a;46.全排列 思路&#xff1a; 主要是和组合的区别&#xff0c;排列是可以从头使用元素 但是依旧是不允许有重复元素使用&#xff0c;所以依旧是需要进行去重 全代码&#xff1a; class Solution { public:vector<vector<int>> result;vector…

Doris动态分区(十四)

动态分区是在 Doris 0.12 版本中引入的新功能。旨在对表级别的分区实现生命周期管理&#xff08;TTL&#xff09;&#xff0c;减少用户的使用负担。 目前实现了动态添加分区及动态删除分区的功能。动态分区只支持 Range 分区。 原理 在某些使用场景下&#xff0c;用户会将表…

PHP while 和 do-while 循环 学习资料

PHP while 和 do-while 循环 在 PHP 中&#xff0c;while 和 do-while 是两种常用的循环结构&#xff0c;用于重复执行一段代码&#xff0c;直到满足指定条件为止。以下是对这两种循环的介绍和示例&#xff1a; while 循环 while 循环用于在指定条件为真时重复执行代码块。循…

计算机基础知识——字,字节,进制,short,byte等

目录 进制位&#xff0c;字节&#xff0c;字Byte&#xff0c;ShortByteBuf有符号数和无符号数 进制 HEX&#xff0c;Hexadecimal &#xff0c;十六进制。 DEC&#xff0c;Decimal &#xff0c;十进制。 OCT&#xff0c;Octal &#xff0c;八进制。 BIN&#xff0c;Binary &a…

【Android】声浪 UI 效果并附上详细代码

声浪效果是基于第三方实现的。 https://github.com/xfans/VoiceWaveView 将三方的 Kotlin 代码转 java 使用&#xff08;按照他的readme 进行依赖&#xff0c;好像少了点东西&#xff0c;至少本项目跑不起来&#xff09; 声浪效果在android 8 以上都是比较好的&#xff0c;不会…

外卖配送小程序商城的效果如何

线下餐饮店非常多&#xff0c;主要以同城生意为主&#xff0c;在线上电商和外卖平台的冲击下&#xff0c;传统商家仅通过传统方式经营很难宣传拓客及转化等&#xff0c;线上是必要的渠道&#xff0c;但入驻第三方平台又会有各种困扰&#xff0c;抽成/佣金/流量费/激烈竞争等。 …

【云原生-Kurbernetes篇】 玩转K8S不得不会的HELM

Helm 一、Helm1.1 使用背景1.2 Helm简介1.3 Helm的几个概念1.4 helm2 和 helm3 的区别1.5 chart包的关键组成 二、Helm相关命令2.1 应用管理操作2.2 Helm repository仓库管理命令2.2 Helm chart包管理命令2.3 Helm release(实例) 管理命令2.4 Helm私有仓库管理命令 三、部署He…

国外Twilio 发送sms短信

private static final String userName "Account SID"; private static final String password "Auth Token"; private String fromPhone; //你的手机号&#xff08;平台购买的手机号&#xff09;/*** 发送短信* */public static Map sms(String toPh…

Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录

目录 1. 常用命令 2. vim一般使用 3. SSH介绍 4. ssh密钥登录 1. 常用命令 1&#xff09;# 与 $ 提示的区别 # 表示用户有root权限&#xff0c;一般的以root用户登录提示符为#&#xff0c; $提示符表示用户为普通用户 2&#xff09;ifconfig 查看ip地址 eno1: 代表由主板…