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.
| Category | Technology |
|---|---|
| Language | |
| Hardware | |
| Framework | |
| AI/ML |
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



