YOLO算法实战(3):火情检测。小白半天学会yolo算法,附详细教程和代码!!!

上两个文章中其实分别讲到了如何使用PyQT来搭建一个可视化的用户界面,以及如何找到数据集,并且训练自己的模型,得到pt文件,有点忘记的同学可以点击下面的链接回顾一下

yolo算法实战(1):人脸检测+实时显示界面GUI(附代码!!!)

yolo算法实战(2):小白怎么用数据集训练自己的yolo算法?附详细教程和代码!

不知道小伙伴们还记不记得上次,我说要做100个场景下yolo算法的应用,

这两天我仔细回看自己的帖子,感觉还是要规划一下整体的方案,要不然太零散了,同学们找都不好找

所以,今天带来第一个算法的应用,使用yolo检测火情

1. 安装python(推荐版本311)

这里直接给出下载地址

https://www.python.org/downloads/

点击【Download Python 3.11】

安装时务必勾选 ✅【Add Python to PATH】再点击 Install Now

等待安装完成后,在命令行窗口输入

python --version

如果也能显示下面的界面就说明已经安装完成了
在这里插入图片描述

关于怎么找到命令行窗口,我在这里给出两种简单的方式

如果你使用的是 Windows
✅ 方式1:使用“命令提示符(CMD)”
按下键盘上的 Win 键(或者点击左下角开始菜单)

输入 cmd, 回车,就打开了命令提示符窗口(黑底白字)

✅ 方式2:使用“PowerShell”
同样在开始菜单搜索 powershell,回车,打开一个蓝色背景的命令窗口

如果你使用的是 macOS
按下 Command + 空格,搜索Terminal,回车,即可打开终端,然后在里面输入

python3 --version

如果你使用的是 Linux
可以按 Ctrl + Alt + T 快捷键直接打开终端,或者点左下角“活动”,搜索“Terminal”

一般linux下默认安装好了 Python

2. 安装PyCharm(社区版免费!!!)

这里直接给出一个链接

https://www.jetbrains.com/pycharm/download

选择左边的 Community(免费版),下载安装

安装完成后打开,点击:

“New Project” → 选择 Python解释器

新建一个 .py 文件,输入 print("Hello YOLO"),运行测试是否正常

3. 下载yolo v5

那么安装完前两个必须的内容,就可以真正着手训练自己的算法了,

但是这里需要先从网上下载发布的yolo算法,然后再使用自己的数据集进行训练

为什么要这么做呢?,在文章最后,给大家讲解,这里不写,避免影响大家整体的学习节奏,感兴趣的可以直接到最后部分深入了解原因。

那么,怎么下载yolo v5呢?
第一步、在 PyCharm 终端或系统命令行中依次执行:

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

这里出现了Git,可能小伙伴,又迷惑了,怎么又出来一个东西,与github什么关系?这个这次没办法讲,下次我会专门出一个与github相关的文章,为大家答疑解惑。欢迎大家保持关注!

如果没有安装 Git,可以手动下载 zip:

https://github.com/ultralytics/yolov5

点击右上角【Code → Download ZIP】,解压后打开

4. 下载数据集

简答的说,刚刚我们下载的yolo算法可以初步识别一些常见的内容,但是没办法完成我们特定目标的识别,所以我们还需要下载特别的数据集,然后对算法进行重新的训练,以达到我们的目的,这一点在文章最后有详细原因说明。

这里直接提供一个公开火灾数据集,直接可用:

https://universe.roboflow.com/fire-detection/fire-dataset-4kjkq

点击右上角 Download this Dataset

格式选择:YOLOv5 + ZIP

下载后解压,得到一个结构类似这样的目录:

fire-dataset/
  ├── train/
  │   ├── images/
  │   └── labels/
  ├── valid/
  │   ├── images/
  │   └── labels/

关于上面几个部分的介绍,我在这个里面都详细介绍了,还不明白的可以去了解一下

5.(最关键)训练和测试

1️⃣ 创建配置文件 fire.yaml
在 yolov5/data/ 目录下新建 fire.yaml,内容如下(根据数据集实际路径改):

train: ../fire-dataset/train/images
val: ../fire-dataset/valid/images
nc: 1
names: ['fire']

2️⃣ 启动训练(在 yolov5 根目录下执行):

python train.py --img 640 --batch 8 --epochs 30 --data data/fire.yaml --weights yolov5s.pt --name fire_detector

训练完成后,会在 runs/train/fire_detector/weights/ 目录下生成 best.pt

测试一张图片:

python detect.py --weights runs/train/fire_detector/weights/best.pt --source your_test.jpg

测试摄像头

python detect.py --weights runs/train/fire_detector/weights/best.pt --source 0

6. tips

1.很多同学有点搞不清python和pycharm的区别,以为下载了pycharm就已经下载了Python,不是这样的。

python是一种编程语言,而PyCharm则被认为是一个ide,也就是集成开发环境,在这里面,你可以使用可视化的界面,进行编码,但是写完的代码如果需要运行,则需要你的电脑上已经安装了python

2.对我们来说,python最强大的不是语言本身,而是使用python的时候我们可以调用不同的包
3. 注意苹果系统下要输入的是``python3 --version``
4. 下载好的yolo算法部分情况下可以直接用,但是大部分时候还是要有自己的数据集,进行训练出专属的模型

7. 预告

这次详细介绍了火情的检测,里面还涉及到软件的安装,相信跟着我学,一定能短时间学会应用

那么,下一期,出什么呢?

有想法的同学可以直接斯我或者评论区留下自己的需求

8. 附录

下载了 YOLOv5,为什么还要自己下载数据集训练?不能直接用?

✅ 可以直接用 YOLOv5(但用途不同)

当下载 YOLOv5 时,里面带有 预训练模型(如 yolov5s.ptyolov5m.pt 等),这些模型是 已经训练好了的,可以立刻用来识别常见目标,比如:

模型能识别的内容(默认 COCO 数据集)
人、人脸、汽车、手机、狗、猫、瓶子等 80 类

➤ 示例:直接使用

python detect.py --weights yolov5s.pt --source your_image.jpg

这行命令不需要你训练,它会识别你图像中是否有“人”、“车”等常见目标。

❌ 但是预训练模型不能识别火情

因为 预训练模型没有学过“火焰”或“烟雾” 这类东西。就像你教学生学英语,他们没学过“火焰”这个单词,自然不会认。

✅ 所以要识别“火情”,必须重新训练 YOLO

我们要做的是

  1. 准备好包含“火”和“烟”的图片 + 标签
  2. 用这些数据 教会 YOLO 怎么识别火情
  3. 得到一个新的模型 best.pt,它能专门识别火焰
方式是否能识别火情是否需要下载数据集
用原始 yolov5s.pt 模型❌ 不行,只能识别人/车等❌ 不需要
训练自己的模型 best.pt✅ 可以识别火/烟✅ 必须下载数据集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值