Skip to main content

AI Labelling tool for computer vision

Project description

Ultimate AI Labeller

Desktop image annotation tool for object detection datasets (Tkinter + Ultralytics), with a separate web project.

Features

  • Bounding-box annotation with drag, move, and resize handles
  • Multi-select boxes (Shift/Ctrl + Click) for batch class reassignment and delete
  • Select all boxes in current image (Ctrl+A)
  • Nested/overlapping box picking prefers inner (smaller) box for easier adjustment
  • Undo/redo history (Ctrl+Z, Ctrl+Y)
  • Image navigation (F next/save, D previous)
  • Auto red-region proposal (A)
  • YOLO detection from UI (Run Detection)
  • Startup source selection:
    • Open Images Folder
    • Open YOLO Dataset
    • Open RF-DETR Dataset
  • Detection model management:
    • Official model mode (yolo26m.pt path by default)
    • Import custom models (.pt, .onnx) via Browse Model
    • Select model from dropdown library
  • Train from existing labels:
    • Choose training range by index
    • Save training artifacts to selected output folder
    • Non-blocking background training (continue labeling while training)
    • Built-in training monitor (command/log/progress/ETA)
  • Class management:
    • Add / rename / delete class in class table
    • Deleting a class reindexes following class IDs automatically
  • Auto-detect and propagate options
  • Scrollable right settings panel
  • Remove/restore bad frames from split
  • Image dropdown jump
  • Session resume (last project/split/image/model settings)
  • English/Chinese UI switch and light/dark theme
  • Export all annotations by format:
    • YOLO (.txt) full dataset export
    • JSON full dataset export (per-image annotation json)

Repositories

  • Desktop app (this repo): https://github.com/JamesChang666/ultimate_ai_labeller
  • Web app (separate repo): https://github.com/JamesChang666/labeller_web

Dataset Structure

your_project/
  images/
    train/
    val/
    test/
  labels/
    train/
    val/
    test/
  • Image extensions: .png, .jpg, .jpeg
  • Label format: YOLO txt (class cx cy w h, normalized)
  • Full guide (ZH): docs/dataset-structure-guide.md

Removed frames are moved to:

your_project/
  removed/
    train|val|test/
      images/
      labels/

Install

From PyPI:

pip install ultimate_ai_labeller

From local wheel:

pip install dist/ultimate_ai_labeller-0.1.9-py3-none-any.whl

From source:

pip install .

For development:

pip install -e .

Run

ai-labeller

Or:

python src/ai_labeller/main.py

Web Version

This desktop repository includes local development files under web_labeller/, but the maintained web repository is:

  • https://github.com/JamesChang666/labeller_web

Run locally:

cd web_labeller
pip install -r requirements.txt
uvicorn app:app --host 127.0.0.1 --port 8000 --reload

Shortcuts

  • F: save and next image
  • D: previous image
  • A: auto red detection
  • Ctrl+Z: undo
  • Ctrl+Y: redo
  • Ctrl+A: select all boxes in current image
  • Delete: delete selected box

Notes

  • Default detection model mode is Official YOLO26m.pt (Bundled).
  • If the official model file is unavailable locally, import a custom .pt/.onnx model from the UI.
  • To use your own Tk app icon, put app_icon.png in src/ai_labeller/assets/.
  • Session file: ~/.ai_labeller_session.json.
  • Project progress YAML: <project_root>/.ai_labeller_progress.yaml (resume split/image and class names after reopen).

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

ultimate_ai_labeller-0.1.9.tar.gz (46.1 MB view details)

Uploaded Source

Built Distribution

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

ultimate_ai_labeller-0.1.9-py3-none-any.whl (46.1 MB view details)

Uploaded Python 3

File details

Details for the file ultimate_ai_labeller-0.1.9.tar.gz.

File metadata

File hashes

Hashes for ultimate_ai_labeller-0.1.9.tar.gz
Algorithm Hash digest
SHA256 007663af2f271341f1e0cfdaed4641b5c0a8b087dc60401c3a9112c196a83657
MD5 b9413c19c6d66762d4fc7225772ed8ab
BLAKE2b-256 06c607a5f57092a5ad5a3b1517f1a4a95fa1ebd897a146376f5b5f68e79d5446

See more details on using hashes here.

File details

Details for the file ultimate_ai_labeller-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ultimate_ai_labeller-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d315fefd2cfed48a9ac0438a32944b3807ff1c8103845efe1b54b572860790c8
MD5 3368dd9615119637eee5a1b7dc4e538f
BLAKE2b-256 8db25d99aa443c3460c42bffb5538c6709148fe49059840428ed9b010bc7bb13

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