This repository contains the code used to generate synthetic images of wind turbines, as well as the trained YOLOv11 object detection model based on this synthetic dataset.
This is the camera-ready version of the code for the publication of the ICMV paper “Wind Turbine Feature Detection Using Deep Learning and Synthetic Data” by Arash Shahirpour, Jakob Gebler, Manuel Sanders, and Tim Reuscher.
Future development will include:
- Integration into a Docker environment
- Simplified parameterization and configurability
- A production-grade release
- BlenderProc (GPLv3)
- YOLOv11 (AGPL-3.0)
- NumPy, Pillow, OpenCV, and other standard Python libraries
It is recommended to use a virtual environment to manage dependencies.
-
Create and activate the virtual environment:
python3.11 -m venv ./venv source ./venv/bin/activate -
Install the required package:
pip install blenderproc==2.7
-
Prepare background images: Create a directory named
backgroundin thetoolboxdirectory and populate it with random images (e.g., landscapes) to be used for background randomization.- Recommended source: LHQ-1024 Dataset
Run the main processing script within the toolbox directory:
blenderproc run main.pyImportant: BlenderProc 2.7 automatically installs Blender 3.5.1. Ensure your scene files were created with Blender 3.5.1 to align with this version.
- Arash Shahirpour
- Jakob Gebler
- Manuel Sanders
With contributions from Tim Reuscher. Institute of Automatic Control – RWTH Aachen University
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
It includes and modifies components from YOLOv11 (AGPL-3.0), and uses BlenderProc (GPLv3), both of which enforce free software licensing.
See the LICENSE file for full terms.
© 2025 Arash Shahirpour, Jakob Gebler, Manuel Sanders, RWTH Aachen University.