Generates synthetic datasets for training and evaluating vision models on edge cleanup and noise removal tasks. Each sample contains geometric shapes with spurious curved lines overlaid on straight edges that must be removed while preserving the original shapes.
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.
| Property | Value |
|---|---|
| Task ID | G-50 |
| Task | Suppress Spurious Edges |
| Category | Transformation |
| Resolution | 1024×1024 px |
| FPS | 16 fps |
| Duration | ~3 seconds |
| Output | PNG images + MP4 video |
# 1. Clone the repository
git clone https://github.com/VBVR-DataFactory/G-50_suppress_spurious_edges_data-generator.git
cd G-50_suppress_spurious_edges_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 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| 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) |
The scene shows 2 geometric shapes. One straight edge of each shape has an irregular spurious spline curve drawn on top of it (a wavy or zigzag line that does not match the straight edge). First identify the spurious spline curve(s), then smoothly fade out the spline curve(s) while keeping the original straight edge(s) unchanged. Keep the shapes fixed and do not add any new lines. Show the complete removal process step by step.
![]() |
![]() |
![]() |
| Initial Frame Shapes with spurious curves on edges |
Animation Spurious curves fade out smoothly |
Final Frame Clean shapes with only straight edges |
Identify and remove spurious curved lines overlaid on straight edges while preserving the original geometric shapes.
- Shapes: 3 geometric figures with straight edges
- Spurious curves: Irregular wavy or zigzag lines on top of straight edges
- Noise type: Spline curves that don't match underlying geometry
- Removal method: Smooth fade-out of spurious curves
- Constraint: Keep original shapes and straight edges unchanged
- Background: White with clear visibility
- Goal: Remove all spurious curves to reveal clean shapes
- Edge noise detection and removal
- Distinguishing spurious from genuine edges
- Smooth curve fade-out animation
- Tests understanding of shape regularity vs. noise
- Multiple shapes with independent spurious curves
- Preserves underlying geometry during cleanup
data/questions/suppress_spurious_edges_task/suppress_spurious_edges_00000000/
├── first_frame.png # Shapes with spurious curves
├── final_frame.png # Clean shapes without spurious curves
├── prompt.txt # Spurious edge removal instruction
├── ground_truth.mp4 # Animation of curve fade-out process
└── question_metadata.json # Task metadata
File specifications:
- Images: 1024×1024 PNG format
- Video: MP4 format, 16 fps
- Duration: ~3 seconds
visual-reasoning edge-detection noise-removal shape-preservation curve-suppression visual-cleanup


