[ICIP 2025 SATELLITE WORKSHOP] UNREALFIRE: A SYNTHETIC DATASET CREATION PIPELINE FOR ANNOTATED FIRE IMAGERY IN UNREAL ENGINE
This repository contains:
- Modified AirSim files with our Particle segmentation camera presented in the paper
- Some extra tools for mask re-coloring and the dilation used in the paper.
- Link to download the AUW (Auth-Unreal-Wildfire) fire segmentation dataset we generated through this pipeline.
- You need to have
Unreal Engine Version 5.2installed. - Download AirSim/Colloseum from the original Repository.
- We used the
M5 VFX Vol2. Fire and Flames(Niagara)for fire assets and multiple sources for vegetation assets.
- (Optional) Use World Machine to create a custom landscape and/or Blender for custom 3D assets.
- Create a new project in UE and add the actor C++ files from the
Sourcefolder to the project's source folder. - Rewrite the project name in the actor files accordingly.
- Follow the default instructions from the original AirSim/Colloseum repository, all the way up to the installation step.
- Replace the downloaded
AirSim/Source/PIPCamera.cppand addAirSim/Content/HUDAssetsfrom this repository. - Continue with the AirSim installation.
- Add the Procedural Content Generation (PCG) graph to a PCG volume to generate actors.
- To add the particle segmentation camera, the ImageType is
10.{ "CameraName": "0", "ImageType": 10, "PixelsAsFloat": false, "Compress": true } - You can either record using the built-in recorder function from the editor or through the Python API.
- After obtaining the RGB images and Segmentation masks, place the
helper/binary.pyfile inside the masks folder to the masks binary. - (Optional) Run the
helper/mask\_wide.pyto smooth and dialite the generated masks.
In our paper, we gathered 1700 images through the UnrealFire pipeline and created AUW. The dataset is open-access and can be found here. Some Benchmark results can be found in Table 1 below. For a comprehensive presentation of UnrealFire and AUW, please refer to the paper. The RGB color vectors of the masks are [255,0,0] for fire, and [170,40,120] for background. There is a premade split (75% training - 25% validation), but you are encouraged to try other splits.
The +X% represents adding this X percentage of training images from the Corsican training set.
75% represents the whole Corsican training set.
| Training Dataset | Fire IoU | mIoU |
|---|---|---|
| Corsican | 86.95 | 91.60 |
| AUW | 45.07 | 65.86 |
| AUW + 1% | 78.17 | 86.06 |
| AUW + 2% | 81.33 | 87.99 |
| AUW + 5% | 83.80 | 89.49 |
| AUW + 10% | 87.52 | 91.98 |
| AUW + 25% | 87.22 | 91.82 |
| AUW + 50% | 87.80 | 92.14 |
| AUW + 75% | 89.35 | 93.18 |
If you find our work useful, please consider citing and starring:
@inproceedings{spatharis2025unrealfire,
title={Unrealfire: A Synthetic Dataset Creation Pipeline for Annotated Fire Imagery in Unreal Engine},
author={Spatharis, Evangelos and Papaioannidis, Christos and Mygdalis, Vasileios and Pitas, Ioannis},
booktitle={2025 IEEE International Conference on Image Processing Workshops (ICIPW)},
pages={610--615},
year={2025},
organization={IEEE}
}
