-
Download CityEngine, and open CityEngine
-
Create a New CityEngine Project, then create a 3d scene (.cej), which should be in the "scene" folder (in scenes/.cej), and in the top bar, use "Rectangular shape creation" to draw a rectangle in the 3d scene.
-
Prepare background images (maps/*.jpg or *.png), we can directly drag the background image into the shape you draw in the scene.
-
Prepare 3D airplane models (assets (*.OBJ, *.glb, *.fbx)
-
Create a rule (rules/*.cga) to design the loacation, size, color of 3D airpplane models assets/*.obj
-
Write a python script (scripts/*.py) to capture overhead images, and to control virtual camera height, environment parameters(e.g. solar elevation angle, solar azumith angle and shadow intensity)
-
Run python files (F9) in CityEngine, then all captured files will be saved in the folder of images
Illustration of synthetic data generation process
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
Background Images | ![]() |
![]() |
![]() |
![]() |
![]() |
RGB Images | ![]() |
![]() |
![]() |
![]() |
![]() |
GT annotations | ![]() |
![]() |
![]() |
![]() |
![]() |
the background images are projected with a certain degree in CE
git clone https://github.com/yangxu351/synthetic_xview_airplanes.git
Note: there is a bug of math log function in CityEngine
If you find these models useful for your resesarch, please cite with these bibtexs.
SIMPL: Generating Synthetic Overhead Imagery to Address Zero-shot and Few-Shot Detection Problems
@article{xu2021simpl,
title={SIMPL: generating synthetic overhead imagery to address custom zero-shot and few-shot detection problems},
author={Yang Xu and Bohao Huang and Xiong Luo and Kyle Bradbury and Jordan M. Malof},
year={2022},
journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing}
}