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
  • 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° / +5°)
  • Shift+Q/E: rotate selected box faster (-15° / +15°)
  • 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.
  • 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.12.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.12-py3-none-any.whl (46.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ultimate_ai_labeller-0.1.12.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.12.tar.gz
Algorithm Hash digest
SHA256 30cb1f783ad17ed967aec51fd6717d7719ac487b73809ac1c80dcd4becef0099
MD5 bb439e223815fb37c0f2437264609f05
BLAKE2b-256 ee959d9d897fd6603118f5b8881a1d4d3dbc80e969c3dcf50bdc2a79b8b81d96

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultimate_ai_labeller-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 6b92929a627442eab84199144e4c2804790f9cd2808f87a60dc459ab4b0fe05c
MD5 d4263ec21123b2c2612d5e59b80db8bb
BLAKE2b-256 c1ede9c9f8de0ad87de26507464bbd62f6c16b6fa26cc6a04a62b86dbbc4e0b3

See more details on using hashes here.

Provenance

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