YoloTagger is a lightweight, desktop Python application for labeling images for object detection datasets.
It supports JSON (raw), YOLO, and COCO formats, allows class management, and can leverage pretrained YOLO models for automatic predictions.
- Open single images, folders, or datasets with train/val splits
- Add, edit, and remove object classes with customizable colors
- Draw bounding boxes (rectangles) and polygon masks
- Load existing labels in JSON, YOLO, or COCO format
- Save annotations in the same formats
- Load YOLO
.ptmodels for automatic prediction - Automatically maps model predictions to your dataset classes
- Lightweight and modular architecture
-
Clone the repository:
git clone https://github.com/wojciechc1/YoloTagger.git cd YOLOTagger -
Install dependencies:
pip install -r requirements.txt
- Launch the GUI:
python main.py
- Open a file, folder, or dataset.
- Add object classes or edit existing ones.
- Draw bounding boxes or masks on images.
- Optionally, load a pretrained YOLO .pt model to auto-predict labels.
- Save your annotations in JSON, YOLO, or COCO format.
YoloTagger/
│ README.md
│ LICENSE
│ requirements.txt
│
├───app/
│ ├───core/ # Dataset management, model handler, label & session logic
│ ├───gui/ # PyQt5 GUI (panels, dialogs)
│ ├───items/ # Custom annotation items
│ └───temp/ # Temporary session/cache files
│
├───docs/
└───examples/ # Example datasets and YOLO modelsThis project is licensed under the MIT License. See LICENSE for details.
- Edge-case handling and error prevention
- Auto-syncing of unique classes with model predictions
- Support for more annotation shapes
- Better model integration
- Performance optimizations for large datasets
Feel free to submit issues or pull requests. For now, this is a student/experimental project, so contributions are welcome but may not be fully merged.
- PyQt5
- Ultralytics YOLO
- Inspiration from LabelImg Annotate
