Skip to main content

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 A to navigate to the previous image and delete the last bounding box drawn
  • ๐Ÿ”บ Flexible Shapes: Draw rectangles, squares, circles, or polygons
  • โŒจ๏ธ Keyboard Shortcuts:
    • Del โ†’ Remove boxes
    • A โ†’ Smart Previous image with Delete Function
    • D โ†’ Next image
    • Enter โ†’ 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 QMessageBox alerts 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 Space key; single-mode overwrites existing labels with confirmation
  • โŒจ๏ธ Time-Saving Shortcuts:
    • D โ†’ Next image
    • A โ†’ 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/D or 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:

  1. Select an augmentation
  2. Adjust parameters
  3. Click Preview
  4. Click Set to add it to the pipeline
  5. 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:

โœ… 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:

  1. Launch VIVA using the terminal or command prompt:
vivaa
  1. In the main VIVA window, hover your mouse over the title bar โ€œVIVA โ–ก โ–ญ โ—‹โ€.
  2. 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


Download files

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

Source Distribution

vivaa-1.0.4.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

vivaa-1.0.4-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

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

Hashes for vivaa-1.0.4.tar.gz
Algorithm Hash digest
SHA256 439ee8253f24ae3ddfc5d816d6d4f623c2b7543f530086bc2e5041122866cbb2
MD5 94fcbd5cf9fa3a1ed4c0276138a1dd29
BLAKE2b-256 b7d0758d1d32535857cb33219dc9b8b4da6c5f4641b77b41180304dc8392f97c

See more details on using hashes here.

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

Hashes for vivaa-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 958d4c6872a228a46c176780a6917e601c4b9ecb1dda7748cb09a7ff9017388c
MD5 eaa6edab90520e23dafaaf431fb56ece
BLAKE2b-256 8a787ddaa5a966435a1225357bbc214a946706bdba692a265789f3a2a801124d

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