Skip to content

VBVR-DataFactory/G-146_circle_all_squares_from_mixed_shapes_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-146: Circle All Squares from Mixed Shapes Data Generator

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.


📌 Basic Information

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

🚀 Usage

Installation

# 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 Data

# 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

Command-Line Options

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)

📖 Task Example

Prompt

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.

Visual

Initial Frame
5 mixed squares and rectangles
Animation
Each square circled individually
Final Frame
Red circles around all squares only

📖 Task Description

Objective

Identify all squares among mixed quadrilaterals and circle each square individually with a red circle.

Task Setup

  • 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

Key Features

  • 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 Format

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

🏷️ Tags

visual-reasoning geometric-classification shape-recognition square-detection dimension-comparison selective-marking


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages