The problem
Most fire damage happens in the minutes before anyone notices — warehouses, parking basements and factory floors burn while CCTV cameras watch silently, because nobody stares at every feed. This project gives those cameras eyes: a YOLOv8 detector fine-tuned on D-Fire (about 21,500 images with ~26,500 fire and smoke bounding boxes, including surveillance-camera footage) scans each frame for flames and smoke. A 3-frame persistence check suppresses flicker false-alarms; confirmed fire triggers the escalation chain — fire-panel signal, SMS to the supervisor list, and a logged event with the snapshot. The demo dashboard (the screenshots) shows a priority feed with fire/smoke boxes and confidence, a camera wall, a live event feed and a 24-hour alert history with response actions. Built with Ultralytics YOLOv8 and OpenCV, every stage — detection, confirmation, escalation — is explainable in the viva.
Surveillance camera watching warehouses, basements or factory floors.
Follow the working sequence
How it works
- Each CCTV frame is resized to 640×640 and normalized for the YOLOv8-s network.
- The network predicts bounding boxes for two classes — fire and smoke — with NMS (IoU 0.5) removing duplicates.
- Detections below the confidence threshold (default 0.40) are discarded.
- A detection must appear in 3 consecutive frames before it counts as confirmed, filtering transient glare and flicker.
- Confirmed fire raises a critical alert: fire-panel signal, SMS dispatch and an event-log entry with the snapshot frame.
- Smoke-only detections raise a warning-level alert for early investigation.
- The dashboard polls the event log and renders boxes, the camera wall, the live feed and the alert history.
Tech stack:
- Python 3, PyTorch, Ultralytics YOLOv8
- OpenCV (frame capture, persistence logic)
- D-Fire dataset (~21,500 images, GAIA)
- ONNX Runtime (edge deployment)
- NumPy, Matplotlib (evaluation plots)
- HTML/CSS/JS single-file dashboard (this demo)
Dataset & model details
- Dataset: D-Fire (Sharma et al., GAIA) — 21,527 images labeled fire / smoke / both / neither, with 14,692 fire and 11,865 smoke bounding boxes in YOLO format; imagery spans regular, aerial and surveillance cameras.
- Task: Two-class object detection; input = 640×640×3 frame, output = fire/smoke boxes with confidence, then temporal confirmation and escalation.
- Model: YOLOv8-s (approximately 11.2M parameters), fine-tuned; NMS IoU 0.5; confidence threshold 0.40; 3-frame persistence rule.
- Metrics: mAP@0.5 0.80, fire-class precision 0.92, smoke recall 0.85, under 2 false alarms/day — design targets for the built-to-order training run. The report documents the actually achieved figures.
| Parameter | Value |
|---|---|
| Input resolution | 640 × 640 |
| Classes | 2 (fire, smoke) |
| Training images | 21,527 (D-Fire) |
| Model | YOLOv8-s, approximately 11.2M parameters |
| mAP@0.5 | 0.80 (design target, not a measured claim) |
| False alarms | Under 2 per day (design target) |
| Detect-to-SMS | Approximately 4.2 s end-to-end (expected) |
| Inference | Approximately 30 ms/frame on a T4 GPU (expected) |
| Demo | Single-file HTML dashboard, runs offline after download |
Project features
- [Fire + smoke detection] YOLOv8 fine-tuned on D-Fire detects flames and smoke separately — smoke-only alerts give the earliest possible warning.
- [3-frame confirmation logic] A detection must persist across 3 consecutive frames before escalation, suppressing single-frame flicker false-alarms.
- [Escalation chain] Confirmed fire triggers a fire-panel signal, SMS to the supervisor list and a logged event with snapshot — the full response workflow.
- [Live monitoring dashboard] Priority camera feed with detection boxes, a camera wall, and a scrolling event feed in one single-file web UI.
- [Alert history & analytics] 24-hour event log with severity, confidence and recorded response actions; fire/smoke counts and detect-to-SMS latency.
- [Tunable sensitivity] Confidence and persistence thresholds are operator-adjustable; the false-alarm trade-off is measured in the report.
- [ONNX edge export] Weights export to ONNX for pole-side or on-premise edge inference without cloud dependency.
What is included
- Fine-tuned YOLOv8-s weights and the complete training notebook
- Detection + persistence + escalation Python pipeline
- Single-file HTML monitoring dashboard wired to pipeline outputs
- Training curves, mAP plots and false-alarm analysis for the report
- Project report PDF (background, dataset, methodology, results)
- PPT presentation for final review
- Viva Q&A preparation document (detection metrics, temporal confirmation, false-positive control)
Limitations & prerequisites
- Steam, welding glare and strong sun reflections are the known false-positive sources; the report documents them with examples.
- Very small or distant flames (a few pixels) may be missed — camera placement guidance is included.
- 0.80 mAP and the false-alarm rate are design targets — the report documents the actual achieved figures.
- As shipped, the system is a decision-support aid; it does not replace certified fire-alarm hardware and the report carries that disclaimer.
- SMS/panel integration needs site-specific hardware hooks, documented as deployment configuration.
Frequently Asked Questions
Which dataset is used and why?
D-Fire — 21,527 images with fire and smoke bounding boxes, including surveillance-camera footage. It is the largest open dataset for this exact task and covers the deployment domain.
How are false alarms controlled?
Two layers: a confidence threshold (default 0.40) plus a 3-frame persistence rule — a detection must survive 3 consecutive frames before escalation. The report measures the false-alarm rate with and without persistence.
Why detect smoke separately?
Smoke usually appears before visible flames; smoke-only alerts give the earliest warning and are escalated at warning severity for investigation.
What accuracy can I quote in my viva?
mAP@0.5 of 0.80, fire precision 0.92 and smoke recall 0.85 are design targets for the training run. Quote the report's achieved figures with the evaluation methodology.
Can it replace a fire alarm system?
No — it is a vision-based decision-support layer, not certified fire-alarm hardware. The report states this explicitly, and examiners respect the honesty.
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and AI/ML programs. It covers detection, temporal reasoning, alerting workflows and edge deployment with genuine safety relevance. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and AI & Machine Learning.
Components & software requirements
- Python 3, PyTorch, Ultralytics YOLOv8
- OpenCV (frame capture, persistence logic)
- D-Fire dataset (~21,500 images, GAIA)
- ONNX Runtime (edge deployment)
- NumPy, Matplotlib (evaluation plots)
- HTML/CSS/JS single-file dashboard (this demo)
Dataset & model details
- Dataset: D-Fire (Sharma et al., GAIA) — 21,527 images labeled fire / smoke / both / neither, with 14,692 fire and 11,865 smoke bounding boxes in YOLO format; imagery spans regular, aerial and surveillance cameras.
- Task: Two-class object detection; input = 640×640×3 frame, output = fire/smoke boxes with confidence, then temporal confirmation and escalation.
- Model: YOLOv8-s (approximately 11.2M parameters), fine-tuned; NMS IoU 0.5; confidence threshold 0.40; 3-frame persistence rule.
- Metrics: mAP@0.5 0.80, fire-class precision 0.92, smoke recall 0.85, under 2 false alarms/day — design targets for the built-to-order training run. The report documents the actually achieved figures.
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.