目标检测系列-Yolov5下载及运行

由于项目需要,最近一直在看目标检测相关的资料,不过纸上得来终觉浅,绝知此事要躬行啊。从今日起,将学习的过程记录一下,作为以后用来复习的材料吧。

我想最快的学习便是直接动手做项目,因此今天就将yolov5模型下载下来,研究下如何使用,整个过程都是在linux系统上运行。

Yolov5是什么

Yolov5是目标检测领域中非常流行的模型,属于Yolo(you only look once)系列。Yolov1到v3是由Joseph Redmon开发的,Yolov4由其他团队发布,而Yolov5则是由Ultralytics公司基于PyTorch框架开发和维护的。它在保持高检测精度的同时,推理速度也非常快。同时提供了从轻量级到超高性能的不同规格模型(s, m, l, x),可以根据对速度和精度的需求选择合适的模型。

  • Yolov5s:体积最小,速度最快,但精度最低。
  • Yolov5m:平衡型。
  • Yolov5l:精度更高。
  • Yolov5x:体积最大,速度最慢,但精度最高。

实际上它不仅支持目标检测,还支持实例分割(Yolov5-seg)等任务。

模型下载

Yolov5项目在github上已经开源了,使用下列命令即可下载:

复制代码
git clone https://github.com/ultralytics/yolov5

由于网络原因,如果大家进不去github的话,也可以选择从Gitee上下载资源:

复制代码
git clone https://gitee.com/monkeycc/yolov5.git

整个项目的目录如上所示,为了后续能够使用该项目的资源,还需要提前搭建好对应的Python环境,并使用下列命令下载完成对应的包:

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

模型推理

我们可以看到目录中有一个名为detect.py的文件,实际上可以直接使用,对项目中提供的照片进行检测。

为了使用这个文件,我们还需要一个很重要的事情需要完成,那就是下载yolov5预训练模型的权重,通过下列链接即可下载:

复制代码
https://gitcode.com/open-source-toolkit/9d1bd.git

在weights压缩包里有四个权重文件,我们使用yolov5s.pt来做示范演示,执行下列代码:

复制代码
python detect.py --weights weights/yolov5s.pt --source data/images/bus.jpg

其中--weights指定了模型权重,而--source则指定需要检测的图片,最后的结果如下,放置在runs/detect/exp目录下:

总结

本篇博客讲述了Yolov5模型的下载使用过程,它本身就是在已有数据集上训练过了,因此针对一些场景,可以开箱即用,但在实际生产中,我们有时候也要学会使用其他数据集或者自己制作数据集来重新训练模型,才能达到我们想要的效果,之后也会持续更新这方面的折腾记录。

相关推荐
limuyang22 小时前
我在 2核2G 云主机上跑 OpenViking:一次关于云主机、模型选型与长期成本的真实复盘
人工智能·开源·ai编程
Shulex3 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
情 九3 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
码农小旋风4 小时前
Ray分布式计算引擎介绍
人工智能·架构
火山引擎和TA的超级拍档们4 小时前
产品情报局 08 | AI 内容助手:全网热点驱动,一站式打通内容生产全链路
人工智能
Binovate缤江数智4 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
素男4 小时前
两个月不是六十天
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍
byte轻骑兵4 小时前
【LMP】规范精讲[10]: 语音专线开线记——SCO 固定占座与 eSCO 限时重传
人工智能·人机交互·lmp·蓝牙链路管理·蓝牙外设