Files
dataset-yolo-script/README.md
T
2026-02-04 15:22:28 +07:00

62 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# YOLOv9 dataset augmentation
Augment a YOLOv9-format dataset by creating new image and label files for horizontal flip, vertical flip, +10% hue, +30% contrast, and grayscale. Labels are updated correctly for flips; other augmentations copy labels unchanged.
## Dataset layout
Expected structure:
```
dataset/
├── images/ # .jpg or .png
│ ├── img1.jpg
│ └── img2.jpg
└── labels/ # .txt, one per image, same base name
├── img1.txt
└── img2.txt
```
YOLO label format: one line per object: `class_id x_center y_center width height` (normalized 01).
If `images/` and `labels/` are not present, the script treats the given directory as containing both images and labels (flat layout).
## Setup
```bash
pip install -r requirements.txt
```
## Usage
Augment in place (new files appear next to originals in `images/` and `labels/`):
```bash
python augment_yolov9_dataset.py --dataset-dir ./dataset/train
```
Write augmented files to a separate directory (creates `train_aug/images/` and `train_aug/labels/`):
```bash
python augment_yolov9_dataset.py --dataset-dir ./dataset/train --output-dir ./dataset/train_aug
```
Other options:
- `--image-ext .png` — look for `.png` instead of `.jpg`
- `--suffixes hflip vflip` — run only horizontal and vertical flip (choices: `hflip`, `vflip`, `hue`, `contrast`, `gray`)
- `--dry-run` — print which files would be created without writing
## Output naming
For each image `img.jpg` with label `img.txt`, the script can create:
| Augmentation | Image | Label |
|----------------|-----------------|-----------------|
| Horizontal flip| `img_hflip.jpg` | `img_hflip.txt` |
| Vertical flip | `img_vflip.jpg` | `img_vflip.txt` |
| Hue +10% | `img_hue.jpg` | `img_hue.txt` |
| Contrast +30% | `img_contrast.jpg` | `img_contrast.txt` |
| Grayscale | `img_gray.jpg` | `img_gray.txt` |
Add these paths to your YOLOv9 data YAML or file lists to use the augmented set.