# ๐ VIVA: Versatile Intelligent Visual Annotation Tool โ๏ธ
<p align="center">
<img src="https://img.shields.io/badge/๐%20Boost%20Your-Speed%20of%20Annotation-brightgreen?style=for-the-badge" />
<img src="https://img.shields.io/badge/๐ง %20Focus%20On-Accuracy%2C%20Not%20Repetition-blue?style=for-the-badge" />
<img src="https://img.shields.io/badge/๐พ%20Perfect%20For-Custom%20Dataset%20Creation-orange?style=for-the-badge" />
</p>
---
## ๐ง 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 `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.
---
## ๐ป 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](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:
```bash
python --version
```
---
## 2. Create a Virtual Environment (Recommended)
Itโs recommended to use a virtual environment to avoid conflicts with other Python packages:
```bash
python -m venv viva_env
```
Activate the environment:
- Windows:
```bash
viva_env\Scripts\activate
```
- Linux / macOS:
```bash
source viva_env/bin/activate
```
---
## 3. Install Required Packages
- Before running VIVA, install all required packages listed in requirements.txt:
```bash
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:
```bash
vivaa
```
From Python script:
```bash
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:
```bash
vivaa
```
2. In the main VIVA window, hover your mouse over the title bar โVIVA โก โญ โโ.
3. 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](https://www.linkedin.com/feed/update/urn:li:activity:7354882949181292544/)
๐ [Watch the demo of Image Classification Tool on LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:7357883048501108736/)
> Note: The video showcases VIVAโs workflow, time-saving features, and user-friendly interface for dataset annotation.
Raw data
{
"_id": null,
"home_page": "https://github.com/your_github_username/VIVA",
"name": "vivaa",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "annotation tool ai pyqt5 computer vision yolov dataset labeling image-processing vivaa",
"author": "Vishnu Vardhan Reddy Biyyapu",
"author_email": "Vishnu Vardhan Reddy Biyyapu <vardhan101101@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b8/73/6b87c95e41a756a8ac24ce5dcdc9ba5cdc5bc2a07b6dcca43eebdbe870a4/vivaa-1.0.0.tar.gz",
"platform": null,
"description": "# \ud83d\ude80 VIVA: Versatile Intelligent Visual Annotation Tool \u2699\ufe0f\r\n\r\n<p align=\"center\">\r\n <img src=\"https://img.shields.io/badge/\ud83d\ude80%20Boost%20Your-Speed%20of%20Annotation-brightgreen?style=for-the-badge\" />\r\n <img src=\"https://img.shields.io/badge/\ud83e\udde0%20Focus%20On-Accuracy%2C%20Not%20Repetition-blue?style=for-the-badge\" />\r\n <img src=\"https://img.shields.io/badge/\ud83d\udcbe%20Perfect%20For-Custom%20Dataset%20Creation-orange?style=for-the-badge\" />\r\n</p>\r\n\r\n---\r\n\r\n## \ud83e\udde0 Overview\r\n\r\n**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**.\r\n\r\nWhether annotating a **custom dataset** or working with a **well-organized dataset**, **VIVA** significantly reduces annotation time for users through its:\r\n\r\n- \u26a1 **Intuitive Interface** \u2014 Simple, clean, and user-friendly design \r\n- \ud83e\udde0 **Smart Automation Techniques** \u2014 Efficient features that simplify repetitive tasks \r\n- \ud83e\udde9 **Optimized Workflow Design** \u2014 Smooth navigation and quick annotation management \r\n\r\n\u2728 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**.\r\n\r\n---\r\n\r\n## \ud83c\udf1f Key Features\r\n\r\n- \ud83e\udeb6 User-friendly **PyQt5 GUI** \r\n- \ud83c\udfaf Object detection and image classification annotation modules \r\n- \u2328\ufe0f Efficient keyboard shortcuts and Smart Options for fast labeling \r\n- \ud83d\udd0d Zoom, pan, and interactive label visualization \r\n- \ud83e\uddfe YOLO-compatible output formats \r\n- \ud83e\udde9 Modular design for future expansion (augmentation, segmentation) \r\n\r\n---\r\n\r\n## \ud83e\uddf0 Object Detection Annotation\r\n\r\nVIVA\u2019s **Object Detection Module** is packed with innovative features: \r\n\r\n- \ud83c\udfaf **Bounding Box Limits:** Set a maximum number of boxes per image; auto-switch to the next image when the limit is reached \r\n- \ud83e\udde0 **Smart Undo:** Press `A` to navigate to the previous image and delete the last bounding box drawn \r\n- \ud83d\udd3a **Flexible Shapes:** Draw rectangles, squares, circles, or polygons \r\n- \u2328\ufe0f **Keyboard Shortcuts:** \r\n - `Del` \u2192 Remove boxes \r\n - `A` \u2192 Smart Previous image with Delete Function \r\n - `D` \u2192 Next image \r\n - `Enter` \u2192 Save \r\n - \ud83d\uddb1\ufe0f One-click mode for drawing boxes \r\n- \ud83e\ude9f **Interactive GUI:** Zoom, pan, color-coded boxes, and label reflector for multi-class clarity \r\n- \ud83d\udcc2 **File Navigation:** Browse images with progress tracking (e.g., \u201c3/10\u201d) \r\n- \u26a0\ufe0f **Error Handling:** Clear `QMessageBox` alerts ensure smooth operation \r\n\r\n\ud83d\udca1 These features make **VIVA uniquely efficient**, saving annotation time compared to other tools.\r\n\r\n---\r\n\r\n## \ud83d\uddbc\ufe0f Image Classification Annotation\r\n\r\nVIVA\u2019s **Image Classification Module** streamlines labeling with: \r\n\r\n- \ud83d\udd18 **Single & Multi-Label Modes:** Toggle between single-label and multi-label modes via radio buttons \r\n- \ud83d\udca1 **Auto-Suggestion for Labels:** Completer suggests previously used labels while typing \r\n- \ud83e\ude84 **Default Label Application:** Apply a default label to images using the `Space` key; single-mode overwrites existing labels with confirmation \r\n- \u2328\ufe0f **Time-Saving Shortcuts:** \r\n - `D` \u2192 Next image \r\n - `A` \u2192 Previous image (clears labels for quick corrections) \r\n - `Del` \u2192 Remove selected/all labels \r\n- \ud83d\udcc1 **Efficient File Management:** Copies images to label-specific directories with progress tracking \r\n- \ud83d\udd0d **Interactive GUI:** Zoom in/out, reset zoom, and pan with clean layout \r\n- \ud83e\ude9e **Label Reflector:** Displays current labels with visual feedback \r\n- \u26a0\ufe0f **Robust Error Handling:** User-friendly alerts for missing directories or invalid images \r\n\r\n\u26a1 These features minimize repetitive tasks, making annotation faster and more intuitive than competing tools.\r\n\r\n---\r\n\r\n## \ud83d\udcbb Tech Stack\r\n\r\n- \ud83d\udc0d **Python** \u2013 Core logic and processing \r\n- \ud83d\udda5\ufe0f **PyQt5** \u2013 GUI interface \r\n- \ud83c\udfaf **YOLO Integration** \u2013 Optimized for object detection datasets \r\n- \ud83e\udde9 **Modular Design** \u2013 Scalable for future modules like augmentation or segmentation \r\n\r\n---\r\n\r\n## \ud83d\uddbc Background Image Attribution\r\n\r\n\ud83d\udd8c\ufe0f The background image used in VIVA:\r\n\r\n- **Title:** *\"4K Marvel and DC Vector Art\"* \r\n- **Author / Source:** Wallpapers.com \r\n- **URL:** [https://wallpapers.com/wallpapers/4k-marvel-and-dc-vector-art-pmkg7yqt3zz8bmcc.html](https://wallpapers.com/wallpapers/4k-marvel-and-dc-vector-art-pmkg7yqt3zz8bmcc.html) \r\n- **License:** Free, Attribution required \r\n- **Modifications:** Color filters applied for VIVA\u2019s UI \r\n\r\n\u2705 This attribution satisfies the license requirement and ensures legal usage.\r\n\r\n---\r\n\r\n## \ud83d\udd2e Future Works\r\n\r\n\ud83d\udea7 The following modules are planned for future development:\r\n\r\n- \ud83e\uddec **Data Augmentation Tool** \u2013 To enhance datasets with transformations and increase model robustness \r\n- \ud83c\udfa8 **Instance Segmentation & Key Point Detection Tools** \u2013 For detailed labeling in complex vision tasks \r\n- \ud83d\udc68\u200d\ud83d\udcbb All future updates will be developed solely by the project author \r\n\r\n---\r\n\r\n## \ud83e\udeaa License\r\n\r\nThis project is licensed under the MIT License\r\n. \u00a9 2025 Vishnu Vardhan Reddy Biyyapu\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n\r\nFollow these steps to install and run **VIVA**:\r\n\r\n\r\n\r\n### 1. Install Python\r\n\r\nMake sure you have **Python 3.8 or higher** installed:\r\n\r\n```bash\r\npython --version\r\n```\r\n---\r\n## 2. Create a Virtual Environment (Recommended)\r\n\r\nIt\u2019s recommended to use a virtual environment to avoid conflicts with other Python packages:\r\n\r\n```bash\r\npython -m venv viva_env\r\n```\r\n\r\nActivate the environment:\r\n\r\n- Windows:\r\n```bash\r\nviva_env\\Scripts\\activate\r\n```\r\n- Linux / macOS:\r\n```bash\r\nsource viva_env/bin/activate\r\n```\r\n---\r\n## 3. Install Required Packages\r\n\r\n- Before running VIVA, install all required packages listed in requirements.txt:\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\nThis ensures all Python dependencies needed for VIVA are installed correctly.\r\n\u26a0\ufe0f Note: Installing from PyPI (pip install viva) will also install these dependencies automatically.\r\n---\r\n## 4. Install and Run VIVA\r\n\r\nAfter dependencies are installed:\r\n\r\nFrom terminal/command prompt:\r\n```bash\r\nvivaa\r\n```\r\n\r\nFrom Python script:\r\n```bash\r\nfrom vivaa.main import main\r\nmain()\r\n```\r\n---\r\n## \ud83d\udee0 Workflow & Help Section\r\n\r\nAfter 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.\r\n\r\n### How to Access Help:\r\n\r\n1. Launch VIVA using the terminal or command prompt:\r\n\r\n```bash\r\nvivaa\r\n```\r\n2. In the main VIVA window, hover your mouse over the title bar \u201cVIVA \u25a1 \u25ad \u25cb\u201d.\r\n3. Click on the title \u2014 this will open the Help Section.\r\n\r\n--\r\n\r\n## \ud83c\udfa5 Demo Video\r\n\r\nSee **VIVA in action**! Watch a short demo showing the object detection and image classification modules, shortcuts, and smart options in real-time.\r\n\r\n\ud83d\udd17 [Watch the demo of Object Detection Annotation Tool on LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:7354882949181292544/)\r\n\r\n\ud83d\udd17 [Watch the demo of Image Classification Tool on LinkedIn](https://www.linkedin.com/feed/update/urn:li:activity:7357883048501108736/)\r\n> Note: The video showcases VIVA\u2019s workflow, time-saving features, and user-friendly interface for dataset annotation.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "VIVA: Versatile Intelligent Visual Annotation Tool",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/your_github_username/VIVA"
},
"split_keywords": [
"annotation",
"tool",
"ai",
"pyqt5",
"computer",
"vision",
"yolov",
"dataset",
"labeling",
"image-processing",
"vivaa"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "298757d39af7db6808d7d8e079af3b111b377d43bbafac7d3b5cd32998646624",
"md5": "812d3b041f95d9cb2a72d8d6baf3d37d",
"sha256": "8394fdc350b76aacc449bd5c8c18099e0a0bb359e2742d8f89e2c11d4faf08a8"
},
"downloads": -1,
"filename": "vivaa-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "812d3b041f95d9cb2a72d8d6baf3d37d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1628085,
"upload_time": "2025-10-31T05:36:32",
"upload_time_iso_8601": "2025-10-31T05:36:32.812018Z",
"url": "https://files.pythonhosted.org/packages/29/87/57d39af7db6808d7d8e079af3b111b377d43bbafac7d3b5cd32998646624/vivaa-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8736b87c95e41a756a8ac24ce5dcdc9ba5cdc5bc2a07b6dcca43eebdbe870a4",
"md5": "d7aef3f91769ce934c621e3e0f601792",
"sha256": "d374a6560910282693ad18455d6a946bec9d896e0fb5171ecbd620e471948157"
},
"downloads": -1,
"filename": "vivaa-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "d7aef3f91769ce934c621e3e0f601792",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1630619,
"upload_time": "2025-10-31T05:36:35",
"upload_time_iso_8601": "2025-10-31T05:36:35.017977Z",
"url": "https://files.pythonhosted.org/packages/b8/73/6b87c95e41a756a8ac24ce5dcdc9ba5cdc5bc2a07b6dcca43eebdbe870a4/vivaa-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-31 05:36:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "your_github_username",
"github_project": "VIVA",
"github_not_found": true,
"lcname": "vivaa"
}