如何运行YOLOv6的代码实现目标识别?

news/2024/5/18 0:50:52/文章来源:https://blog.csdn.net/Albert233333/article/details/129119158

YOLOv6是由美团视觉团队开发的

1.环境配置

我们先把YOLOv6的代码clone下来

git clone https://github.com/meituan/YOLOv6.git

安装一些必要的包

pip install pycocotools==2.0

作者要求pytorch的版本是1.8.0,我的环境是1.7.0,也是可以正常运行的

pip install -r requirements_my_version.txt

我除了上面那个包以外安装的东西和版本如下,安装这样装,我是可以正常运行模型的

matplotlib==3.2.2
numpy==1.18.5
opencv-python==4.1.2.30 # 注意这个地方官方提供的是opencv-python>=4.1.2,但是安装的时候告诉你没有这个版本要你从里面选,我选了30,后面可以运行
Pillow==7.1.2
PyYAML==5.3.1
requests==2.23.0
scipy==1.4.1
torch==1.7.0
torchvision==0.8.1
tqdm==4.41.0# plotting ------------------------------------pandas==1.1.4
seaborn==0.11.0# deep_sort -----------------------------------easydict# torchreidCython
h5py
six
tb-nightly
future
yacs
gdown
flake8
yapf
isort==4.3.21
imageio

2.运行代码实现识别

如果你要从头重新自己训练一个YOLOv6的识别,自己训练一个模型,你想复现reproduce可以参考这个代码

https://github.com/meituan/YOLOv6/blob/main/docs/Train_coco_data.md

Inference

视频计数

基于你自己的数据集,而不是训练集COCO,进行识别(打方框),并将识别的结果保存成文件存在本地

# P5 models
# 官方提供的指令
python tools/infer.py --weights yolov6s.pt --source img.jpg / imgdir / video.mp4
# 每个参数的含义
python 运行的代码文件的路径 --weights 模型文件的名字或路径+名字 --source 图片、图片所在文件夹、视频文件python ./tools/infer.py --weights ./yolov6s.pt --source ./eval_my/dandong.mp4
# 记得模型参数那个一定要写./,否则如果你直接写yolov6s.pt的话,会把模型又下载一遍

运行后,识别完成的视频都保存在这个位置/runs/inference/exp

打开一看,识别的都很好,(1)远处小的车也可以识别出来,yolo5只能识别出近处的车(2)每个车识别出来,置信度更高

上面使用的那个模型yolov6s.pt是作者所说的P5 model,其实作者还提供训练的更好、参数更多、速度更快的模型P6 model

https://github.com/meituan/YOLOv6/releases/tag/0.3.0

下面那些带6的就是P6,不带6的就是P5模型

更换P6模型也很简单,--weights这个参数后面的模型文件换成 带s的P6模型即可

# P6 models
python tools/infer.py --weights ./yolov6s6.pt --source ./eval_my/dandong.mp4

经过美团优化后的模型连椅子、和自行车都能识别出来,你说厉不厉害?

图片计数

python tools/infer.py --weights yolov6s.pt --source ./eval_my/15_persons.PNG

这张原图

识别出来,是这样.(1)每个人也是都能识别出来的,尤其是特别小的人能够识别出来,(2)除了特别小的那种人,其他的识别的置信度都很高

本机摄像头

# 官方教程
python tools/infer.py --weights yolov6s.pt --webcam --webcam-addr 0
# --webcam 跟着网络摄像头的网址
# --webcam-addr 加0是本机摄像头# 这样是可以运行的
python tools/infer.py --weights yolov6s.pt --webcam-addr 0

可以运行是可以运行,但是我识别过程没显示,识别结果没有保存。具体怎么用,以后再研究。

Evaluation

基于COCO数据集,进行识别,并展示performance score

python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --batch 256 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0,1,2,3,4,5,6,7

这个我不知道COCO数据集怎么摆放,所以跑了会报错。后面用到再来解决吧。

Traceback (most recent call last):File "tools/eval.py", line 164, in <module>main(args)File "tools/eval.py", line 159, in mainrun(**vars(args))File "/home/albert/anaconda3/envs/py380tc170/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 26, in decorate_contextreturn func(*args, **kwargs)File "tools/eval.py", line 141, in rundata = Evaler.reload_dataset(data, task) if isinstance(data, str) else dataFile "/media/F:/FILES_OF_ALBERT/IT_paid_class/graduation_thesis/model_innov/Yolov6_DeepSort_Pytorch/yolov6/YOLOv6/yolov6/core/evaler.py", line 437, in reload_datasetraise Exception('Dataset not found.')
Exception: Dataset not found.

这个repo写的很详细,包括了这些东西

代码运行的教程(1)基于COCO数据集训练模型,完成复现(2)基于自定义的数据训练、精调模型(3)测试集上进行测试,测试速度(4)对模型进行量化压缩

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

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

相关文章

【机器学习】决策树-C4.5算法

1.C4.5算法 C4.5算法与ID3相似&#xff0c;在ID3的基础上进行了改进&#xff0c;采用信息增益比来选择属性。ID3选择属性用的是子树的信息增益&#xff0c;ID3使用的是熵&#xff08;entropy&#xff0c; 熵是一种不纯度度量准则&#xff09;&#xff0c;也就是熵的变化值&…

Kaldi语音识别技术(六) ----- DTW和HMM-GMM

Kaldi语音识别技术(六) ----- DTW和HMM-GMM 文章目录Kaldi语音识别技术(六) ----- DTW和HMM-GMM前言一、语音识别概况二、语音识别基本原理三、DTW&#xff08;动态时间弯折&#xff09;算法四、GMM-HMM前言 前面的内容中我们完成了特征的提取,那么本章节我们主要进行理论部分…

2023爱分析· 云管理服务(MSP)市场厂商评估报告:华创方舟

目录 1. 研究范围定义 2. 云管理服务&#xff08;MSP&#xff09;市场定义 3. 厂商评估&#xff1a;华创方舟 4. 入选证书 1. 研究范围定义 数字化时代&#xff0c;应用成为企业开展各项业务的落脚点。随着业务的快速发展&#xff0c;应用的功能迭代变得越来越…

VSCode Remote-SSH配置免密登录踩坑

VSCode Remote-SSH配置免密登录踩坑1. 参考2. 基本流程2.1 机器A&#xff08;Windows客户端&#xff09;2.2 机器B&#xff08;Linux服务器&#xff09;2.3 机器A&#xff08;Windows客户端&#xff09;的VSCode设置3. 踩坑总结相关教程很多&#xff0c;但要么冗余&#xff0c;…

Elasticsearch:提升 Elasticsearch 性能

Elasticsearch 是为你的用户提供无缝搜索体验的不可或缺的工具。 在最近的 QCon 会议上&#xff0c;我遇到了很多的开发者。在他们的系统中&#xff0c;Elastic Stack 是不可缺少的工具&#xff0c;无论在搜索&#xff0c;可观测性或安全领域&#xff0c;Elastic Stack 都发挥着…

秒懂算法 | 莫队算法

01、基础莫队算法 莫队算法 = 离线 + 暴力 + 分块。 “离线”和“在线”的概念。在线是交互式的,一问一答;如果前面的答案用于后面的提问,称为“强制在线”。离线是非交互的,一次性读取所有问题,然后一起回答,"记录所有步,回头再做”。 基础的莫队算法是一种离线…

dubbo SPI之依赖注入、禁止依赖注入@DisableInject

本文基于dubbo2.7.7分析 dubbo SPI如何实现依赖注入如何禁用dubbo的依赖注入 使用标准Setter方法依赖注入 dubbo的SPI默认支持依赖注入功能, 在SPI的实现类中&#xff0c;只要写标准的Setter方法即可, 示例如下: public class CustomInterfaceImpl implements CustomInterf…

6 大经典机器学习数据集,3w+ 用户票选得出,建议收藏

内容一览&#xff1a;本期汇总了超神经下载排名众多的 6 个数据集&#xff0c;涵盖图像识别、机器翻译、遥感影像等领域。这些数据集质量高、数据量大&#xff0c;经历人气认证值得收藏码住。 关键词&#xff1a;数据集 机器翻译 机器视觉 数据集是机器学习模型训练的基础&…

LeetCode——51. N 皇后

一、题目 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案…

为什么会有跨域问题,代理是怎么解决的?

&#x1f4d6; 文章导航关于跨域问题同源策略跨域资源共享解决方案前端代理后端服务端代理关于跨域问题 同源策略 同源策略&#xff08;Same-origin policy&#xff09;是浏览器中一个重要的安全策略&#xff0c;它用于限制不同源之间的资源交互。其目的是为了帮助阻隔恶意文…

系列五、docker常见报错

一、运行mysql服务报错 1.1、查看3306端口被哪个服务监听 netstat -nap | grep 3306 1.2、杀死进程 kill 1851 1.3、关闭容器 docker stop 3185bc93893e 1.4、再次运行mysql服务 docker run --name mysql8.0.26 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf/m…

业内人士告诉你,买流量卡时一定要问的几个问题?

互联网时代&#xff0c;流量当然是至关重要&#xff0c;但是&#xff0c;在网上搜索流量卡时&#xff0c;广告可谓是铺天盖地&#xff0c;五花八门&#xff0c;所以&#xff0c;小编提醒大家&#xff0c;为了选择性价比较高的卡&#xff0c;在购买流量卡时一定要关注几个问题。…

怎么配置最流行的智能聊天工具

注册OpenAI账号 1.打开https://beta.openai.com/signup 页面进行相应的注册。 2.此处需要输入邮箱进行注册并且提示到邮箱验证 3.注册没有问题的话&#xff0c;会提示你已经发送到对应邮箱&#xff0c;进行邮箱验证 此处需要注意下&#xff1a;邮箱验证需要进行翻墙进行验证…

100种思维模型之九屏幕分析思维模型-016

一、认识九屏幕分析思维模型 1.九屏幕分析思维模型定义 九屏幕法是TRIZ理论中的创新思维方法五大方法之一。它是把问题当成一个系统来研究&#xff0c; 关注系统的整体性、 层级性、目的性&#xff0c;即各要素之间的结构。 九屏幕法是按照时间和系统层次两个维度进行思考。 包…

windows版Rsync服务端和客户端cwRsync_4.1.0安装测试

下载地址&#xff1a;https://download.csdn.net/download/qq_32421489/87463506 服务端安装&#xff1a; cwRsyncServer&#xff08;服务端&#xff09;配置步骤 1.双击运行wRsyncServer_4.1.0_Installer.exe。 2.这里创建的账户是操作系统的&#xff0c;创建的这个账户是专…

使用Fabric.js实现贝塞尔曲线波浪特效

一、前言 本文是在此基础上收到启发然后进行的变化&#xff0c;当然&#xff0c;观看与否不会影响接下来的阅读体验。 二、实现思路 其实整个波浪动画其实可以看成&#xff1a;在相对坐标系静止的视角下&#xff0c;一个正弦函数在直角坐标系上匀速平移时我们所观察到的效果…

【基础语法】JavaScript 全栈体系(三)

JavaScript 基础 第三章 常量 一、常量的基本使用 概念&#xff1a;使用 const 声明的变量称为“常量”。使用场景&#xff1a;当某个变量永远不会改变的时候&#xff0c;就可以使用 const 来声明&#xff0c;而不是let。命名规范&#xff1a;和变量一致常量使用 // 声明一…

面试官:你是怎样理解Fiber的

hello&#xff0c;这里是潇晨&#xff0c;今天我们来聊一聊Fiber。不知道大家面试的时候有没有遇到过和react Fiber相关的问题呢&#xff0c;这一类问题比较开放&#xff0c;但也是考察对react源码理解深度的问题&#xff0c;如果面试高级前端岗&#xff0c;恰巧你平时用的是re…

【Linux】——基础开发工具和vim编辑器的基本使用方法

目录 Linux 软件包管理器 yum Linux编辑器-vim使用 1.vim的基本概念 2. vim的基本操作 3. vim正常模式命令集 4. vim末行模式命令集 如何配置vim Linux 软件包管理器 yum yum是Linux下的一个下载软件的软件 对于yum&#xff0c;现阶段只需要会使用yum的三板斧就…

2023赏金计划:Coremail SRC漏洞征集与样本奖励火热进行中

赏金活动一&#xff1a;Coremail SRC漏洞奖励计划 01 活动背景 2023年1月&#xff0c;Coremail安全应急响应中心&#xff08;Coremail SRC&#xff09;正式上线启用&#xff0c;面向公众收集安全漏洞信息与安全情报。Coremail SRC旨在联合众多安全专家、白帽子研究员共同发现…