Offline GUI tool for YOLO-style bounding box annotation in waste-management research
Project description
AVAW CV-Waste Bounding Box Tool
A lightweight desktop GUI tool for creating, editing, and managing YOLO-style bounding box annotations. Built with Tkinter, OpenCV, and Ultralytics for fast manual labeling and assisted annotation workflows.
✨ Features
- 🖼️ Interactive bounding box annotation GUI
- 🔍 Smooth zoom and pan support
- 🧠 Optional YOLO inference for assisted labeling
- 🏷️ Class-based color visualization
- 📂 Image list navigation
- ✏️ Resize, move, copy, and multi-select boxes
- 💾 Auto-save support
- 📊 Confidence display toggle
- 🎨 Custom class names and colors
- 🔄 Annotation translation utilities
🖥️ Screenshots
Aim of this Tool´s development
Quality annotations are essential for training reliable YOLO object detection models.
Many existing annotation tools are commercial, cloud-based, difficult to customize, or too complex for smaller research groups and industrial partners.
The AVAW CVAT BBox Tool was developed as a free and open-source alternative that can be adapted to specific scientific workflows, especially in waste management and recycling research, where open source data is scarce to non-existent. Especially because in this domain, images of particles with contamination, deformation and on conveyor belts, specific to the actual research question are necessary.
Thus, waste datasets often require highly specific object classes, such as plastics, paper, metals, hazardous waste, or mixed waste fractions. Existing tools may not easily support these specialized categories or the frequent changes that occur during research projects. Existing tools also often prohibit or complicate the use of custom pre-trained models, which may speed up the annotation process. Lastly, since many existing tools are cloud based, data sovereignty may not always be guaranteed - an increasingly precarious issue when working with industrial partners in research projects.
This tool allows users to:
Define their own custom annotation classes Load and use their own YOLO models for automatic predictions Work entirely offline without requiring cloud services Organize datasets according to their own folder structures and workflows Quickly review, edit, and correct annotations
A major design goal was ease of use.
The interface was developed iteratively to be simple and intuitive, even for users without a technical background.
Many annotation projects involve operators, students, laboratory staff, or industrial personnel who may not have experience with machine learning tools. The AVAW CVAT BBox Tool focuses on clear controls, minimal setup effort, and a straightforward workflow to make annotation accessible to a wider range of users.
The tool is intended to support both research and real-world applications.
By making annotation faster, easier, and more flexible, it can help improve:
Waste sorting and recycling systems Material recognition and classification Detection of contaminants and hazardous waste Dataset creation for custom AI models Scientific studies involving object detection and computer vision in waste management
Because the software is free, open-source, and fully customizable, users can adapt it to their own research questions, industrial environments, and annotation needs without being restricted by licensing costs or proprietary systems.
References
This tool has already been successfully used in the development of scientific datasets and in the publication of research related to waste detection, classification, and recycling workflows.
-
GreenPLAST-food: Grüne Kunststoffrecyclingfabrik für Lebensmittelkontaktmaterialien
-
Kiramet: KI-basierte Konditionierung von Schredderschrott – für grüneren Stahl
-
Deep learning approaches for classification of copper-containing metal scrap in recycling processes
Further publication details and citations will be added here as they become available.
🚀 Installation
To get started, download the latest version of the software from the Releases page.
After downloading and extracting the release files, open the INSTALL folder for detailed setup instructions.
The INSTALL folder contains step-by-step guides for both Conda-based and Pip-based installations, as well as optional instructions for enabling GPU acceleration with PyTorch.
📚 Demo
Visit the DEMO page for a detailed walkthrough of the application.
The DEMO section contains example datasets, usage instructions, and a step-by-step tutorial covering the main features of the tool, including:
- loading images and label folders
- creating and editing bounding boxes
- managing annotation classes
- loading YOLO models
- generating automatic predictions
- reviewing and correcting annotations
- exporting YOLO-compatible label files
The demo is intended to help new users get familiar with the interface and typical annotation workflow as quickly as possible.
📋 Requirements
Core dependencies:
- Python ≥ 3.12
- numpy
- pillow
- opencv-python
- natsort
- ultralytics
⚠️ Notes
- Tkinter must be available in your Python installation.
- Large Images may require additional RAM.
- Zooming of Large Images may lead to significant performance drops and RAM usage
- GPU acceleration depends on your PyTorch installation and Hardware Setup.
🐛 Known Limitations
- Limited undo history
- Designed primarily for YOLO bbox workflows
🤝 Contributing
If you want to contribute, feel free to contact Bojan Lorber via bojan.lorber@unileoben.ac.at.
Additionally, you can do so by reporting bugs and/or suggesting new feautures.
📄 License
MIT License
👤 Author
Gerald Koinig
Technical University of Leoben
Bojan Lorber
Technical University of Leoben
⭐ Acknowledgements
- OpenCV
- Ultralytics
- Tkinter
- Pillow
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avaw_cv_waste-0.1.0.tar.gz.
File metadata
- Download URL: avaw_cv_waste-0.1.0.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dd8d35dc0438d5a7338cde94a93aa6455f4aca1833d22d01e6e21c49816d60c
|
|
| MD5 |
a9930adb0f24ce246f3899db7527736a
|
|
| BLAKE2b-256 |
a8f48a65c0dbd48055403e132261d0015c0d6d589ec82d4030150fb3e0ac01d9
|
File details
Details for the file avaw_cv_waste-0.1.0-py3-none-any.whl.
File metadata
- Download URL: avaw_cv_waste-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b83e59a5d7c241b430b7292100cf6d5dac753072ec3d068800bad888bc238e7b
|
|
| MD5 |
762b667d6fd7aa401845759e16a6ea58
|
|
| BLAKE2b-256 |
604876724d4f6c9df633bb293b7adf10458be394fe84109b1dda6ca765dbe9ab
|