Skip to content

VBVR-DataFactory/G-26_maintain_object_identity_different_objects_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-26: Maintain Object Identity Different Objects Data Generator

Generates synthetic datasets for training and evaluating vision models on object tracking and identity maintenance tasks. Each sample contains different objects that swap positions while maintaining their identities, with an arrow marking the original position.

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-26
Task Maintain Object Identity Different Objects
Category Abstraction
Resolution 1024×1024 px
FPS 16 fps
Duration ~5 seconds
Output PNG images + MP4 video

🚀 Usage

Installation

# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/G-26_maintain_object_identity_different_objects_data-generator.git
cd G-26_maintain_object_identity_different_objects_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 left object is green and the right object is orange. The scene shows two objects, one on the left and one on the right. Swap the positions of the left and right objects. After the swap, draw an arrow below the object that was originally on the right, pointing up at it.

Note: The prompt may also ask to mark the originally-right object instead (randomly chosen per task).

Visual

Initial Frame
Gray object left, red object right
Animation
Objects swap positions
Final Frame
Swapped, with arrow marking original left

📖 Task Description

Objective

Swap the positions of two different objects while maintaining their identities, then mark either the originally-left or originally-right object with an arrow (randomly chosen).

Task Setup

  • Objects: 2 distinct shapes with different colors (e.g., gray and red)
  • Shapes: 6 types available (circle, square, triangle, diamond, hexagon, pentagon)
  • Initial position: One object on left, one on right
  • Action: Swap positions horizontally
  • Identity tracking: Colors and shapes identify each object
  • Arrow marker: Upward-pointing arrow placed below originally-left OR originally-right object after swap (randomly chosen)
  • Background: White with clear visibility
  • Goal: Complete position swap with correct identity marker

Key Features

  • Different objects (distinct shapes/colors) for clear identity tracking
  • 6 shape types: circle, square, triangle, diamond, hexagon, pentagon
  • Horizontal position swap maintaining object properties
  • Arrow annotation indicating original position (left or right, randomly chosen)
  • Tests object permanence and identity maintenance
  • Color descriptions in prompt help identify objects
  • Smooth animation showing swap trajectory (~5 seconds)

📦 Data Format

data/questions/maintain_object_identity_different_objects_task/maintain_object_identity_different_objects_00000000/
├── first_frame.png      # Objects in original positions
├── final_frame.png      # Objects swapped with arrow marker
├── prompt.txt           # Swap and marking instruction
├── ground_truth.mp4     # Animation of swap and arrow placement
└── question_metadata.json # Task metadata

File specifications:

  • Images: 1024×1024 PNG format
  • Video: MP4 format, 16 fps
  • Duration: ~5 seconds

🏷️ Tags

visual-reasoning object-identity position-swap object-tracking spatial-reasoning annotation


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages