当前位置: 首页 > news >正文

YOLOv5白皮书-第Y1周:调用官方权重进行检测

>- **🍨 本文为[🔗365天深度学习训练营](小团体~第八波) 中的学习记录博客**
>- **🍖 原作者:[K同学啊](K同学啊-CSDN博客)**

一、前言

拖了好久,终于要开始目标检测系列了。自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松、快速、高效的入门目标检测算法。这段时间终于有个一个比较靠谱的思路。我是这样计划的:首先,带大家先将算法跑起来,不然都不知道在干嘛,纯理论的东西看着头都大了,然后,教大家将官方的数据集更换成我们自己的数据集,并完成模型的训练。其次,在我们代码可以运行的情况下,从整体上讲解算法的结构。最后,挑选代码中一些比较关键的点,进行详细讲解。

YOLO系列是目前最热门的目标检测算法,那就拿它“开刀”了。

YOLOv5又分为Yolov5s、Yolov5m、Yolov5l、Yolov5x四个版本,我这里以Yolov5s为例。

点击下面的内容,可跳转到YOLOv5开源地址:

【YOLOv5开源地址】icon-default.png?t=O83Ahttps://github.com/ultralytics/yolov5二、下载源码
可以按照下图所示下载源码:

安装需要的环境:

安装环境依赖包,请进入项目文件在文件地址栏中直接输入cmd,打开cmd 后输入:pip install-r requirements.txt,如何打开CMD命令行 :我是有ananconda的,所以我使用anaconda打开的命令行,有虚拟环境

三、运行代码
需要的环境:

Python>=3.6.0
PyTorch>=1.7

我电脑的python=3.11.5,pytorch=2.1.2+cpu,已经符合代码运行的环境要求。

以同样的方法打开cmd,输入命令:
python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 648
注意需要将图片路径替换成你的,例如:
python detect.py --source data\images\zidane.jpg --weights yolov5s.pt --img 648
这里我们使用的是官方已经帮我们训练好的模型。

在这个过程中,你中途可能会遇到下面的这两个问题,不用担心,这是网络问题多试几次就好了:

TimeoutError:[winError 10060]由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
TypeError: unlink() got an unexpected keyword argument ‘missing ok’

已解决:无法打开Anaconda Navigator,报错如下
ImportError: cannot import name ‘tarfile’ from ‘backports’ (D:\Anaconda\Lib\site-packages\backports_init_.py) 解决方案链接

如果一直还是这样,就需要下载yolov5s.pt文件放到项目的主目录下就ok了,上面的两个错误都是由于下载这个文件下载失败,缺少这个文件导致的(yolov5s.pt文件需要自己从网上下载)。

参考上面的cmd命令:
python path/to/detect.py --source path/to/img.jpg --weights yolov5s.pt --img 648
在我的项目目录下输入命令:

python detect.py --source data/images/image.jpg --weights yolov5s.pt --img 648

上面的“image.jpg”可以换成其他图片。


 四、视频检测
先提前下载实验视频:提取码(9vaq)
也可以用其他的实验视频,时长尽量要小,比如2分钟、3分钟,要不然代码运行时长会比较久。
同样的方法打开 cmd 并输入:

python detect.py --source MyVideo_2.mp4

我这轻薄本训练真费劲

 结果如上

五、总结
原来如此简单,最重要的是有一个能运行的环境,遇到问题直接百度就可以
同时有兴趣的同学可以点击下面的链接去学习YOLO:
建议去官网自己看https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring系统学习(一)——初识Spring框架
  • 蓝桥杯2024省C
  • P1439 【模板】最长公共子序列 (线性DP,LCS + LIS)
  • ElementUI 用span-method实现循环el-table组件的合并行功能
  • linux如何查看当前的目录所在位置
  • Python 二级考试
  • 变化检测(Change Detection)
  • 4.提升客户服务体验:ChatGPT在客服中的应用(4/10)
  • 软件设计师——操作系统
  • AI问答-HTTP:理解 Content-Disposition
  • ovirt error: Network not found: no network with matching name ‘vdsm-ovirtmgmt‘
  • 重生归来之挖掘stm32底层知识(1)——寄存器
  • 如何使用Privoxy将SOCKS5代理转换为HTTP代理?
  • mysql中的json查询
  • yolo自动化项目实例解析(三)重构 1.85
  • [译]前端离线指南(上)
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • es6
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • EventListener原理
  • JAVA 学习IO流
  • JS字符串转数字方法总结
  • LeetCode算法系列_0891_子序列宽度之和
  • Odoo domain写法及运用
  • Python 基础起步 (十) 什么叫函数?
  • react-native 安卓真机环境搭建
  • React系列之 Redux 架构模式
  • Spark学习笔记之相关记录
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Webpack 4 学习01(基础配置)
  • 阿里云Kubernetes容器服务上体验Knative
  • 初识 beanstalkd
  • 从PHP迁移至Golang - 基础篇
  • 从零开始的无人驾驶 1
  • 二维平面内的碰撞检测【一】
  • 构建工具 - 收藏集 - 掘金
  • 微信小程序--------语音识别(前端自己也能玩)
  • 应用生命周期终极 DevOps 工具包
  • Prometheus VS InfluxDB
  • ​你们这样子,耽误我的工作进度怎么办?
  • #if #elif #endif
  • #Java第九次作业--输入输出流和文件操作
  • (13)Hive调优——动态分区导致的小文件问题
  • (2)nginx 安装、启停
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (十六)视图变换 正交投影 透视投影
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (五)网络优化与超参数选择--九五小庞
  • (一)80c52学习之旅-起始篇
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .htaccess 强制https 单独排除某个目录