YDS downloads Twitch VODs or captures your screen, extracts frames, and uses an existing YOLO model to automatically generate bounding box labels. The result is a ready-to-use YOLO dataset (images + labels) for training.
Why? Creating YOLO datasets by hand is slow and repetitive. YDS automates most of this process while keeping you in control.
1. ๐ฅ Capture screen or download Twitch VOD
2. ๐ค Auto-label frames with YOLO model
3. ๐ท๏ธ Manually verify & correct labels (add/remove/fix classes)
4. ๐ฆ Split into train/val/test
5. โ๏ธ Train YOLO model built-in
Note: Label verification is a manual step where you can add, remove, or fix bounding boxes and classes on every image.
| Feature | What It Does |
|---|---|
| ๐น StreamCut | Download Twitch VODs, auto-extract & label frames (fully automated) |
| ๐ฎ Screen Capture | Record gameplay + auto-label with YOLO (semi-automatic) |
| ๐๏ธ Label Verification | Manual annotation tool โ add/edit classes on screenshots |
| ๐ฆ Dataset Split | Auto partition train/val/test with custom ratios |
| โ๏ธ Training | Built-in YOLO training interface |
| ๐ ONNX Benchmark | Test model inference speed & accuracy |
| Component | Requirement |
|---|---|
| OS | Windows 10/11 (primary), Linux (manual setup) |
| Python | 3.12+ |
| GPU | Recommended for real-time capture/inference |
| CUDA | Tested with 11.8 & 12.8 (newer versions compatible) |
| Platform | Install | Run |
|---|---|---|
| Windows | setup.bat |
run.bat |
| Linux | ./setup.sh |
./run.sh |
- Go to Dataset Tab โ Click Start Data Collection
- Configure: detection model, threshold, crop size, save interval
- Frames & labels auto-saved to
output_folder(see config.json)
Review and correct AI-generated labels, or add new bounding boxes with assigned classes.
- Go to Dataset Tab โ Click Label Verification
- Opens interactive OpenCV window
- View auto-labeled frames (or unlabeled screenshots)
- Add new bounding boxes with class assignment
- Edit or delete existing boxes
- Save annotations in YOLO format
โจ๏ธ Keyboard Controls (click to expand)
| Control | Action |
|---|---|
| ๐ฑ๏ธ Right-Click | Add bounding box (current class) |
| ๐ฑ๏ธ Left-Click | Remove box under cursor |
| ๐ฑ๏ธ Drag Corner | Resize box |
| Dropdown | Change class |
| Spacebar | Toggle label visibility |
| N / P | Next / Previous image |
| D | Delete image |
| S | Save changes |
| Q | Quit |
Automatically splits your dataset into train / val / test folders using standard YOLO directory structure.
- Go to Tools โ Split Dataset
- Select folder with
images/andlabels/ - Click Split โ Uses fixed ratios: 70% train / 15% val / 15% test
Output:
dataset_split/
โโโ train/ (70%)
โ โโโ images/
โ โโโ labels/
โโโ val/ (15%)
โ โโโ images/
โ โโโ labels/
โโโ test/ (15%)
โโโ images/
โโโ labels/
- Go to Training Tab
- Select
data.yaml - Set basic parameters: epochs, image size, batch size
- (Optional) Expand Advanced Options for augmentation & performance tuning
- Click Start Training
โก Advanced Options (click to expand)
Augmentation Settings:
{
"mosaic": 1.0, // Multi-scale training
"mixup": 0.1, // Image mixing
"fliplr": 0.5, // Horizontal flip
"flipud": 0.0, // Vertical flip
"scale": 0.5, // Random scaling
"hsv_h": 0.015, // Hue shift
"hsv_s": 0.7, // Saturation
"hsv_v": 0.4 // Brightness
}Regularization & Performance:
{
"amp": true, // Automatic Mixed Precision (faster training)
"patience": 20, // Early stopping threshold
"save_period": 10, // Save checkpoint every N epochs
"weight_decay": 0.0005
}Training Output Structure:
runs/valorant/exp1/
โโโ weights/
โ โโโ best.pt # Best model (highest mAP)
โ โโโ last.pt # Last epoch
โโโ results.csv # All metrics
โโโ plots/
โโโ confusion_matrix.png
โโโ F1_curve.png
โโโ PR_curve.png
โโโ results.png
What it does: Download Twitch VODs, automatically extract frames, run YOLO inference, save labeled dataset.
- Go to Tools โ Open StreamCut
- Add Twitch VOD URLs
- Choose: download quality, YOLO model, detection threshold, worker threads
- Downloads to
stream/raw_streams, outputs labeled frames tostream/dataset
How it works:
- You provide a pre-trained YOLO model
- Tool downloads VOD and splits into segments
- Runs inference on every N frames
- Saves detections as YOLO-format labels
- Result: fully labeled dataset ready for training
- Button "Sync" ะพัะผะตัะฐะตั ัะถะต ัะบะฐัะฐะฝะฝัะต ัััะธะผั
Key: Better input model = better auto-labeled dataset
What it does: Run inference on multiple ONNX models to compare detection results and model outputs.
- Go to Tools โ Benchmark ONNX Models
- Select folder with
.onnxmodel files - Click Run Benchmark โ Runs inference on each model with test images
- Results show per-model comparison table:
Model Shape nCls # Classes Conf1
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1.5kR6.onnx [8400, 6] 1 45 0 0.92
CS2 by Kwnema.onnx [8400, 7] 3 12 0,2,3 0.85
ABI_v3.onnx [8400, 84] 80 28 5,16,24 0.78
Why use it: Compare how different model architectures and quantizations detect objects in your test images.
What it does: One-click download of official YOLO weights for quick experimentation.
- Go to Tools โ YOLO Model Download
- Select model size: N (nano) / S (small) / M (medium) / L (large) / X (xlarge)
- Select version: v8 / v10 / v11 / v12
- Click Download โ Saves to
models/folder
Why use it: Start training without hunting for model files. Pre-trained weights ready to use immediately.
- configs/config.json โ GUI defaults, dataset collection, label verification settings
- configs/configStreamCut.json โ StreamCut settings (download workers, thresholds, etc.)
Full reference: docs/HELP.md
YolovTrainGui/
โ
โโโ ๐ GUI.py # Main application
โโโ ๐ setup.bat / run.bat # Windows scripts
โโโ ๐ setup.sh / run.sh # Linux scripts
โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ README.md # English guide (you are here)
โ
โโโ ๐ docs/
โ โโโ ๐ README_ru.md # Russian guide
โ โโโ ๐ HELP.md # Configuration reference (English)
โ โโโ ๐ HELP_ru.md # Configuration reference (Russian)
โ
โโโ ๐ Core/ # Core modules
โ โโโ ๐ train.py # YOLO training pipeline
โ โโโ ๐ฌ StreamCut.py # VOD processor
โ โโโ ๐ฎ semiauto_dataset_collector.py # Screen capture
โ โโโ ๐๏ธ labelConfig.py # Label verification tool
โ โโโ โ๏ธ splitDatasetFiles.py # Dataset splitter
โ
โโโ ๐ configs/ # Configuration files
โ โโโ โ๏ธ config.json # Main settings
โ โโโ ๐ฌ configStreamCut.json # StreamCut settings
โ
โโโ ๐ benchmark/ # Performance testing
โ โโโ ๐ benchmark.py # ONNX benchmarking
โ โโโ infer_function.py
โ โโโ ๐ models/ # ONNX models
โ
โโโ ๐ models/ # YOLO weights (.pt files)
โโโ ๐ datasets/ # Training datasets
โ
โโโ ๐ stream/ # StreamCut output
โ โโโ ๐ raw_streams/ # Downloaded VODs
โ โโโ ๐ chunks/ # Split segments
โ โโโ ๐ dataset/ # Labeled output
โ
โโโ ๐ runs/ # Training results
โ โโโ ๐ detect/train*/ # Model checkpoints & metrics
โ
โโโ ๐ docs/
โ โโโ ๐ images/ # Screenshots & diagrams
โ
โโโ ๐ utils/ # Utilities
โโโ ๐ ffmpeg/ # FFmpeg binaries
Q: Can I use my own YOLO model?
A: Yes, provide any .pt model file.
Q: Does it work without GPU?
A: Yes, but screen capture and VOD processing will be much slower.
Q: Can I combine datasets later?
A: Yes, all datasets are in standard YOLO format.
Q: What if I don't have a YOLO model yet?
A: Use Model Manager to download v8/v12 presets, or train a basic one first.
Q: I stopped StreamCut midโprocess. What should I do?
A: Delete stream/resume.json and ะถะตะปะฐัะตะปัะฝะพ ะพัะธััะธัั stream/dataset/ if you plan to reโrun.
Resume file tracks completed chunks; if you interrupted, it may mark them as finished.
YDS is a complete GUI solution for building YOLO datasets without CLI scripts.
Use YDS if you:
- โ Want to build YOLO datasets without manual labeling
- โ Work with Twitch streams or gameplay videos
- โ Need fast iteration on object detection models
- โ Want all tools in one place (capture, label, split, train) instead of gluing CLI scripts together
- โ Prefer GUI over command line for dataset management
- YouTube support for StreamCut
- Custom dataset merge tools
- Linux GUI improvements
- Multi-monitor capture
| Resource | Description |
|---|---|
| ๐ Configuration Reference | Detailed config.json & StreamCut settings |
| ๐ Russian Guide | ๐ท๐บ ะะพะปะฝะพะต ััะบะพะฒะพะดััะฒะพ ะฝะฐ ััััะบะพะผ |
| โ๏ธ Main Config | GUI defaults & dataset settings |
| ๐ฌ StreamCut Config | VOD download & processing settings |
| ๐ License | MIT License |
Made with โค๏ธ for the computer vision community
โญ Star on GitHub | ๐ Report Issue
Happy detecting! ๐
