Synthetic Dataset Generation
Our synthetic dataset generation system, “not-stolen,” creates aerial image datasets by compositing target objects onto runway backgrounds of the competition venue. The goal is to create large-scale training and testing datasets for our CV models without the cost and time of manual data collection and annotation. We also plan to use this as our mock camera in simulated test flights.
1. Background Image Selection and Preparation
- We maintain a collection of aerial background images organized by altitude folders (100-ft, 150-ft, 200-ft)
- These images are retrieved via Google Earth
- For each generated image, a random background is selected from the available pool
- Altitude metadata is extracted from the folder structure to inform target scaling
2. Target Object Selection and Categorization
- Target objects are loaded from a directory structure where folder names indicate target types (cars, planes, human figures, etc.)
- Each target type has predefined scaling parameters stored in a configuration file
- It randomly selects target objects from the available categories
- Multiple targets can be placed in a single image, with configurable probability distributions
3. Target Transformation and Scaling
- Altitude-based scaling: Targets are automatically scaled based on the background's altitude.
- Rotation: Each target receives a random rotation angle (0-360 degrees)
- Translation: Targets are randomly positioned within the image bounds, with constraints to keep them reasonably centered
- Geometric transformations: All transformations are applied using matrix operations for precise positioning
4. Image Compositing and Overlap Prevention
- As we place images onto the background, we check for overlapping targets using bounding box intersection
- When overlaps are detected, targets are automatically repositioned to prevent occlusion
- This ensures each target remains clearly visible and separately identifiable
5. Visual Effects Application
We also apply various blurs to simulate camera movements.
- Motion blur: Simulates camera movement with configurable direction and intensity
- Gaussian/median/mean blur: Adds realistic image degradation effects
- Blur parameters: Randomized within specified ranges to create natural variation
6. Metadata Generation and Export
For each generated image, the system creates comprehensive metadata including:
- Bounding boxes: Precise coordinates for each target in (x1, y1, x2, y2) format
- Target classifications: Object type labels for each placed target
- Rotation angles: Exact rotation applied to each target
- Altitude information: Flight altitude associated with the background
- Unique identifiers: Index numbers for tracking individual targets