Skip to main content

Fast almost fully automated image annotation tool for computer vision tasks detection, oriented bounding boxes and segmentation.

Project description

VisioFirm

VisioFirm: Fast Almost fully-Automated Image Annotation for Computer Vision

GitHub Stars License PyPI Python Version

[!IMPORTANT] A new release has just dropped. VisioFirm 0.1.2 as a correction to 0.1.1 which had export trouble via SSH. The new releases have now a different GroundingDINO dependency which is tied directly to the original Grounding DINO GitHub through the pip library 'groundingdino-py' thanks to @giswqs.

[!NOTE] If you prefer the HF transformers-based library you can install the version from main branch main branch via the command line pip install visiofirm==0.1.0.


VisioFirm is an open-source, AI-powered image annotation tool designed to accelerate labeling for computer vision tasks like object detection, oriented bounding boxes (OBB), and segmentation. Built for speed and simplicity, it leverages state-of-the-art models for semi-automated pre-annotations, allowing you to focus on refining rather than starting from scratch. Whether you're preparing datasets for YOLO, SAM, or custom models, VisioFirm streamlines your workflow with a intuitive web interface and powerful backend.

Perfect for researchers, data scientists, and ML engineers handling large image datasets—get high-quality annotations in minutes, not hours!

Why VisioFirm?

Unlike other annotation tool, this one is majoraly focused on CV tasks annotation detection (normal and oriented bounding box) and segmentation.

  • AI-Driven Pre-Annotation: Automatically detect and segment objects using YOLOv10, SAM2, and Grounding DINO—saving up to 80% of manual effort.
  • Multi-Task Support: Handles bounding boxes, oriented bounding boxes, and polygon segmentation in one tool.
  • Browser-Based Editing: Interactive canvas for precise adjustments, with real-time SAM-powered segmentation in the browser.
  • Offline-Friendly: Models download automatically (or pre-fetch for offline use), with SQLite backend for local projects.
  • Extensible & Open-Source: Customize with your own ultralytics models or integrate into pipelines—contributions welcome!
  • SAM2-base webgpu: insta-drawing of annotation via SAM2! Annotation Editing Demo

Features

  • Semi-Automated Labeling: Kickstart annotations with AI models like YOLO for detection, SAM for segmentation, and Grounding DINO for zero-shot object grounding.
  • Flexible Annotation Types:
    • Axis-aligned bounding boxes for standard detection.
    • Oriented bounding boxes for rotated objects (e.g., aerial imagery).
    • Polygon segmentation for precise boundaries.
  • Interactive Frontend: Draw, edit, and refine labels on a responsive canvas. Click-to-segment with browser-based SAM for instant masks.
  • Project Management: Create, manage, and export projects with SQLite database storage. Support for multiple classes and images.
  • Export Formats: Seamless exports to YOLO, COCO, or custom formats for training.
  • Performance Optimizations: Cluster overlapping detections, simplify contours, and filter by confidence for clean datasets.
  • Cross-Platform: Runs locally on Linux, macOS, or Windows via Python— no cloud dependency.

Annotation Editing Demo

Installation

VisioFirm is easy to install via pip from GitHub (PyPI coming soon!).

It was tested with Python 3.10+.

pip install visiofirm==0.1.2

For development or editable install (from a cloned repo):

git clone https://github.com/OschAI/VisioFirm.git
cd VisioFirm
pip install -e .

Quick Start

Launch VisioFirm with a single command—it auto-starts a local web server and opens in your browser.

visiofirm
  1. Create a new project and upload images.
  2. Define classes (e.g., "car", "person").
  3. For easy-to-detect object run AI pre-annotation (select model: YOLO, Grounding DINO).
  4. Refine labels in the interactive editor.
  5. Export your annotated dataset.

Access at http://localhost:8000 (or next available port).

The VisioFirm app uses cache directories to store settings locally.

Usage

Pre-Annotation with AI

VisioFirm uses advanced models for initial labels:

  • YOLOv10: Fast detection.
  • SAM2: Precise segmentation.
  • Grounding DINO: Zero-shot detection via text prompts.

Models auto-download on first run (stored in current dir or cache). For offline prep:

Frontend Customization

The web interface (Flask + JS) supports hotkeys, undo/redo, and zoom. Edit static/js/sam.js for browser SAM tweaks.

Exporting Data

From the dashboard, export to JSON, TXT (YOLO format), or images with masks.

Community & Support

  • Issues: Report bugs or request features here.
  • Discord: Coming soon—star the repo for updates!
  • Roadmap: Multi-user support, video annotation, custom model integration.

License

Apache 2.0 - See LICENSE for details.


Built by Safouane El Ghazouali for the research community. Star the repo if it helps your workflow! 🚀

Citation

A paper will come soon, stay tuned.

TODOs

SOON:

  • Documentation website
  • Discord community
  • Paper - detailing the implementation and AI preannotation pipeline
  • Classification

Futur:

  • Support for video annotation
  • Support for more ML frameworks (such as mmdetection and detectron2)

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

visiofirm-0.1.2.tar.gz (13.0 MB view details)

Uploaded Source

Built Distribution

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

visiofirm-0.1.2-py3-none-any.whl (13.1 MB view details)

Uploaded Python 3

File details

Details for the file visiofirm-0.1.2.tar.gz.

File metadata

  • Download URL: visiofirm-0.1.2.tar.gz
  • Upload date:
  • Size: 13.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for visiofirm-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e8251c1a069782d3bb3f8a311d405293df6b8cfab9e2be2dbc7104b9a3d5429a
MD5 c065be4851a68f3db20f623600986d58
BLAKE2b-256 decab50f95a92dfa42c54b8c0d8c4d3485c27a652ce8e19c4c04bb12f4d4f932

See more details on using hashes here.

Provenance

The following attestation bundles were made for visiofirm-0.1.2.tar.gz:

Publisher: publish.yml on OschAI/VisioFirm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file visiofirm-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: visiofirm-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for visiofirm-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3ee7e71542c0b46822e42e36daf133f902d6dad464184c7ddd2c686d7b0d1609
MD5 5a6bf2dedfc74eb847990570f0bc36d7
BLAKE2b-256 df622dd5c638a21f5d8ee0501539b8d0b268660d4c2ffcf91ad66182951db07c

See more details on using hashes here.

Provenance

The following attestation bundles were made for visiofirm-0.1.2-py3-none-any.whl:

Publisher: publish.yml on OschAI/VisioFirm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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