Skip to content

jinhyuk2me/PyroVision

 
 

Repository files navigation

1. Demo

Industrial Indoor Outdoor

2. Project Overview

PyroVision is an early fire detection and monitoring system that leverages the NPU and multimedia capabilities of the NXP i.MX8M Plus embedded board.
It applies RGB-IR Sensor Fusion technology to overcome the limitations of traditional single-sensor approaches.

  • Robustness: RGB detects smoke/flames (YOLOv8) while IR verifies actual heat, minimizing false positives.
  • Real-time Data Transmission: Detected data and fused video are transmitted to the control system via TCP/IP.
  • Intuitive Control: Monitor and control cameras in real-time through GUI/CLI.

3. Tech Stack

Category Technology
Language Python
Hardware NXP
Framework OpenCV PyQt6 GStreamer
AI/ML YOLOv8 TensorFlow Lite

4. Repository Structure

pyro_vision/
├── app.py                  # Main entry point
├── capture.py              # Capture script
├── receiver.py             # TCP receiving server
├── sender.py               # TCP transmission module
├── camera/                 # Camera sources
│   ├── rgbcam.py          # RGB camera
│   ├── ircam.py           # IR camera interface
│   ├── purethermal/       # PureThermal driver
│   ├── frame_source.py    # Frame source base class
│   └── device_selector.py # Automatic device selection
├── detector/
│   └── tflite.py          # YOLOv8 TFLite worker
├── gui/
│   └── app_gui.py         # PyQt6 GUI
├── core/
│   ├── state.py           # Camera state management
│   └── util.py            # Utility functions
├── configs/
│   ├── config.yaml        # Board configuration
│   ├── config_pc.yaml     # PC configuration
│   ├── schema.py          # Configuration schema
│   └── get_cfg.py         # Configuration loader
├── utils/
│   └── capture_loader.py  # Capture playback loader
├── tests/                 # Tests
└── model/                 # TFLite models and labels

About

Intelligent Fire Detection with Computer Vision

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 80.1%
  • Shell 19.9%