Pyrovision: wildfire early detection
The increasing adoption of mobile phones have significantly shortened the time required for firefighting agents to be alerted of a starting wildfire. In less dense areas, limiting and minimizing this duration remains critical to preserve forest areas.
Pyrovision aims at providing the means to create a wildfire early detection system with state-of-the-art performances at minimal deployment costs.
Quick Tour
Automatic wildfire detection in PyTorch
You can use the library like any other python package to detect wildfires as follows:
from pyrovision.models import rexnet1_0xfrom torchvision import transformsimport torchfrom PIL import Image# Initnormalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])tf = transforms.Compose([transforms.Resize(size=(448)), transforms.CenterCrop(size=448), transforms.ToTensor(), normalize])model = rexnet1_0x(pretrained=True).eval()# Predictim = tf(Image.open("path/to/your/image.jpg").convert('RGB'))with torch.no_grad(): pred = model(im.unsqueeze(0)) is_wildfire = torch.sigmoid(pred).item() >= 0.5
Setup
Python 3.6 (or higher) and pip/conda are required to install PyroVision.
Stable release
You can install the last stable release of the package using pypi as follows:
pip install pyrovision
or using conda:
conda install -c pyronear pyrovision
Developer installation
Alternatively, if you wish to use the latest features of the project that haven't made their way to a release yet, you can install the package from source:
git clone https://github.com/pyronear/pyro-vision.gitpip install -e pyro-vision/.
What else
Documentation
The full package documentation is available here for detailed specifications.
Demo app
The project includes a minimal demo app using Gradio
You can check the live demo, hosted on
Docker container
If you wish to deploy containerized environments, a Dockerfile is provided for you build a docker image:
docker build . -t <YOUR_IMAGE_TAG>
Minimal API template
Looking for a boilerplate to deploy a model from PyroVision with a REST API? Thanks to the wonderful FastAPI framework, you can do this easily. Follow the instructions in ./api
to get your own API running!
Reference scripts
If you wish to train models on your own, we provide training scripts for multiple tasks!Please refer to the ./references
folder if that's the case.
Citation
If you wish to cite this project, feel free to use this BibTeX reference:
@misc{pyrovision2019, title={Pyrovision: wildfire early detection}, author={Pyronear contributors}, year={2019}, month={October}, publisher = {GitHub}, howpublished = {\url{https://github.com/pyronear/pyro-vision}}}
Contributing
Please refer to CONTRIBUTING
to help grow this project!
License
Distributed under the Apache 2 License. See LICENSE
for more information.