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) export to images/train + labels/train structure
    • 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.10-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.11.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.11-py3-none-any.whl (46.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ultimate_ai_labeller-0.1.11.tar.gz
  • Upload date:
  • Size: 46.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ultimate_ai_labeller-0.1.11.tar.gz
Algorithm Hash digest
SHA256 e5bf63379e21f71d432ce894c3ec168237cd962db3fe0af6ec6de917836c726f
MD5 6ed46548db7da1175fdf8cfd6caed5ef
BLAKE2b-256 27839ae0b191f807d9a9599121928ed7917af61a77290abe189e62181a22608f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultimate_ai_labeller-0.1.11.tar.gz:

Publisher: publish.yml on JamesChang666/ultimate_ai_labeller

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

File details

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

File metadata

File hashes

Hashes for ultimate_ai_labeller-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4b38d85e24d08e27ed2cfaeb8ab158bacd9c35622bf4da725cbf557ad6dc96dd
MD5 5c06b1418997e6aac5f3f5283490f058
BLAKE2b-256 fd221cbd7171fbe8ca4a4b5d34ce9c402f652177d9cfdbf52e573e7a3a8c95f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultimate_ai_labeller-0.1.11-py3-none-any.whl:

Publisher: publish.yml on JamesChang666/ultimate_ai_labeller

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