PyroEngine provides a high-level interface to use Deep learning models in production while being connected to the alert API.
You can use the library like any other python package to detect wildfires as follows:
from pyroengine.core import Engine
from PIL import Image
engine = Engine()
im = Image.open("path/to/your/image.jpg").convert('RGB')
prediction = engine.predict(image)
Python 3.6 (or higher) and pip/conda are required to install PyroVision.
You can install the last stable release of the package using pypi as follows:
pip install pyroengine
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-engine.git
pip install -e pyro-engine/.
In order to run the projet, you will need to specific some information, which can be done using a .env file. This file will have to hold the following information:
API_URL
: the URL of the api where to send alertsLAT
: the latitude of the deviceLON
: the longitude of the deviceCAM_USER
: the user name to access cameraCAM_PWD
: the password name to access cameraLOKI_URL
: the loki URL where to export logsPROMTAIL_DEVICE_SCOPE
: the scope of the device (in order to filter devices logs with ease)PROMTAIL_DEVICE_NAME
: the name of the device (in order to filter devices logs with ease)
So your .env
file should look like something similar to:
API_URL=http://my-api.myhost.com
LAT=48.88
LON=2.38
CAM_USER=my_dummy_login
CAM_PWD=my_dummy_pwd
LOKI_URL=http://my-loki-service.com
PROMTAIL_DEVICE_SCOPE=tower_scope
PROMTAIL_DEVICE_NAME=tower_name
Additionally, you'll need a ./data
folder which contains:
credentials.json
: a dictionary with the IP address of your cameras as key, and dictionary with entrieslogin
&password
for their Alert API credentialsmodel.onnx
: optional, will overrides the model weights download from HuggingFace Hubconfig.json
: optional, will overrides the model config download from HuggingFace Hub
The full package documentation is available here for detailed specifications.
Please refer to CONTRIBUTING
if you wish to contribute to this project.
This project is developed and maintained by the repo owner and volunteers from Pyronear.
Distributed under the Apache 2 License. See LICENSE
for more information.