Skip to content

VBVR-DataFactory/O-10_shape_outline_fill_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

O-10: Shape Outline Fill Data Generator

Generates synthetic tasks showing an analogy A:B :: C:? with shape style transformations (filled vs outlined). The goal is to apply the same style change from A to B to shape 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-10
Task Shape Outline Fill
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-10_shape_outline_fill_data-generator.git
cd O-10_shape_outline_fill_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

Complete the A:B :: C:? shape-style analogy. Show how the right shape in the second row changes its fill or outline so that it follows the same style transformation used between the first two shapes.

Visual

Initial Frame
Analogy A:B :: C:? with style rule
Animation
Shape C changes style (filled/outline)
Final Frame
Style rule applied to C

📖 Task Description

Objective

Infer the style transformation (filled to outline, or outline to filled) from A to B in the analogy, then apply the same style change to shape C.

Task Setup

  • Analogy Format: A:B :: C:? with four positions
  • Top Row (Rule): Shows shape A and its style-changed version B
  • Bottom Row (Query): Shows shape C and unknown answer ?
  • Style Types: Filled (solid interior) or Outlined (hollow with border) - this generator modifies the style parameter (fill/outline properties) of shapes while keeping all other properties (shape type, color, size, position, rotation) unchanged
  • Style Inference: Determine style change from A to B
  • Rule Application: Apply same style transformation to C

Key Features

  • Analogical reasoning: Understanding A:B :: C:? relationship pattern
  • Style recognition: Distinguishing between filled and outlined shapes
  • Rule extraction: Identifying the style transformation from example
  • Rule application: Applying inferred style change to new shape
  • Shape preservation: Only style changes, shape geometry remains unchanged
  • Abstract reasoning: Generalizing style transformation across different shapes
  • Large-scale diversity: 20 distinct shapes, 40 transformation types, and 400 colors for extensive variety (6M+ unique combinations)

📦 Data Format

data/questions/shape_outline_fill_task/shape_outline_fill_00000000/
├── first_frame.png      # Initial state (analogy with query)
├── final_frame.png      # Goal state (query shape with new style)
├── prompt.txt           # Task instructions
├── ground_truth.mp4     # Solution video (16 fps)
└── question_metadata.json # Task metadata (objects, transformations, etc.)

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


🏷️ Tags

analogical-reasoning style-transformation visual-analogy fill-outline shape-style abstract-reasoning pattern-matching


About

Shape outline-fill visual analogy data generator (A:B :: C:?)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages