Skip to content

VBVR-DataFactory/O-9_shape_scaling_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

O-9: Shape Scaling Data Generator

Generates synthetic tasks showing an analogy A:B :: C:? with shape scaling transformations. The goal is to infer the scaling factor from A to B and apply the same scaling to C.

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 O-9
Task Shape Scaling
Category Abstraction
Resolution 1024×1024 px
FPS 16 fps
Duration ~3.8 seconds
Output PNG images + MP4 video

🚀 Usage

Installation

# Clone the repository
git clone https://github.com/VBVR-DataFactory/O-9_shape_scaling_data-generator.git
cd O-9_shape_scaling_data-generator

# Install dependencies
pip install -r requirements.txt

Generate Data

# Generate 100 samples
python examples/generate.py --num-samples 100

# Generate with specific seed
python examples/generate.py --num-samples 100 --seed 42

# Generate without videos
python examples/generate.py --num-samples 100 --no-videos

# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_output

Command-Line Options

Argument Type Description Default
--num-samples int Number of samples to generate 100
--seed int Random seed for reproducibility Random
--output str Output directory data/questions
--no-videos flag Skip video generation False

📖 Task Example

Prompt

The image shows an analogy A:B :: C:?. A and C are shapes in their original sizes, B is the scaled version of A, and ? is the missing scaled version of C. In the example A → B, the plus is enlarged to 115% of its original size (scaling factor 1.15). Infer this scaling factor by comparing A and B, then apply the same factor to C (the square) to decide what ? should look like as the correctly scaled version of C.

Visual

Initial Frame
Analogy A:B :: C:? with scaling rule
Animation
Shape C scales by same factor as A→B
Final Frame
Scaling rule applied to C

📖 Task Description

Objective

Infer the scaling factor from A to B in the analogy, then apply the same scaling to shape C to determine the answer.

Task Setup

  • Analogy Format: A:B :: C:? with four positions
  • Top Row (Rule): Shows shape A and its scaled version B
  • Bottom Row (Query): Shows shape C and unknown answer ?
  • Scaling Inference: Determine scaling factor from A to B (e.g., 1.10 = 110%) - this generator modifies the scale parameter of shapes while keeping all other properties (shape type, color, position, rotation) unchanged
  • Rule Application: Apply same scaling factor to C
  • Uniform Scaling: Both width and height scaled by same factor

Key Features

  • Analogical reasoning: Understanding A:B :: C:? relationship pattern
  • Scale inference: Extracting scaling factor from example transformation
  • Rule application: Applying inferred scaling to new shape
  • Proportional scaling: Maintaining aspect ratio during transformation
  • Factor preservation: Maintaining exact scaling factor across different shapes
  • Abstract reasoning: Generalizing scaling transformation across different geometries
  • Large-scale diversity: 20 distinct shapes, 36 scale factors, and 400 colors for extensive variety (5.4M+ unique combinations)

📦 Data Format

data/questions/shape_scaling_task/shape_scaling_00000000/
├── first_frame.png      # Initial state (analogy with query)
├── final_frame.png      # Goal state (query shape scaled)
├── prompt.txt           # Task instructions
├── ground_truth.mp4     # Solution video (16 fps)
└── question_metadata.json # Task metadata

File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, approximately 3.8 seconds long.


🏷️ Tags

analogical-reasoning scaling-transformation visual-analogy scale-inference geometric-transformation abstract-reasoning proportional-scaling


About

Shape scaling visual analogy data generator (A:B :: C:?)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages