A bushfires object detector using mobilenet v2/v3 as feature extractor.
AI For Mankind downloaded the public domain HPWREN Cameras images and annotated these images with bounding boxes for object detection.
Bounding Box Annotated Wildfire Smoke Dataset (Pascal VOC annotation format) Version 1.0 for smoke detection. Thank you our founder Wei Shung Chung in creating this first set of bounding boxes. In total, 744 bounding box annotated images are created.
Bounding Box Annotated Wildfire Smoke Dataset (Pascal VOC annotation format) Version 2.0 This is the latest annotated images we created with the help of our volunteers. It has 2192 annotated images.
Credits to AI For Mankind and HPWREN.
Datasets: https://github.com/aiformankind/wildfire-smoke-dataset
It is highly recomomended to run the training scrips inside of python environment, in case the system does not have any use the following procedure (check Virtualenvwrapper Installation for more details).
$ pip install --user virtualenvwrapper virtualenv
Add three lines to your shell startup file (.bashrc, .profile, etc.) to set the location where the virtual environments should live:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
After editing it, reload the startup file (e.g., run source ~/.bashrc
) and create a python environment:
$ mkvirtualenv venv_py
$ workon venv_py
Once the python environment was configured, run the following procedure to install all the required packages
(venv_py)$ git clone https://github.com/ahestevenz/bushfires-object-detection
(venv_py)$ cd bushfires-object-detection
(venv_py)$ pip install .
The following script will be used to train the model.
(venv_py)$ bn-run-train --help
usage: bn-run-train [-h] [-j JSON_FILE] [-v] [-p output.prof]
Welcome to the Bushfires Detector training script
optional arguments:
-h, --help show this help message and exit
-j JSON_FILE, --json_file JSON_FILE
JSON configuration (default: "/Users/ahestevenz/Desktop/tech-projects/1_code/bushfires-object-detection/config.json")
-v, --verbose Increase logging output (default: INFO)(can be specified several times)
-p output.prof, --profile output.prof
Run with profiling and store output in given file
Run the above command to start the training (check the data
and artefacts
paths in config.json
first)
(venv_py)$ bn-run-train --json_file config.json
To evaluate the model indicated in config.json
file, run this command:
(venv_py)$ bn-run-test --json_file config.json
Result using Smoke V1
dataset:
Result using Smoke V2
dataset:
- Add Docker container option to run/train models
- Add release revision for Smoke datasets by using DVC
- Notebook example