yuturuishi/ytlabel
YOLO标注工具,AI自动标注,大模型提示词自动标注,自动采集视频,自动收集数据集
ytlabel – Open‑source image/video annotation tool with AI‑assisted labeling
What it is
- A lightweight web‑based application for manually labeling images (rectangles, polygons, etc.) and videos, then exporting the results in YOLO‑compatible formats.
- It can also call a user‑provided large‑model API (e.g., LMStudio, vLLM, Ollama, Alibaba Cloud) to generate AI‑auto‑labels.
- The tool focuses on data‑annotation and dataset export; model training is handled by a separate project (ytstudio).
Key capabilities
- Manual labeling – rectangle, polygon, multi‑class tags; import from LabelMe datasets.
- AI auto‑labeling – plug‑in for any locally hosted LLM/VLM API you configure; no external data is sent.
- Dataset export – YOLO format with configurable train/val/test split.
- File manager – browse, upload, download, and delete images and annotation files.
- Offline‑first – all static assets are bundled; the server can run on an isolated intranet.
- Keyboard shortcuts –
Ctrl+Sto save,Ctrl+Shift+Dto clear a label.
How to get started
# clone the repo, then create a virtual environment
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
# install dependencies (mirrored from Tsinghua PyPI source)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# run the Flask server
python app.py --host 0.0.0.0 --port 9924
Open a modern browser at http://127.0.0.1:9924 and you’ll see the labeling UI.
Project layout (high‑level)
app.py– entry point, starts the Flask + SocketIO server.AiUtils.py– helper class that forwards images to the configured large‑model API and parses the returned annotations.templates/– HTML pages (index.html,ai_config.html,file_manager.html).static/– CSS, JavaScript, icons, and a bundled Socket.IO client library for offline use.uploads/– runtime storage for uploaded media, generated annotation files, and user‑specific config.
Technology stack
- Backend: Python 3.9+, Flask, Flask‑SocketIO.
- Frontend: HTML / CSS / JavaScript, Socket.IO for real‑time updates.
- Image handling: OpenCV and Pillow (PIL).
- Packaging: PyInstaller spec (
ytlabel.spec) for optional standalone binaries.
License
- The code written for ytlabel is released under the MIT license.
- Third‑party libraries keep their original licenses.
- The AI auto‑label feature merely forwards requests to a user‑controlled model API; ytlabel itself does not ship any model weights.
Who might use it
- Researchers or engineers building custom computer‑vision datasets who need a simple, self‑hosted labeling UI.
- Teams that want to keep data on‑premise and still benefit from large‑model assistance without sending images to cloud services.
- Anyone looking for a Flask‑based, cross‑platform labeling tool that can be packaged for offline deployment.
Related
- Project
- Project
- Project
- Project
- Project