Skip to main content

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

UI Screenshot

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

avaw_cv_waste-0.1.0.tar.gz (5.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avaw_cv_waste-0.1.0-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

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

Hashes for avaw_cv_waste-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4dd8d35dc0438d5a7338cde94a93aa6455f4aca1833d22d01e6e21c49816d60c
MD5 a9930adb0f24ce246f3899db7527736a
BLAKE2b-256 a8f48a65c0dbd48055403e132261d0015c0d6d589ec82d4030150fb3e0ac01d9

See more details on using hashes here.

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

Hashes for avaw_cv_waste-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b83e59a5d7c241b430b7292100cf6d5dac753072ec3d068800bad888bc238e7b
MD5 762b667d6fd7aa401845759e16a6ea58
BLAKE2b-256 604876724d4f6c9df633bb293b7adf10458be394fe84109b1dda6ca765dbe9ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page