Generates synthetic datasets for training and evaluating vision models on geometric shape classification tasks. Each sample contains axis-aligned squares and rectangles where all squares must be identified and circled individually.
Each sample pairs a task (first frame + prompt describing what needs to happen) with its ground truth solution (final frame showing the result + video demonstrating how to achieve it). This structure enables both model evaluation and training.
| Property | Value |
|---|---|
| Task ID | G-146 |
| Task | Circle All Squares from Mixed Shapes |
| Category | Perception |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~3-4 seconds |
| Output | PNG images + MP4 video |
# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/G-146_circle_all_squares_from_mixed_shapes_data-generator.git
cd G-146_circle_all_squares_from_mixed_shapes_data-generator
# 2. Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3. Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
pip install -e .# Generate 50 samples
python examples/generate.py --num-samples 50
# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_dataset
# Reproducible generation with seed
python examples/generate.py --num-samples 50 --seed 42
# Without videos (faster)
python examples/generate.py --num-samples 50 --no-videos| Argument | Description |
|---|---|
--num-samples |
Number of tasks to generate (required) |
--output |
Output directory (default: data/questions) |
--seed |
Random seed for reproducibility |
--no-videos |
Skip video generation (images only) |
The scene shows 3 axis-aligned squares and rectangles. A square has equal width and height, while a rectangle does not. First identify all squares, then draw one red circle around each square. Do not circle any rectangles. Show the complete circling process step by step.
![]() |
![]() |
![]() |
| Initial Frame 5 mixed squares and rectangles |
Animation Each square circled individually |
Final Frame Red circles around all squares only |
Identify all squares among mixed quadrilaterals and circle each square individually with a red circle.
- Shapes: 5 axis-aligned quadrilaterals (squares and rectangles)
- Square criterion: Width equals height
- Rectangle criterion: Width does not equal height
- Task: Distinguish squares from rectangles, circle each square
- Marking: One red circle per square
- Constraint: Do not circle rectangles
- Background: White with clear visibility
- Goal: Circle all and only the squares
- Geometric shape classification
- Square vs rectangle discrimination
- Dimension comparison (width vs height)
- Tests understanding of geometric properties
- Multiple target identification
- Selective marking based on shape type
data/questions/circle_all_squares_from_mixed_shapes_task/circle_all_squares_from_mixed_shapes_00000000/
├── first_frame.png # Mixed squares and rectangles
├── final_frame.png # All squares circled
├── prompt.txt # Square identification instruction
├── ground_truth.mp4 # Animation of circling process
└── question_metadata.json # Task metadata
File specifications:
- Images: 1024×1024 PNG format
- Video: MP4 format, 16 fps
- Duration: ~3-4 seconds
visual-reasoning geometric-classification shape-recognition square-detection dimension-comparison selective-marking


