wildfire-detection
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: DamianKos
- Default Branch: main
- Size: 741 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
I am currently working on my final year project where I am using Computer Vision and training You Only Look Once (YOLO) models that will be able to detect fire and smoke for early wildfires detection and prevention. I am training and evaluating the performance and accuracy of three versions of the YOLO object detection models: YOLOv5, YOLOv6, and YOLOv7. My goal is to develop a reliable system capable of detecting fire and smoke signs in various environments to assist in rapid response and mitigation efforts.
YOLO is a state-of-the-art, real-time object detection system that is known for its speed and accuracy. It divides images into a grid system and predicts bounding boxes and probabilities for each grid cell. The versions used in this project, YOLOv5, YOLOv6, and YOLOv7, represent advancements in architecture, speed, and accuracy, making them ideal for real-world applications like wildfire detection.
Getting started
Python 3.8 or later
Conda environment
To get started with YOLOv5, clone the official repository and install the required dependencies.
!git clone https://github.com/ultralytics/yolov5
%cd yolov5
%pip install -r requirements.txt
Due to library conflicts after installing YOLOv7 dependencies in the same environment, additional environment variables are set to prevent errors. (warnings.warn("loaded more than 1 DLL from .libs:")
set PYTHONWARNINGS=ignore # Ignore Python DLL conflict warnings
set KMPDUPLICATELIB_OK=TRUE # Resolve OpenMP library conflict
How To Train
To train a YOLO model with your dataset, use the following command template. Replace placeholders with your specific dataset location, chosen model weights file, desired number of epochs, and number of workers if necessary.
python train.py --data (dataset location)/data.yaml --weights (choose model weights .pt file) --epochs (choose number of epochs) --workers (set workers if needed)
How to Detect
After training your model, you can perform detection on new images or videos by using the trained weights as follows
python detect.py --source (test file location) --weights (weights location from trained model)
Project Structure
yolov5/: YOLOv5 repository cloned from Ultralytics.
yolov7/: Directory for YOLOv7-specific files and weights (setup similar to YOLOv5).
Wildfire-V2-5/: Contains datasets, including images and annotations for training and testing.
models/: Custom model configuration files for YOLOv5, YOLOv6, and YOLOv7.
runs/: Output directory for training sessions and detection results.
Freezing Layers
Freezing layers is a technique used to prevent certain layers of a neural network from being updated during training.
When training your model, you can specify which layers to freeze by using the --freeze command followed by the layer indices.
python train.py --data (dataset location)/data.yaml --weights (model weights .pt file) --epochs (number of epochs) --freeze 0-8
Owner
- Login: DamianKos
- Kind: user
- Repositories: 1
- Profile: https://github.com/DamianKos