VIVA: Versatile Intelligent Visual Annotation and Data Augmentation 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
- ๐งฉ Integrated Data Augmentation Studio
- ๐งฌ Advanced Data Augmentation Module
- ๐ Pipeline-Based Augmentation Workflow
- ๐ Real-Time Augmentation Preview
- โก Batch Augmentation Processing
- ๐ฒ Smart Cycle Augmentation Mode
- ๐ Modular design for future expansion (segmentation, keypoint detection)
๐งฐ 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.
๐งฌ Data Augmentation Studio (New in VIVA 1.0.2)
VIVA now includes a powerful Data Augmentation Studio designed to help AI developers create diverse and robust datasets directly from the GUI.
The augmentation workflow follows a pipeline-based approach, allowing users to stack multiple transformations, preview results instantly, and apply them to entire datasets.
๐ Core Features
- ๐ Real-time side-by-side preview (Original vs Augmented)
- ๐งฉ Pipeline-based augmentation workflow
- โก Batch augmentation for entire datasets
- ๐ฒ Smart Cycle Augmentation Mode
- ๐ Separate output directory management
- ๐ฑ๏ธ Interactive GUI controls with sliders
- โจ๏ธ Keyboard navigation between images (
A/Dor Arrow Keys)
๐ Geometric Transformations
VIVA supports the following geometric augmentations:
- ๐ Rotation (-360ยฐ to +360ยฐ)
- โ๏ธ Translation (X/Y offsets)
- ๐ Scaling
- ๐ Resizing
- โ๏ธ Center Cropping
- ๐ Horizontal Flip
- ๐ Vertical Flip
- ๐ Shearing
These operations can be combined into custom augmentation pipelines.
๐จ Color & Lighting Augmentations
Improve dataset robustness against lighting variations:
- โ๏ธ Brightness Adjustment
- ๐ Contrast Adjustment
- ๐ Saturation Control
- ๐ญ Hue Shifting
- โก Gamma Correction
- ๐ก Exposure Adjustment
- ๐ง CLAHE (Contrast Limited Adaptive Histogram Equalization)
๐ซ Blur & Noise Augmentations
Simulate real-world image imperfections:
- ๐ซ Gaussian Blur
- ๐งน Median Blur
- ๐ Motion Blur
- ๐ฒ Gaussian Noise
- โช Salt & Pepper Noise
- ๐ฆ JPEG Compression Artifacts
๐งฉ Pipeline Builder
Create complex augmentation workflows by stacking operations:
- Select an augmentation
- Adjust parameters
- Click Preview
- Click Set to add it to the pipeline
- Repeat to build multi-step transformations
Pipeline operations can be removed individually using the built-in context menu.
โก Batch Augmentation
Apply the entire augmentation pipeline to all images inside a folder.
Features:
- Background processing
- Progress tracking
- Automatic saving to output directory
- Responsive UI during execution
๐ฒ Smart Cycle Augmentation Mode
Smart Cycle Mode automatically cycles augmentation parameters across images to generate highly diverse datasets.
Examples:
- Rotation:
0, 15, 30, -15 - Brightness:
0, 20, 40, -20 - Contrast:
0, 15, -15 - Saturation:
0, 25, -25 - Hue:
0, 30, -30
This feature helps generate multiple dataset variations with minimal manual effort.
๐ Output Management
Augmented images are automatically saved to a user-selected output folder.
Generated files are named using:
image_aug.jpg
image_cycle.jpg
making it easy to distinguish standard batch outputs from Smart Cycle outputs.
๐ฏ Why Use It?
The Data Augmentation Studio helps:
- Improve model generalization
- Increase dataset diversity
- Simulate real-world conditions
- Reduce overfitting
- Accelerate dataset preparation workflows
making VIVA a complete toolkit for both dataset annotation and dataset enhancement.
๐ป 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 Studio โ โ Implemented in VIVA 1.0.3
- ๐จ 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.4.tar.gz.
File metadata
- Download URL: vivaa-1.0.4.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
439ee8253f24ae3ddfc5d816d6d4f623c2b7543f530086bc2e5041122866cbb2
|
|
| MD5 |
94fcbd5cf9fa3a1ed4c0276138a1dd29
|
|
| BLAKE2b-256 |
b7d0758d1d32535857cb33219dc9b8b4da6c5f4641b77b41180304dc8392f97c
|
File details
Details for the file vivaa-1.0.4-py3-none-any.whl.
File metadata
- Download URL: vivaa-1.0.4-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.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
958d4c6872a228a46c176780a6917e601c4b9ecb1dda7748cb09a7ff9017388c
|
|
| MD5 |
eaa6edab90520e23dafaaf431fb56ece
|
|
| BLAKE2b-256 |
8a787ddaa5a966435a1225357bbc214a946706bdba692a265789f3a2a801124d
|