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
  • Rotated bounding boxes:
    • Drag rotate knob on selected box
    • 8 resize handles follow box rotation
    • Keyboard rotate (Q/E, Shift+Q/E)
  • 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
    • Choose weight source before training:
      • Official yolo26m.pt
      • Custom weight file (.pt / .onnx)
      • From scratch (pretrained=False)
    • 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 (3 propagate modes: no-label-only / always / selected labels only)
  • 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)
  • Rotated-box metadata (when used): sidecar *.txt.rot.json with angles_deg
  • 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-*.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
  • Q/E: rotate selected box (-5 deg / +5 deg)
  • Shift+Q/E: rotate selected box faster (-15 deg / +15 deg)
  • Ctrl+Z: undo
  • Ctrl+Y: redo
  • Ctrl+A: select all boxes in current image
  • Ctrl+Left Drag: marquee multi-select boxes
  • 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.
  • If CUDA/GPU runtime is incompatible, detection/training automatically falls back to CPU.
  • 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.13.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.13-py3-none-any.whl (46.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ultimate_ai_labeller-0.1.13.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.13.tar.gz
Algorithm Hash digest
SHA256 02b7e446477b6356e128de3ef5eba4929ef299ccd2d4e6f571fe9ba36312e143
MD5 42cf4c8927dec04420b1c70c87a03d31
BLAKE2b-256 befa87d7042e8ea5697e86a11bb5d8f6a218af782782b49e3998ac337e6f3f55

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultimate_ai_labeller-0.1.13.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.13-py3-none-any.whl.

File metadata

File hashes

Hashes for ultimate_ai_labeller-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 f71d8bb70f0bdc879f0f991b6052ce76b05cacd369f3a22483044368888f98d0
MD5 a0d31b0b55241a6f45c4200a953bb110
BLAKE2b-256 e605f62345910fe4fa3ced6ccc22e5c61b64a8bf707d6d85adc4196ff7880376

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultimate_ai_labeller-0.1.13-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