luneta-luna/deep-gas-system

GitHub: luneta-luna/deep-gas-system

DeepGas是一个基于热成像计算机视觉的工业气体泄漏早期检测与监控原型系统,提供实时异常检测、风险区域评估、遥测上报和可审计工程报告生成能力。

Stars: 0 | Forks: 0

# DeepGas DeepGas 是一个工业监控系统,利用热成像计算机视觉、风险区域分析、遥测和事件报告来实现早期的气体泄漏检测。 该系统处理摄像头或视频流,检测移动的热力异常,评估事件的严重程度,跟踪虚拟风险区域,并在每次运行后生成可审计的工程报告。 ## 目的 DeepGas 专为对早期泄漏检测、操作安全和环境监测有严格要求的环境而设计: - 石油和天然气设施 - 炼油厂 - 化工厂 - 储存区 - 工业生产线 - 研究与验证实验室 目前的实现侧重于软件 pipeline:帧获取、异常检测、事件分类、dashboard 监控、数据导出和历史事件跟踪。 ## 功能特性 - 使用 OpenCV 进行热成像/视频帧获取 - 通过背景减法进行动态异常检测 - 用于运动估计的光流分析 - 用于风险区域升级的虚拟地理围栏 - 用于警报稳定性的移动平均平滑处理 - 用于工程监控的实时 dashboard - 使用 Paho MQTT 的可选 MQTT 遥测功能 - 基于 YAML 的配置 - 支持 Markdown、JSONL、CSV、JSON 和基于图表的报告 - 存档的运行历史记录,确保可追溯性 ## 架构 ``` deep-gas-system/ config/ default.yaml Runtime, detection, telemetry, and reporting settings deepgas/ alerting.py Alert data model and severity helpers config.py YAML configuration loader detection.py Computer vision detection pipeline geofence.py Virtual risk-zone evaluation pipeline.py Main runtime orchestration reporting.py Reports, charts, exports, and run archives telemetry.py MQTT telemetry publisher scripts/ analyze_video.py Headless video analysis utility dev_check.py Full local validation command generate_synthetic_video.py Thermal test-video generator for development smoke_test.py Fast detector validation samples/ synthetic-leak.mp4 Local generated test video reports/ latest_report.md Latest engineering report latest_events.jsonl Latest raw event log latest_events.csv Latest spreadsheet export latest_summary.json Latest run summary latest_charts/ Latest generated charts runs/ Archived runs by timestamp cpp/ README.md Reserved for future C++ processing core dashboard.py Local engineering dashboard main.py Command-line pipeline entry point requirements.txt Python dependencies ``` ## 安装 创建一个虚拟环境并安装依赖项: ``` python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt ``` ## 运行 Pipeline 使用 `config/default.yaml` 中配置的默认摄像头运行: ``` python main.py --config config/default.yaml ``` 使用视频文件运行: ``` python main.py --config config/default.yaml --source samples/synthetic-leak.mp4 ``` 运行时不显示 OpenCV 预览窗口: ``` python main.py --config config/default.yaml --source samples/synthetic-leak.mp4 --headless ``` ## Dashboard 启动本地工程 dashboard: ``` python dashboard.py --source samples/synthetic-leak.mp4 ``` 打开: ``` http://127.0.0.1:8000 ``` Dashboard 会显示处理后的视频流、当前严重程度、警报计数、检测到的区域、质心、光流幅度、风险区域接触情况、近期事件、图表以及最新的英文事件报告。 ## 报告 每次 pipeline 运行都会生成最新的输出: - `reports/latest_report.md` - `reports/latest_events.jsonl` - `reports/latest_events.csv` - `reports/latest_summary.json` - `reports/latest_charts/` 每次运行也会被归档到: ``` reports/runs// report.md events.jsonl events.csv summary.json charts/ ``` 该归档旨在用于工程审查、合规证据、事后分析以及与外部分析工具的集成。 ## 验证工具 运行完整的本地验证流程: ``` python scripts/dev_check.py ``` 运行快速的 detector 冒烟测试: ``` python scripts/smoke_test.py ``` 在不打开预览窗口的情况下分析视频: ``` python scripts/analyze_video.py --source samples/synthetic-leak.mp4 ``` ## 测试视频生成 本项目包含一个热成像测试视频生成器,用于可重复的开发和校准。 生成默认测试视频: ``` python scripts/generate_synthetic_video.py ``` 生成不同的场景: ``` python scripts/generate_synthetic_video.py --output samples/test-run-01.mp4 --seed 18 --leak-start 70 --frames 260 python main.py --config config/default.yaml --source samples/test-run-01.mp4 --headless ``` 常用参数: - `--seed`:更改生成的热噪声和羽流模式 - `--leak-start`:更改泄漏开始的时间 - `--frames`:更改视频时长 - `--fps`:更改帧率 - `--output`:更改输出路径 - `--colorize`:创建面向演示的彩色视频 ## 配置 编辑 [config/default.yaml](config/default.yaml) 以更改: - 输入源、分辨率和帧率 - 检测阈值 - 严重程度限制 - 地理围栏多边形 - MQTT broker 设置 - dashboard 预览行为 - 报告和归档路径 ## 路线图 - 集成真实的热成像摄像头源 - 添加针对微测辐射热计和热电堆阵列的校准配置文件 - 添加 C++20/OpenCV 加速以实现低延迟处理 - 添加 SocketCAN 支持,用于车辆和工厂环境 - 添加 MQTT broker 部署示例 - 添加历史 dashboard 视图 - 增加检测和报告组件的测试覆盖率 - 根据真实世界的热成像数据集进行验证
标签:CSV输出, OpenCV, Paho MQTT, YAML配置, 事件分类, 事件追踪, 光流分析, 化工厂, 安全生产, 安防监控, 实时仪表盘, 工业安全, 工业监控, 工程审计报告, 异常检测, 数据导出, 智能制造, 气体泄漏检测, 热异常检测, 热成像视觉, 物联网, 环境监测, 石油天然气, 移动平均平滑, 背景减除法, 虚拟地理围栏, 视频分析, 视频流分析, 计算机视觉, 边缘计算, 逆向工具, 遥测技术, 风险区域分析