This repository contains the research, data pipelines, and computer vision models developed for COSC 448: Directed Studies in Computer Science at the University of British Columbia (Okanagan Campus).
In wildfire-prone regions, programs such as FireSmart Canada provide established guidelines for reducing residential wildfire risk through vegetation management and mitigation of combustible materials near structures. This project investigates the feasibility and suitability of using computer vision and machine learning techniques to analyze residential properties using imagery captured from consumer mobile devices or drones.
The primary goal is to engineer a prototype AI-assisted visual assessment system capable of processing recorded imagery or video footage and generating annotated feedback based on established FireSmart principles to serve as a reliable visual triage tool.
Object Detection: Identify immediate high-risk anomalies and localized structural vulnerabilities (e.g., adjacent woodpiles, outbuildings, wooden decks, combustible siding).
Instance Segmentation: Isolate and classify distinct vegetation groups, measuring continuous pixel groups like canopy cover, vegetation density, and coniferous vs. deciduous features.
Proximity & Spatial Logic: Develop custom geometric logic to estimate relative distances between structures and fuel clusters, automatically flagging risk indicators like "ladder fuels.
System Triage: Build an evaluation and overlay engine using OpenCV to draw color-coded dynamic alerts (Red/Yellow/Green) onto video streams based on structural proximity zone violations.
firesmart-machine-vision/
├── .gitignore # Prevents staging large weights, media, or virtual envs
├── README.md # Project overview and execution instructions
├── requirements.txt # Reproducible library dependencies (PyTorch, OpenCV, etc.)
├── data/ # Data directory (Excluded from Git tracking)
│ ├── raw/ # Unfiltered drone and mobile phone media
│ ├── processed/ # Resized, normalized, and augmented video frames
│ └── annotations/ # Exported labels (YOLO/Pascal VOC text formats)
├── docs/ # Academic and management tracking documentation
│ ├── developer_log.md # Weekly accountability journal and technical fixes
│ └── scope_definition.md # Structural guidelines mapping FireSmart rules to model classes
├── notebooks/ # Jupyter notebooks for model testing and EDA
│ └── 01_data_exploration.ipynb
└── src/ # Production-ready source code
├── __init__.py
├── data_preprocessing.py # Video frame extraction and normalization scripts
├── inference.py # Unified system live execution script
└── utils.py # Visual framing overlays and geometric distance logic