yuturuishi/ytlabel
YOLO标注工具,AI自动标注,大模型提示词自动标注,自动采集视频,自动收集数据集
ytlabel – 开源图像/视频标注工具,支持 AI 辅助标注
它是什么
- 一个轻量级的基于 Web 的应用,用于手动标注图像(矩形、多边形等)和视频,然后以 YOLO 兼容格式导出结果。
- 它还可以调用用户提供的大模型 API(例如 LMStudio、vLLM、Ollama、阿里云)来生成 AI 自动标签。
- 该工具专注于数据标注和数据集导出;模型训练由另一个项目(ytstudio)处理。
主要功能
- 手动标注 – 矩形、多边形、多类标签;从 LabelMe 数据集导入。
- AI 自动标注 – 插件式,适用于您配置的任何本地托管的 LLM/VLM API;不会发送外部数据。
- 数据集导出 – YOLO 格式,可配置训练/验证/测试集划分。
- 文件管理器 – 浏览、上传、下载和删除图像及标注文件。
- 离线优先 – 所有静态资源都已打包;服务器可以在隔离的内网中运行。
- 键盘快捷键 –
Ctrl+S保存,Ctrl+Shift+D清除标签。
如何开始
# 克隆仓库,然后创建虚拟环境
python -m venv venv
source venv/bin/activate # 或在 Windows 上使用 venv\Scripts\activate
# 安装依赖(从清华 PyPI 源镜像)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 运行 Flask 服务器
python app.py --host 0.0.0.0 --port 9924
打开现代浏览器访问 http://127.0.0.1:9924,您将看到标注界面。
项目结构(高级)
app.py– 入口点,启动 Flask + SocketIO 服务器。AiUtils.py– 辅助类,将图像转发到配置的大模型 API 并解析返回的标注。templates/– HTML 页面(index.html、ai_config.html、file_manager.html)。static/– CSS、JavaScript、图标,以及用于离线使用的打包 Socket.IO 客户端库。uploads/– 运行时存储上传的媒体、生成的标注文件和用户特定配置。
技术栈
- 后端: Python 3.9+、Flask、Flask-SocketIO。
- 前端: HTML / CSS / JavaScript,Socket.IO 用于实时更新。
- 图像处理: OpenCV 和 Pillow (PIL)。
- 打包: PyInstaller 规范(
ytlabel.spec)用于可选的独立二进制文件。
许可证
- 为 ytlabel 编写的代码根据 MIT 许可证发布。
- 第三方库保留其原始许可证。
- AI 自动标注功能仅将请求转发到用户控制的模型 API;ytlabel 本身不附带任何模型权重。
谁可能使用它
- 构建自定义计算机视觉数据集的研究人员或工程师,需要一个简单、自托管的标注界面。
- 希望将数据保留在本地,同时受益于大模型辅助而不将图像发送到云服务的团队。
- 任何寻找基于 Flask、跨平台、可打包用于离线部署的标注工具的人。
相关
- 项目
- 项目
- 项目
- 项目
- 项目