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

RK3588 火焰烟雾检测

以下内容均来自于我的github,源码见github地址:

https://github.com/sakura-kun-c/rk3588_fire_smoke_detect

1. 简介

基于 YOLOV6,在RK3588上实现的明火烟雾检测模型

系统架构图

 演示视频如下:

fire_demo6_result

1.1 数据集来源

        训练数据集20500张,其中真实数据集约15000张,合成烟雾数据集约5000张,数据集均来源于网上搜集,并进行部分重新标定。
点击进入数据集参考网址1
点击进入数据集参考网址2

1.2 训练代码及版本

点击进入YOLOV6源码地址 ,预训练模型及代码版本号选择:0.3.0

1.1.1 训练命令示例

Note: 注意训练适配 rknn 的模型时,不要开启 --fuse_ab

python tools/train.py --batch 32 --epochs 100 --conf configs/yolov6n_finetune.py --data data/dataset.yaml  --device 0

1.1.2 测试训练后的模型效果

python tools/infer.py --weights ./weights/last_ckpt.pt --yaml ./data/dataset.yaml --source ./test_data/img/ --save-dir ./test_data/results/

1.1.3 查看训练loss曲线示例

tensorboard --logdir ./runs/train/exp/

1.1.4 导出适配rknn的onnx模型示例

python deploy/RKNN/export_onnx_for_rknn.py --weight ./yolov6n.pt

1.1.5 导出rknn模型

导出教程参考 rknn_model_zoo

1.3 版本说明

版本号日期功能说明
v1.0.02025-06-01支持图片/本地视频流火焰烟雾检测

1.4 模型评估

模型召回率误检率
yolov6sInt8.rknn95%/

[名词解释]

  • 图片级别召回:只要在有目标的图片上检测出目标(不论框的个数),该图片被认为召回
  • 图片级别误检:只要在无目标的图片上检测出目标(不论框的个数),该图片被认为误检

2. 使用

2.1 编译项目

cmake -S . -B build && cmake --build build

2.2 执行

./build/main <rknn_model_path> <input_data_dir> <input_type> [save_video]

参数说明:
<rknn_model_path>:RKNN 模型文件路径(如:./weights/yolox_ss_fire_fp.rknn)
<input_data_dir>:输入图像或视频所在目录(如:./test_data/)
<input_type>:img:输入为图像;video:输入为视频
[save_video](可选):仅video模式需要,用于保存推理结果视频(输入任意字符即可保存)

执行推理后的图片/视频结果会放到工作目录的results目录下

示例:

./build/main ./weights/300_epoch_v6s_int8.rknn ./test_data/ img
./build/main ./weights/300_epoch_v6s_int8.rknn ./test_data/ video 1

3. 后续规划

        当前版本只是较为基础的版本,后续将尝试集成其他模型(如:安全帽、人员倒地检测模型),并集成8路以上摄像头进行实时视频检测, 同时每路摄像头都将检测若干个模型。欢迎各位大佬进行交流。

http://www.xdnf.cn/news/12522.html

相关文章:

  • 普中STM32F103ZET6开发攻略(六)
  • 第三十章 MDK的编译过程及文件类型
  • C++递归语句完全指南:从原理到实践
  • python模块——tqdm
  • 代付业务怎么理解?
  • [假面骑士] 龙骑浅谈
  • 【信息系统项目管理师-论文真题】2025上半年(第一批)论文详解(包括解题思路和写作要点)
  • Java并发容器和原子类
  • CppCon 2015 学习:How to Make Your Data Structures Wait-Free for Reads
  • FPGA没有使用的IO悬空对漏电流有没有影响
  • 什么是质量管理工具?质量管理工具有哪些优势?
  • C#中datagridview单元格value为{}大括号
  • C++优选算法 438. 找到字符串中所有字母异位词
  • 【Dv3Admin】系统视图菜单按钮管理API文件解析
  • CodeTop100 Day24
  • 【UEFI系列】SEC阶段讲解
  • 2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形
  • Python-15(类与对象)
  • 人工智能初学者可以从事哪些岗位?
  • 逻辑卷和硬盘配额(补充)
  • 会计 - 合并1- 业务、控制、合并日
  • 6个月Python学习计划 Day 16 - 迭代器、生成器表达式、装饰器入门
  • 【汇编逆向系列】八、函数调用包含混合参数-8种参数传参,条件跳转指令,转型指令,movaps 16字节指令
  • 第16届蓝桥杯青少Scratch 4月stema——飞翔的小燕子
  • 二叉树基础全解:存储方式、遍历原理与查找树对比
  • Go垃圾回收参数调优:实现低延迟服务的实战指南
  • MongoDB检查慢查询db.system.profile.find 分析各参数的作用
  • 一篇文章实现Android图片拼接并保存至相册
  • 4082N信号频谱分析仪
  • 设置应用程序图标