火焰识别,火焰检测,火灾检测,基于yolov5的火焰检测,可以检测视频和图片,视频实时检测,将训练好的模型部署到英伟达边缘计算 基于 YOLOv5 的高精度、高帧率火焰检测系统

火焰识别,火焰检测,火灾检测,基于yolov5的火焰检测,可以检测视频和图片,也可视频实时检测,检测准确率高,帧率很高,有标注好的训练数据集可以自己重新训练。

可以将训练好的模型部署到英伟达边缘计算设备nano nx或实际场景中,如监控摄像头、无人机、消防设备等,实时检测火灾并发出警报,以提高消防安全性。

1

以下是基于 YOLOv5 的高精度、高帧率火焰检测系统的完整解决方案,包含:

  • ✅ 标注好的火焰数据集说明
  • ✅ 详细训练代码(支持自定义训练)
  • ✅ 视频/图片/摄像头实时检测
  • ✅ 模型导出与NVIDIA Jetson Nano/NX 部署脚本
  • ✅ 报警触发逻辑(声音/日志/推流)
  • ✅ UI 可选(命令行 + OpenCV 可视化)

🔥 一、火焰检测数据集说明(可直接训练)

项目内容
类别fire(火焰)、smoke(烟雾)——2 类(可扩展)
图像数量5,000+ 张(含白天/黑夜、室内/室外、不同火源)
标注格式YOLO.txt格式(LabelImg 标注)
目录结构
fire_dataset/ ├── images/train/ # ~4000 张 ├── images/val/ ├── labels/train/ ├── labels/val/ └── fire.yaml

|fire.yaml|

train:./images/trainval:./images/valnc:2names:['fire','smoke']

💡 若你已有自己的数据集,只需按此结构组织即可。


🧪 二、环境准备(训练端)

# 克隆 YOLOv5 官方仓库gitclone https://github.com/ultralytics/yolov5cdyolov5# 安装依赖(Python ≥3.8)pipinstall-r requirements.txt torch torchvision

▶️ 三、详细训练代码(YOLOv5)

1. 启动训练(命令行)

python train.py\--img640\--batch16\--epochs100\--data /path/to/fire_dataset/fire.yaml\--weights yolov5s.pt\--name fire_yolov5s\--cacheram\--workers4

2. Python 脚本训练(train_fire.py

# train_fire.pyimporttorchfromyolov5importtrainif__name__=='__main__':train.run(imgsz=640,batch_size=16,epochs=100,data='/path/to/fire_dataset/fire.yaml',weights='yolov5s.pt',name='fire_yolov5s',cache='ram',workers=4,device=0# GPU ID)

✅ 训练完成后,最佳模型保存在:runs/train/fire_yolov5s/weights/best.pt


🎥 四、火焰检测推理系统(支持图片/视频/摄像头)

将以下代码保存为fire_detection.py

# fire_detection.pyimportcv2importtorchimportnumpyasnpimportargparseimporttimeimportosfrompathlibimportPath# 报警函数(可替换为短信/邮件/声光报警)deftrigger_alarm(frame,save_dir="alarms"):os.makedirs(save_dir,exist_ok=True)timestamp=time.strftime("%Y%m%d_%H%M%S")cv2.imwrite(f"{save_dir}/alarm_{timestamp}.jpg",frame)print(f"🔥 火灾警报!已保存截图:{save_dir}/alarm_{timestamp}.jpg")# 可添加:播放警报音、发送 HTTP 请求等defdetect(source,weights,conf_thres=0.5,alarm_threshold=1):""" :param source: 图片路径 / 视频路径 / '0'(摄像头) :param weights: 模型路径(.pt) :param conf_thres: 置信度阈值 :param alarm_threshold: 触发报警的最小火焰数量 """model=torch.hub.load('ultralytics/yolov5','custom',path=weights,force_reload=True)model.conf=conf_thres# 判断输入类型is_camera=source=='0'is_video=source.endswith(('.mp4','.avi'))ifis_cameraoris_video:cap=cv2.VideoCapture(0ifis_cameraelsesource)fps=cap.get(cv2.CAP_PROP_FPS)or30frame_time=1.0/fpswhileTrue:ret,frame=cap.read()ifnotret:breakstart_time=time.time()results=model(frame)detections=results.xyxy[0].cpu().numpy()fire_count=0for*xyxy,conf,clsindetections:ifint(cls)==0:# class 0 = firefire_count+=1x1,y1,x2,y2=map(int,xyxy)cv2.rectangle(frame,(x1,y1),(x2,y2),(0,0,255),2)cv2.putText(frame,f"Fire{conf:.2f}",(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.6,(0,0,255),2)# 报警逻辑iffire_count>=alarm_threshold:trigger_alarm(frame)# 显示状态status="🔥 DANGER!"iffire_count>=alarm_thresholdelse"✅ SAFE"cv2.putText(frame,f"Status:{status}| Fire:{fire_count}",(10,30),cv2.FONT_HERSHEY_SIMPLEX,0.8,(0,255,0),2)# 控制帧率elapsed=time.time()-start_time delay=max(1,int((frame_time-elapsed)*1000))cv2.imshow("Fire Detection",frame)ifcv2.waitKey(delay)&0xFF==ord('q'):breakcap.release()cv2.destroyAllWindows()else:# 单张图片检测img=cv2.imread(source)results=model(img)results.render()cv2.imshow("Result",results.ims[0])cv2.waitKey(0)cv2.destroyAllWindows()if__name__=='__main__':parser=argparse.ArgumentParser()parser.add_argument('--source',type=str,default='0',help='image/video/camera')parser.add_argument('--weights',type=str,default='best.pt',help='model path')parser.add_argument('--conf',type=float,default=0.5,help='confidence threshold')args=parser.parse_args()detect(args.source,args.weights,args.conf)

运行示例:

# 摄像头实时检测python fire_detection.py --source0--weights runs/train/fire_yolov5s/weights/best.pt# 视频检测python fire_detection.py --source test.mp4 --weights best.pt# 图片检测python fire_detection.py --source test.jpg --weights best.pt

🚀 五、部署到 NVIDIA Jetson Nano/NX

步骤 1:在 Jetson 上安装依赖

# 安装 JetPack(含 CUDA/TensorRT)# 安装 OpenCV(通常已预装)sudoaptinstallpython3-opencv# 安装 PyTorch(Jetson 版本)wgethttps://nvidia.box.com/shared/static/...# 从 NVIDIA 官网下载 wheelpip3installtorch-*.whl

步骤 2:导出为 TensorRT(加速推理)

# export_to_trt.pyfromyolov5.models.experimentalimportattempt_loadfromyolov5.utils.torch_utilsimportselect_deviceimporttorch device=select_device('0')model=attempt_load('best.pt',map_location=device)model.eval()# 导出 ONNXdummy_input=torch.randn(1,3,640,640).to(device)torch.onnx.export(model,dummy_input,"fire.onnx",opset_version=12)# 然后使用 trtexec 转 TensorRT(Jetson 上执行):# /usr/src/tensorrt/bin/trtexec --onnx=fire.onnx --saveEngine=fire.engine

步骤 3:Jetson 上运行轻量推理(使用 TensorRT)

推荐使用 TensorRT-YOLOv5 项目加载.engine文件,实现>20 FPS @ Jetson Nano


⚙️ 六、性能优化建议

场景建议
高帧率使用yolov5nyolov5s+imgsz=416
高精度使用yolov5m+imgsz=640+ TTA(测试时增强)
夜间火焰在训练集中加入红外/低光照样本
减少误报增加smoke类别,结合火焰+烟雾联合判断

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1163510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学长亲荐2026 MBA必用TOP10 AI论文工具测评

学长亲荐2026 MBA必用TOP10 AI论文工具测评 2026年MBA学术写作工具测评:为何需要这份榜单? 随着人工智能技术在学术领域的广泛应用,MBA学生和研究者在论文写作、数据分析、文献综述等环节中,越来越依赖AI工具提升效率与质量。然而…

期刊论文投稿快人一步!虎贲等考 AI 解锁学术发表 “加速器”

在学术发表竞争日趋激烈的当下,一篇优质期刊论文的诞生,往往要历经选题打磨、文献梳理、数据论证、格式校准等重重关卡。很多科研人明明手握扎实的研究成果,却因论文写作不规范、逻辑不严谨、格式不达标,屡屡在投稿环节碰壁。虎贲…

还在为降重降 AIGC 抓狂?虎贲等考 AI:学术改写天花板,两步搞定合规论文

查重率飙红、AIGC 检测亮灯,堪称学术写作的 “双重暴击”!不少同学吐槽:“改了十遍重复率还是超标”“AI 写的内容一眼被识破”“降重后语句不通,逻辑全乱”。别慌!虎贲等考 AI 智能写作平台(官网&#xff…

PetaLinux工程目录设备树文件结构与作用

设备树文件列表 wpfminglie:~/petalinux/ant$ find . \( -path ./build -o -path ./tmp -o -path ./out -o -path ./components/yocto \) -prune -o -type f \( -name "*.dts" -o -name "*.dtsi" \) -print ./components/plnx_workspace/device-tree/devic…

机器人诊断系统十年演进

下面给你一条专门针对机器人系统的 「机器人诊断系统十年演进路线(2025–2035)」。 这里的“诊断系统”不是简单的“查日志、看告警”,而是机器人如何理解自身失效、判断风险、选择修复策略,并在长期运行中避免重复犯错。一、核心…

智能巡检车、无人机道路检测、AI 路况分析平台 智慧交通 驾驶视角道路病害缺陷检测数据集 建立基于深度学习框架YOLOV8道路病害缺陷检测系统 裂纹 网快 坑洼

道路缺陷检测数据集使用labelimg标注,标签的格式是txt格式,适用于yolo目标检测系列所有版本训练数据集。 标注了(裂纹(Crack)、 检查井(Manhole)、 网(Net)、 裂纹块&…

ECC错误

保护机制误差校正码Error Correcting CodeECC可以防止存储在内存中的数据出现错误,提高系统的功能安全性,避免因读取错误的数据而导致错误。ECC的主要影响是在易失性存储器(RAM)中,其中技术的小型化导致更高的位翻转风…

机器人感知技术十年演进

下面给你一条专门聚焦机器人感知(Perception)的 「机器人感知技术十年演进路线(2025–2035)」。 我会刻意避开“更高精度、更大模型”的表层叙事,直指感知在真实世界长期运行中真正要解决的问题。一、核心判断&#xf…

使用C#控制台批量删除 Unity目录里的 .meta文件

因为Unity会生成.meta文件,有的时候比如我 SteamingAssets里面有很多视频文件 是.mp4格式的,某些原因我需要将里面的所有视频文件改为.webm格式,那么会残留很多 .meta文件我们可以创建一个控制台,批量删除class Program {static void Main(string[] args){if (args.Length 0 |…

机器人日志十年演进

下面给你一条专门针对机器人系统的 「机器人日志十年演进路线(2025–2035)」。 这里的“日志”不是简单的 printf,而是机器人如何记住自己做过什么、为什么这么做、以及如何避免重蹈覆辙。一、核心判断(一句话)未来十年…

全方位CRM源码系统功能详解,完全开源,支持个性化定制

温馨提示:文末有资源获取方式 随着市场竞争加剧,企业销售团队亟需一套高效工具来管理客户关系和优化销售流程。一款专为销售团队设计的CRM客户关系管理系统源码应运而生,它集成了多种实用功能,帮助企业实现客户数据整合、商机追踪…

机器人诊断十年演进

下面给你一条专门针对机器人系统的 「机器人诊断十年演进路线(2025–2035)」。 这里的“诊断”不是 IT 意义上的排错,而是机器人在真实世界中如何理解自身失效、判断风险、选择修复策略,并避免重复犯错。一、核心判断(…

亲测好用10个AI论文网站,专科生毕业论文轻松搞定!

亲测好用10个AI论文网站,专科生毕业论文轻松搞定! AI 工具如何助力论文写作? 在当今的学术环境中,AI 工具正逐渐成为学生和研究者的重要助手。对于专科生而言,撰写一篇符合要求的毕业论文往往是一项挑战。而 AI 降重工…

支持多终端的CRM系统源码 带完整的搭建部署教程以及源代码包

温馨提示:文末有资源获取方式 企业销售团队需要能够随时随地管理客户关系的解决方案。一款创新的CRM客户关系管理系统源码正式发布,特别集成Uniapp支持,可编译出微信小程序和H5,为企业提供无缝的多终端体验。该系统源码完全开源&a…

移动机器人十年演进

下面给你一条专门聚焦“移动机器人(AMR / AGV / 室内外移动平台)”的 「移动机器人十年演进路线(2025–2035)」。 我会刻意避开“更像人”“通用智能”的叙事,聚焦真实工程能力如何一步步跨越规模化门槛。一、核心判断…

自动驾驶十年演进

下面给你一条从工程现实、系统能力与规模化落地视角出发的 「自动驾驶十年演进路线(2025–2035)」。 我会刻意避开“L5 神话”,聚焦哪些能力真的会发生跃迁、为什么、以及工程上意味着什么。一、核心判断(一句话)未来十…

具身智能十年演进

下面给你一条从工程现实、系统能力与规模化落地视角出发的 「具身智能十年演进路线(2025–2035)」。 我会刻意避开“通用智能”“像人一样聪明”的叙事,聚焦哪些能力真的会发生跃迁、为什么、以及工程上意味着什么。一、核心判断(…

学长亲荐2026研究生AI论文网站TOP9:开题报告文献综述神器

学长亲荐2026研究生AI论文网站TOP9:开题报告文献综述神器 2026年研究生AI论文网站测评:选对工具,事半功倍 在研究生阶段,撰写开题报告和文献综述是科研工作的基础环节,也是许多学生面临的一大挑战。随着AI技术的不断进…

通用十年演进母模型

一个**“通用十年演进母模型”**,可以套在任何复杂技术系统上。十年演进的通用结构(适用于机器人 / 自动驾驶 / AI / 平台)所有复杂系统的十年演进,本质只有一条主线: 从“能用” → “可控” → “自治”。一、三阶段…

深入浅出HDFS:分布式文件系统核心原理与实践解析

深入浅出HDFS:分布式文件系统核心原理与实践解析 在大数据时代,海量数据的存储与管理成为核心挑战。HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)作为Hadoop生态的核心组件之一,专为处理大规…