Inspiration
The line “fire surrounding, not a tree or their friend (animal) alive!” captures the stakes of Australian bushfires. Minutes matter. Manual watchtowers don’t scale, and early smoke cues are often missed before flames are obvious. BushGuard exists to flip the script: detect earliest signals (smoke) fast enough to change outcomes—smaller burn area, faster dispatch, safer crews and wildlife.
What it does
Detects smoke & fire in real time from camera feeds (towers, drones, ranger stations) using YOLOv8. Annotates frames/videos and saves evidence for audit & triage. Runs anywhere: GPU-accelerated (CUDA) or CPU-only with graceful degradation. Operator controls: tunable confidence/IoU, optional class-specific thresholds (favor smoke recall). Designed for deployment: lightweight pipeline now; alerting & GIS hooks next.
How we built it
Data → Model → Post-processing → Inference → Evaluation → Packaging Dataset (Roboflow). Curated & labeled smoke and fire; train/val/test split (≈70/20/10). Applied augmentations (HSV shifts, flips, mosaic) to handle glare, haze, and time-of-day variability. Model (Ultralytics YOLOv8). Trained yolov8s for accuracy and yolov8n for edge latency (imgsz=640, ~100 epochs, batch tuned to VRAM). Plus class-specific thresholds (smoke vs fire) to bias for early smoke signals. DevEx & Packaging. Jupyter notebook for repro + CLI one-liners. Demo assets (demo.mp4, demo.gif) included. Weights are provided; recommend hosting via Releases/LFS for scale.
Challenges we ran into
Domain shift. Haze, twilight, and smoke-like clouds created confounds → addressed with augmentations and calibrated thresholds. Glare & small flames. Sunrises/sunsets and distant fires caused false positives → mitigated with class-specific thresholds and light temporal smoothing. Latency vs accuracy. Balanced yolov8n (edge) vs yolov8s (accuracy) and measured FPS explicitly. Early-smoke scarcity. Rare positives at onset → iterative dataset growth with Roboflow versioning.
Accomplishments that we're proud of
End-to-end system from data to live inference—portable across CPU/GPU. Smoke-first tuning that improves practical early-alert usefulness. Stable demo on varied scenes with annotated outputs (demo.mp4, demo.gif). Clean operator experience (threshold knobs, reproducible commands).
What we learned
Early signals ≠ later signals. Smoke demands different thresholds than flames; one size doesn’t fit all. Operational knobs are product features. Conf/IoU/class-specific thresholds unlock field usability. Simple temporal logic wins. Lightweight smoothing reduces flicker/false alarms without heavy trackers. Reproducibility pays off. Notebooks + CLI + saved artifacts make iteration and review fast.
What's next for BushGuard: Early Australian Forest Fire Detection
Alerts & dashboard: SMS/webhooks + a minimal incident console. GIS context: Wind, humidity, fuel maps; basic spread modeling overlays. Edge builds: Jetson/Coral support with quantization/distillation. Multimodal fusion: Tower cameras + satellite to boost recall while containing false positives. Active learning loop: Auto-queue uncertain frames for annotation to improve the dataset continuously.
Log in or sign up for Devpost to join the conversation.