Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Vision Dataset QA and Annotation Workbench

A small Python workbench for checking image datasets and YOLO-style annotations before they are used as training or test data. It generates synthetic sample images, validates labels, creates train/validation/test split manifests, renders annotation overlays, and writes human-readable QA reports.

Why this project exists

AI/Vision teams depend on careful data preparation and annotation quality. This project demonstrates the support workflow around training data rather than claiming a production computer-vision system.

Architecture

flowchart LR
  A["Images + YOLO labels"] --> B["Parser"]
  B --> C["Validation rules"]
  C --> D["QA report"]
  B --> E["Split manifests"]
  B --> F["Overlay previews"]
Loading

Repository structure

vision-dataset-qa-workbench/
├── src/
│   ├── generate_sample_data.py
│   ├── render_overlays.py
│   ├── split_dataset.py
│   ├── validate_dataset.py
│   └── yolo.py
├── docs/
├── tests/
├── requirements.txt
└── README.md

Quick start

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

python -m src.generate_sample_data --out data/sample
python -m src.validate_dataset --images data/sample/images --labels data/sample/labels --out reports
python -m src.split_dataset --labels data/sample/labels --out reports/splits
python -m src.render_overlays --images data/sample/images --labels data/sample/labels --out reports/overlays

Example outputs

  • reports/qa_report.json
  • reports/qa_report.md
  • reports/splits/train.txt
  • reports/splits/val.txt
  • reports/splits/test.txt
  • reports/overlays/*_overlay.jpg

The generated sample data intentionally includes a missing label file, an empty annotation file, and an out-of-range box so the QA report has realistic findings to discuss.

Tracked examples are included under docs/sample-output/:

Testing

python -m pytest

Current status

Runnable MVP. It is designed for portfolio evidence around data quality, annotation QA, and careful AI/Vision support work. It is not a production annotation platform.

Resume-safe wording

  • Built a Python QA workbench for image datasets that validates YOLO-style annotations, creates train/validation/test splits, renders overlay previews, and writes documented QA reports from synthetic sample data.
  • Implemented tests and GitHub Actions so the annotation parsing, split generation, and overlay workflow can be verified reproducibly.

Interview-safe talking points

  • Why annotation quality matters before model training.
  • How the validator catches missing labels, malformed boxes, out-of-bounds boxes, and class imbalance.
  • Why the project uses synthetic data and documents limitations instead of pretending to use real airport imagery.

About

Python workbench for image annotation QA, train/test splits, and overlay reports

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages