Skip to content

This is a python based standalone image annotation tool designed for tasks such as image segmentation and object detection. The tool allows users to draw bounding boxes, polygons, and freehand paths, edit and manage annotations, and export the annotated data in multiple formats including COCO, YOLO, and PASCAL VOC.

License

Notifications You must be signed in to change notification settings

VisioSphereAI/labelvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Labelvim

Image Annotation Tool for Segmentation and Object Detection

This is a python based standalone image annotation tool designed for tasks such as image segmentation and object detection. The tool allows users to draw bounding boxes, polygons, and freehand paths, edit and manage annotations, and export the annotated data in multiple formats including COCO, YOLO, and PASCAL VOC.

Features

  • Create Object: Draw bounding boxes, polygons, or freehand paths to annotate objects in images.
  • Edit Object: Modify existing annotations by selecting, moving, resizing, or reshaping them.
  • Delete Object: Remove any annotation individually or clear all annotations on the image.
  • Save Annotations: Save your work in JSON format, including object coordinates, labels, and masks.
  • Export Options: Export annotations in multiple formats (COCO, YOLO, PASCAL VOC) with optional masks and images.
  • Download as ZIP: Package all exported data into a ZIP file for easy download.

Technology Stack

  • Backend: Python, PyQt5
  • Data Export Libraries:
    • COCO: Python script for converting annotations to COCO format
    • YOLO: Python script for converting annotations to YOLO format
    • PASCAL VOC: Python script for generating XML files for PASCAL VOC format

Getting Started

Prerequisites

  • Python 3.x
  • Git (for version control)

Installation

  1. Clone the repository:

    git clone https://github.com/VisioSphereAI/labelvim.git
    cd labelvim

    Install requirements

    pip install -r requirements.txt

    Execute GUI

    Python main.py

Using the Tool

  1. Load an image load image data using the folder selector.
  2. Create annotations using the tools provided create object bsed on previous defined for object detection & segmentation.
  3. Edit annotations by selecting and modifying them using mouse click.
  4. Exlude File Using "Delete* btn or from toolbar an file can be excluded from list.
  5. Clean Clean all annotated object.
  6. Save Mask Save annotated mask by enabling from toolbar.
  7. Save your work using the "Save" button. Annotations will be saved in JSON format.
  8. Export annotations by clicking the "Export" button and choosing the desired format.
  9. Download as ZIP to get all annotated data in a ZIP file.

Export Formats

  • COCO: JSON format including object classes, bounding boxes, and segmentation masks.
  • YOLO: Text files with class labels, bounding box coordinates, and segmentation mask.
  • PASCAL VOC: XML files with bounding box coordinates and object classes.

Demo Video

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes and commit (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Thanks to the open-source community for providing tools and libraries that make this project possible.

Contact

If you have any questions or suggestions, feel free to open an issue or contact us directly at [email protected] or [email protected].

Notes

This code is under development, and it has not been tested till now.