Skip to content

VBVR-DataFactory/G-1_object_trajectory_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-1: Object Trajectory Data Generator

Generates synthetic datasets for training and evaluating vision models on object trajectory prediction tasks. Each sample contains a shape that must be moved to a target position along the shortest path.

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-1
Task Object Trajectory
Category Transformation
Resolution 1024×1024 px
FPS 16 fps
Duration ~4 seconds
Output PNG images + MP4 video

🚀 Usage

Installation

# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/G-1_object_trajectory_data-generator.git
cd G-1_object_trajectory_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 scene contains a diamond object and a dashed target position (indicated by a dashed outline of the same shape). Keep the dashed target position unchanged. Move the diamond object to the dashed target position along the shortest path, ensuring it completely overlaps with the target.

Visual

Initial Frame
Object at starting position with dashed target visible
Animation
Object moves along shortest path
Final Frame
Object aligned with target, complete overlap achieved

📖 Task Description

Objective

Move a shape object from its starting position to a dashed target outline, following the shortest straight-line path and ensuring perfect alignment.

Task Setup

  • Shapes: Circle, square, triangle, or diamond
  • Object size: 70-pixel radius (140×140px bounding box)
  • Starting position: Random location with margin from edges
  • Target position: Random location, minimum 120px away from start
  • Background: Pure white with no borders
  • Goal: Achieve complete overlap between object and dashed target

Key Features

  • Dashed target outline remains visible throughout entire animation
  • Object travels in straight line (shortest path)
  • Random colors for each object (RGB 50-200 range)
  • Minimum separation distance ensures visible movement
  • Four distinct shape types for variety

📦 Data Format

data/questions/object_trajectory_task/object_trajectory_00000000/
├── first_frame.png      # Object at starting position with dashed target
├── final_frame.png      # Object overlapping with target position
├── prompt.txt           # Task instruction with shape specified
├── ground_truth.mp4     # Animation showing movement trajectory
└── question_metadata.json # Task metadata (objects, positions, etc.)

File specifications:

  • Images: 1024×1024 PNG format
  • Video: MP4 format, 16 fps
  • Duration: 4 seconds (1s hold + 2s movement + 1s hold)

🏷️ Tags

physics trajectory spatial-reasoning motion path-planning shape-alignment


About

This is the data generator for object trajectory task

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages