Skip to content

VBVR-DataFactory/G-248_mark_asymmetrical_shape_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-248: Mark Asymmetrical Shape Data Generator

Generates synthetic tasks where multiple shapes are displayed with exactly one being asymmetrical. The task is to identify and circle the asymmetrical shape with a red circle.

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-248
Task Mark Asymmetrical Shape
Category Perception
Resolution 1024×1024 px
FPS 16 fps
Duration ~3 seconds
Output PNG images + MP4 video

🚀 Usage

Installation

# Clone the repository
git clone https://github.com/Jiaqi-Gong/Gong_VBVR_Data.git
cd Gong_VBVR_Data/G-248_mark_asymmetrical_shape_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

Among the displayed shapes, exactly one is asymmetrical. Identify and circle that asymmetrical shape with a red circle. Do not change anything else.

Visual

Initial Frame
Multiple shapes without marking
Animation
Red circle drawn around asymmetrical shape
Final Frame
Asymmetrical shape identified and circled

📖 Task Description

Objective

Identify the single asymmetrical shape among a group of shapes (where all others are symmetrical) and mark it with a red circle.

Task Setup

  • Shape Count: 3-6 shapes per image
  • Shape Types: Polygons (5-8 sides), stars (5-7 points), crosses
  • Symmetry Status: All shapes except one are perfectly symmetrical
  • Asymmetrical Shape: Created by intentionally perturbing vertex positions
  • Circle Properties: Red circle (RGB: 255, 0, 0) completely enclosing the asymmetrical shape
  • Spacing: Minimum 50px gap between shape bounding boxes to prevent overlap

Key Features

  • Non-overlapping placement: Shapes maintain minimum gap to ensure clear visibility
  • Single correct answer: Exactly one asymmetrical shape per image
  • Varied asymmetry: Different types of asymmetry (rotational, reflective)
  • Random colors and sizes: Each shape has unique visual properties
  • Smooth animation: Circle fades in progressively over the asymmetrical shape
  • High-quality rendering: 1024×1024 resolution for clear shape details

📦 Data Format

data/questions/mark_asymmetrical_shape_task/mark_asymmetrical_shape_00000000/
├── first_frame.png      # Initial state (shapes without circle)
├── final_frame.png      # Goal state (asymmetrical shape circled)
├── 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 seconds long.


🏷️ Tags

symmetry-detection shape-analysis visual-reasoning geometry asymmetry-identification


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages