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

Image Image Image
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