VIVA: Versatile Intelligent Visual Annotation Tool
Project description
🚀 VIVA: Versatile Intelligent Visual Annotation Tool ⚙️
🧠 Overview
VIVA is a modern, smart visual annotation tool built with PyQt5, designed to streamline dataset preparation for computer vision tasks such as object detection and image classification.
Whether annotating a custom dataset or working with a well-organized dataset, VIVA significantly reduces annotation time for users through its:
- ⚡ Intuitive Interface — Simple, clean, and user-friendly design
- 🧠 Smart Automation Techniques — Efficient features that simplify repetitive tasks
- 🧩 Optimized Workflow Design — Smooth navigation and quick annotation management
✨ These capabilities allow annotators to focus more on accuracy and less on manual repetitive work, making VIVA a powerful tool for AI developers, researchers, and dataset creators.
🌟 Key Features
- 🪶 User-friendly PyQt5 GUI
- 🎯 Object detection and image classification annotation modules
- ⌨️ Efficient keyboard shortcuts and Smart Options for fast labeling
- 🔍 Zoom, pan, and interactive label visualization
- 🧾 YOLO-compatible output formats
- 🧩 Modular design for future expansion (augmentation, segmentation)
🧰 Object Detection Annotation
VIVA’s Object Detection Module is packed with innovative features:
- 🎯 Bounding Box Limits: Set a maximum number of boxes per image; auto-switch to the next image when the limit is reached
- 🧠 Smart Undo: Press
Ato navigate to the previous image and delete the last bounding box drawn - 🔺 Flexible Shapes: Draw rectangles, squares, circles, or polygons
- ⌨️ Keyboard Shortcuts:
Del→ Remove boxesA→ Smart Previous image with Delete FunctionD→ Next imageEnter→ Save- 🖱️ One-click mode for drawing boxes
- 🪟 Interactive GUI: Zoom, pan, color-coded boxes, and label reflector for multi-class clarity
- 📂 File Navigation: Browse images with progress tracking (e.g., “3/10”)
- ⚠️ Error Handling: Clear
QMessageBoxalerts ensure smooth operation
💡 These features make VIVA uniquely efficient, saving annotation time compared to other tools.
🖼️ Image Classification Annotation
VIVA’s Image Classification Module streamlines labeling with:
- 🔘 Single & Multi-Label Modes: Toggle between single-label and multi-label modes via radio buttons
- 💡 Auto-Suggestion for Labels: Completer suggests previously used labels while typing
- 🪄 Default Label Application: Apply a default label to images using the
Spacekey; single-mode overwrites existing labels with confirmation - ⌨️ Time-Saving Shortcuts:
D→ Next imageA→ Previous image (clears labels for quick corrections)Del→ Remove selected/all labels
- 📁 Efficient File Management: Copies images to label-specific directories with progress tracking
- 🔍 Interactive GUI: Zoom in/out, reset zoom, and pan with clean layout
- 🪞 Label Reflector: Displays current labels with visual feedback
- ⚠️ Robust Error Handling: User-friendly alerts for missing directories or invalid images
⚡ These features minimize repetitive tasks, making annotation faster and more intuitive than competing tools.
💻 Tech Stack
- 🐍 Python – Core logic and processing
- 🖥️ PyQt5 – GUI interface
- 🎯 YOLO Integration – Optimized for object detection datasets
- 🧩 Modular Design – Scalable for future modules like augmentation or segmentation
🖼 Background Image Attribution
🖌️ The background image used in VIVA:
- Title: "4K Marvel and DC Vector Art"
- Author / Source: Wallpapers.com
- URL: https://wallpapers.com/wallpapers/4k-marvel-and-dc-vector-art-pmkg7yqt3zz8bmcc.html
- License: Free, Attribution required
- Modifications: Color filters applied for VIVA’s UI
✅ This attribution satisfies the license requirement and ensures legal usage.
🔮 Future Works
🚧 The following modules are planned for future development:
- 🧬 Data Augmentation Tool – To enhance datasets with transformations and increase model robustness
- 🎨 Instance Segmentation & Key Point Detection Tools – For detailed labeling in complex vision tasks
- 👨💻 All future updates will be developed solely by the project author
🪪 License
This project is licensed under the MIT License . © 2025 Vishnu Vardhan Reddy Biyyapu
📦 Installation
Follow these steps to install and run VIVA:
1. Install Python
Make sure you have Python 3.8 or higher installed:
python --version
2. Create a Virtual Environment (Recommended)
It’s recommended to use a virtual environment to avoid conflicts with other Python packages:
python -m venv viva_env
Activate the environment:
- Windows:
viva_env\Scripts\activate
- Linux / macOS:
source viva_env/bin/activate
3. Install Required Packages
- Before running VIVA, install all required packages listed in requirements.txt:
pip install -r requirements.txt
This ensures all Python dependencies needed for VIVA are installed correctly. ⚠️ Note: Installing from PyPI (pip install viva) will also install these dependencies automatically.
4. Install and Run VIVA
After dependencies are installed:
From terminal/command prompt:
vivaa
From Python script:
from vivaa.main import main
main()
🛠 Workflow & Help Section
After successfully installing and running VIVA (viva command), you can access the Help Section directly from the application to learn about its workflow, shortcuts, and smart options designed for faster annotation.
How to Access Help:
- Launch VIVA using the terminal or command prompt:
vivaa
- In the main VIVA window, hover your mouse over the title bar “VIVA □ ▭ ○”.
- Click on the title — this will open the Help Section.
--
🎥 Demo Video
See VIVA in action! Watch a short demo showing the object detection and image classification modules, shortcuts, and smart options in real-time.
🔗 Watch the demo of Object Detection Annotation Tool on LinkedIn
🔗 Watch the demo of Image Classification Tool on LinkedIn
Note: The video showcases VIVA’s workflow, time-saving features, and user-friendly interface for dataset annotation.
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 vivaa-1.0.1.tar.gz.
File metadata
- Download URL: vivaa-1.0.1.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9d2bb73a33ca06cd14a853ae8916a682f6d20f2c88bb29e46179ad86a5beca8
|
|
| MD5 |
a096d0a4fabb5a593c60363fab16ca40
|
|
| BLAKE2b-256 |
ec886a313b874003ffcb0c069f0c3d4770c43dcf4d3034025d55c35b4ee2db6f
|
File details
Details for the file vivaa-1.0.1-py3-none-any.whl.
File metadata
- Download URL: vivaa-1.0.1-py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca1f759321a04d6fbda7ea59894b944de882b9289f6e3118ea92e930afef9cfe
|
|
| MD5 |
46ed23f48eb4577aa8c4fe44db143c72
|
|
| BLAKE2b-256 |
e0b7f0e92b32163e9c8a01dad88a5c94812ba7ace4bbde5de36867b8523eb7e3
|