littlebot
Published on 2025-04-08 / 2 Visits
0

【源码】基于PaddleX的火灾烟雾检测系统

项目简介

本项目基于PaddleX框架实现对城市和森林场景中火灾和烟雾的检测。通过优化模型精度和性能,可帮助用户更高效地解决实际火灾和烟雾检测问题。项目开放了烟雾和火灾数据集及预训练模型,并提供服务器Serving和Jetson NX边缘侧芯片的部署指南。

项目的主要特性和功能

  1. 数据准备:使用含6675张图片的VOC格式数据集,按9:1比例随机切分为训练集和验证集,包含图片和对应XML标注文件。
  2. 模型选择:提供五种目标检测模型,选用Faster RCNN算法进行火灾和烟雾检测。
  3. 模型训练:支持单卡和多卡GPU训练,有详细训练命令。
  4. 模型优化:通过骨干网络优化、训练策略调整等提升模型精度。
  5. 模型评估:计算不同置信度阈值下的图片级召回率和误检率,选择合适阈值用于预测。
  6. 模型预测:加载训练好的模型对验证集或测试集图片预测并可视化结果。
  7. 模型导出:将训练好的模型导出为包含网络结构、权重和配置文件的部署所需格式。
  8. 模型部署:提供服务器和边缘侧芯片的部署指南,支持实际应用场景部署。

安装使用步骤

环境准备

  • 安装PaddlePaddle >= 2.1.0
  • 安装Python >= 3.5
  • 安装PaddleX >= 2.0.0
  • 参考PaddleX安装文档解决安装问题

下载PaddleX源码

bash cd PaddleX git checkout develop

数据准备

  • 下载并准备数据集,数据集包含6675张图片,按9:1比例随机切分为训练集和验证集。
  • 数据集文件组织结构如下: ├── dataset │ ├── annotations │ │ ├── fire_000001.xml │ │ ├── fire_000002.xml │ │ ├── fire_000003.xml │ │ | ... │ ├── images │ │ ├── fire_000001.jpg │ │ ├── fire_000003.jpg │ │ ├── fire_000003.jpg │ │ | ... │ ├── label_list.txt │ ├── train.txt │ └── valid.txt

模型训练

  • 单卡训练: bash export CUDA_VISIBLE_DEVICES=0 # Windows和Mac下不需要执行该命令 python train.py
  • 多卡训练(例如使用2张卡): bash export CUDA_VISIBLE_DEVICES=0,1 # Windows和Mac下不需要执行该命令 python -m paddle.distributed.launch --gpus 0,1 train.py

模型评估

bash python eval.py

模型预测

bash python predict.py

模型导出

bash paddlex --export_inference --model_dir=./output/deeplabv3p_r50vd/best_model/ --save_dir=./inference_model

模型部署

通过以上步骤,您可以顺利完成火灾烟雾检测系统的安装、训练、评估、预测和部署。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】