使用yolov5实现目标检测简单案例(测试图片)

news2024/11/17 1:25:43

一、前置

测试这个案例之前需要安装一些前置的东西,如果已经安装的可以忽略,下面我给出我跟着做的一些很好的博客提供大家参考,因为我们主要目的还是实现yolov5的目标检测。

1、安装nvidia显卡驱动

可以参考:【Windows】安装NVIDIA驱动 / 更新驱动_windows 更新nvidia驱动-CSDN博客

2、安装cuda和cudnn

可以参考:下载cuda和cudnn(11.8版本)_cudnn下载-CSDN博客

关于切换版本:下载cuda和cudnn(11.8版本)_cudnn下载-CSDN博客

注意!注意!注意!

记得安装cuda注意版本问题,后面会遇到和Pytorch版本一致问题,我下的是cuda是12.4

 看版本问题可以查看官网:Start Locally | PyTorch

3、安装Anaconda

可以参考:Anaconda安装-超详细版(2023)_anaconda安装哪个版本好-CSDN博客

4、安装Pytorch

可以先参考下面那些博客!!!

创建虚拟环境:

conda create -n yolov5 python=3.12.4

yolov5为创建的虚拟环境名,python版本需要和自己的对应。

我的python环境为:

 安装成功后激活yolov5环境:

conda activate yolov5

在所创建的环境下安装pytorch:

注意去官网查看自己需要安装的版本:Start Locally | PyTorch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

可以参考:【超详细教程】2024最新Pytorch安装教程(同时讲解安装CPU和GPU版本)-CSDN博客

5、为你的pychram配置上pytorch

在安装anaconda之前我删掉了python,所以还需要在自己创建的pytorch环境下编码,再次配置pychram,可以参考下面几篇,然后再结合自己的一些思考配置就差不多了。

pycharm配置pytorch_python_huanglianghuang-华为云开发者空间

在PyCharm的项目中配置自己想要的环境的操作步骤(以PyTorch为例)_pycharm 工程内设置环境-CSDN博客

Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0704)_anaconda pytorch-CSDN博客pytorch超详细安装教程,Anaconda、PyTorch和PyCharm整套安装流程_pytorch安装-CSDN博客Anaconda安装及配置+pytorch深度学习环境(2024复旦计算机工作站0704)_anaconda pytorch-CSDN博客

二、拿到yolov5项目

这里我用的是3.1版本的,可以去GitHub官网下载:

Release v3.1 - Bug Fixes and Performance Improvements · ultralytics/yolov5 · GitHub

移到最下面,找到:

下载这两个,下载好yolov5s.pt,yolov5m.pt,yolov5l.pt,yolov5x.pt这些权重文件,并放置在yolov5代码里面weights文件夹目录下。

如果想要新版本的yolov5代码,也可以去:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

记得权重文件下载对应版本界面里的权重文件,权重文件版本需要和yolov5代码版本对应,不然后续会报错。

三、安装测试

打开anaconda的命令行,在yolov5的虚拟环境下,这个yolov5环境是我之前配置pytorch的。

1、激活虚拟环境
conda activate yolov5

接下来都是在这个命令行操作了。

2、进入yolo代码目录

3、安装所需库

在安装之前先配置使用清华镜像源:

在yolov5路径下执行:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

 安装所需要的依赖:cv2,tqdm,matplotlib,yaml,scipy

执行下面指令:

pip install opencv-python
pip install tqdm
pip install matplotlib
conda install PyYAML
pip install scipy

在使用指令下载yaml的时候,如果使用下面这个指令会出现这样子的报错

可以参考:[已解决]ModuleNotFoundError: No module named ‘yaml‘_modulenotfounderror: no module named 'yaml-CSDN博客`

4、测试图片

使用指令:

python detect.py --source ./inference/images/ --weights weights/yolov5s.pt --conf 0.4

在./inference/images/这个目录下有预处理的图片,可以去测试,没有的可以自己寻找数据集添加。

如果前面那些库没下载,可能会出现下面这些问题:

ModuleNotFoundError: No module named 'cv2'

缺哪个就会报错哪个库。

执行指令后:

在你的.\inference\output目录下就会出现处理后的图片。

下面我再换一个权重文件:

python detect.py --source ./inference/images/ --weights weights/yolov5x.pt --conf 0.4

处理前的图片:

处理后:

附:图片为随便找的网图,侵权请联系删除

5、切换目前版本的yolov5代码

官网:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

然后再去下载几个权重文件,与上面一样,将权重文件放在weights文件夹里面

6、再次测试

python detect.py --source ./data/images/ --weights weights/yolov5s.pt --conf 0.4

这次的提供的图片再data目录下的images文件夹

运行结束:

处理后图片如下:

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

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

相关文章

从ARM的最强超大核处理器来看:Arm Core里都有啥?

目录 L1 instruction memory systemInstruction decode -指令译码Register rename -寄存器重命名Instruction issue - 指令发射Integer execute - 整数执行Vector execute - 向量执行Advanced SIMD and floating-point support - 高级 SIMD 和浮点支持Cryptographic Extension …

在亚马逊云科技上部署开源大模型并利用RAG和LangChain开发生成式AI应用

项目简介: 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践,并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技上利用Sag…

CMake 的快速应用

一,什么是CMake? 我们在学习了C 和 C后, 知道从c/c代码,变成可执行文件的过程如下: 如果使用的IDE开发,例如vs 2017,QT,等,那么一般IDE会帮你生成可执行文件,开发者一键点击&#…

Wandb使用指南

安装: pip install wandb 登录 wanbd login 在terminal中操作查看你的API key并粘贴回车进行授权(https://wandb.ai/authorize) 设置离线模式/在线模式 设置为offline会在无网络(内网)的时候使用,常用于de…

如何运用独特的产业运营体系打造一流的数字媒体产业园

如何运用独特的产业运营体系打造一流的数字媒体产业园 2024-08-15 17:37树莓集团 在数字经济蓬勃发展的今天,数字媒体产业作为其中的重要一环,正展现出巨大的潜力和活力。而如何运用独特的产业运营体系,打造一流的数字媒体产业园&#xff0…

SQLAlchemy 学习笔记

通信类型:AF_INET 协议家族一般是表示TCP通信的SOC_STREAM和UDP通信的SOCK_DGRAM。对于TCP通信,建立socket连接,: s socket.socket(socket.AF_INET, socket.SOCK_STREAM)连接socket, s.connect((host,port))socket通信…

PostWigger的xss漏洞

文章目录 Lab: Exploiting DOM clobbering to enable XSS Lab: Exploiting DOM clobbering to enable XSS 这是一道dom破坏题。 首先进入,发现都是一个个博客。 随便点击看看。 发现是一篇文章之后是一些评论以及咱们也可以发布评论。这里的Email使用了html的正…

Redis的缓存淘汰策略

1. 查看Redis 最大的占用内存 打开redis配置文件, 设置maxmemory参数,maxmemory 是bytes字节类型, 注意转换 2. Redis默认内存多少可以用 注意: 在64bit系统下, maxmemory 设置为 0 表示不限制Redis内存使用 3. 一般生产上如何配置 一般推荐Redis 设置内…

微信小程序骨架屏

骨架屏是常用的一种优化方案,针对于页面还未加载完时给用户的一种反馈方式。如果自己要写骨架屏有点复杂因为页面的元素过多且不稳定,这边直接使用微信开发工具生成骨架屏。也不只有微信开发工具有像常用的抖音开发工具,字节开发工具都有对应…

Python自准直仪双筒望远镜光学ABCD矩阵行为算法

🎯要点 🎯平面;曲面;圆柱面;非球面光,双凸透镜;90 度棱镜;分束立方体,双透镜棱;镜分光镜光线;横置隔膜;全内反射;多个分束…

【Django开发】前后端分离django美多商城项目第1篇:欢迎来到美多 项目主要页面介绍【附代码文档】

本教程的知识点为: 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计: 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后…

看图学sql之sql 中的窗口函数

数据分析社区直达 免费数据分析资料下载。定期分享数据分析领域的最新动态、实战案例、技术工具评测、数据可视化技巧以及行业洞察报告。

【Arduino】ATmega328PB 单片机初始化配置,连接使用配置 arduino

总览 1.下载资料 2.配置 arduino 首选项 3.配置开发板管理器 4.配置不同 晶振频率 的 mega328PB 的参数设置 一、下载资料 1.你也可以看着资料自己来弄,如果嫌我麻烦 网盘:https://pan.baidu.com/s/13FCKXE8t_AZeixcR_bEhXg 提取密码:123…

从Linux内核探索 Socket 的本质

目录 一、引言 二、Socket 的概念 三、Socket 的使用场景 四、Socket 的设计 五、提供 Socket 层 六、Socket 如何实现网络通信 (一)建立连接 (二)数据传输 七、Socket 怎么实现“继承” 八、总结 一、引言 相信大家刚…

[Zer0pts2020]Can you guess it?1

打开题目 看到信息随便输入一个数&#xff0c;显示错误 查看源代码 看到php代码&#xff0c;代码审计 <?php include config.php; // FLAG is defined in config.php if (preg_match(/config\.php\/*$/i, $_SERVER[PHP_SELF])) { exit("I dont know what you are t…

以node / link文件表征的道路网络-----dijkstra算法yyds-----基于南京公路公开数据做路径规划(上)

前文已经基于公开数据&#xff0c;获得了南京的全域高速公路的路网数据&#xff0c;这些以node / link文件表征的道路网络不仅延续了osm地图中所包含的经纬度、名称、容量等信息 &#xff0c;还包含了一个重要的道路等级字段 “link_type_name”。 交通部门一般以高速公路、国…

ThinkPHP的SQL注入漏洞学习

目录 漏洞环境 漏洞概要 函数学习 call_user_func函数 mplode函数 漏洞分析 漏洞修复 攻击总结 漏洞环境 漏洞存在于 Builder 类的 parseData 方法中。由于程序没有对数据进行很好的过滤&#xff0c;将数据拼接进 SQL 语句&#xff0c;导致 SQL注入漏洞 的产生。 漏洞…

Shell参考 - Linux Shell 训练营

出品方<Linux.cn & 阿里云开发者学堂> 一&#xff0c;Linux 可以划分为以下四个部分&#xff1a; 1. 应用软件 2. 窗口管理软件 Unity Gnome KDE 3. GNU 系统工具链 Software- GNU Project - Free Software Foundation 4. Linux 内核 二&#xff0c;什么是shell 1. L…

一款免费开源电脑流量监控软件,电脑流量统计工具!

TrafficMonitor是一个开源的网络速度监控工具&#xff0c;它能够在Windows平台上以悬浮窗的形式显示当前的网速、CPU和内存使用情况。该工具支持多种显示模式&#xff0c;包括悬浮窗和任务栏显示&#xff0c;并且允许用户更换不同的皮肤来自定义外观样式。此外&#xff0c;Traf…

【MySQL】数据库基础(库的操作)

目录 一、MySQL安装、连接、修改密码操作 二、库的操作 2.1 创建数据库 2.2 字符集和校验规则 2.3 操控数据库 2.4 修改数据库 2.5 删除数据库 2.6 数据库的备份和恢复 2.7 查看连接情况 前情提要&#xff1a; 我的服务器操作系统是Ubuntu20.04&#xff0c;安装的是M…