# xclabel
**Repository Path**: Vanishi/xclabel
## Basic Information
- **Project Name**: xclabel
- **Description**: 标注样本+训练模型 全流程图形化工具
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 157
- **Forks**: 90
- **Created**: 2025-02-17
- **Last Updated**: 2025-12-11
## Categories & Tags
**Categories**: ai
**Tags**: Python, Yolo, labelme
## README
## xclabel
* 作者:北小菜
* 作者主页:https://www.yuturuishi.com
* gitee开源地址:https://gitee.com/Vanishi/xclabel
* github开源地址:https://github.com/beixiaocai/xclabel
### 软件介绍
- xclabel是一款功能强大的开源图像标注工具,支持样本导入、标注、数据集导出和YOLO11模型管理
- 采用Python+Flask开发,跨平台支持Windows/Linux/Mac
- 支持多种标注类型,包括矩形、多边形等
- 支持导入图片文件夹、视频文件、LabelMe格式数据集
- 支持导出YOLO格式数据集,可自定义训练/验证/测试比例
- 集成YOLO11模型管理,支持安装、卸载和预训练模型下载
- 简洁直观的用户界面,易于使用
### 软件截图
### 版本历史
#### v2.1 (当前版本)
- 发布时间:2025/12/01
- **新增YOLO11集成**:
- 支持YOLO11自动安装和卸载
- 支持YOLO11预训练模型下载和管理
- 支持手动拖放模型文件
- 自动检测CUDA支持
- **功能增强**:
- 优化了标注工具,支持更流畅的标注体验
- 改进了数据集导出功能,支持更多自定义选项
- 新增标签管理功能,支持添加、编辑、删除标签
- 优化了快捷键支持
- **UI优化**:
- 重新设计了设置弹框,集成YOLO11管理功能
- 优化了标签管理界面,支持标签颜色自定义
- 改进了导出数据集弹框,支持文件前缀设置
- 优化了toast提示,更加醒目易用
- **性能提升**:
- 优化了图片加载和标注渲染性能
- 改进了数据存储方式,提高了数据读写效率
- **Bug修复**:
- 修复了YOLO11卸载功能,确保彻底删除所有文件
- 优化了项目结构,移除了未使用的datasets文件夹
#### v2.0
- 发布时间:2025/11/29
- **架构升级**:从Django迁移到Flask,简化了项目结构
- **功能增强**:
- 支持视频帧提取和标注
- 支持LabelMe数据集导入
- 支持YOLO格式数据集导出,可自定义训练/验证/测试比例
- 新增标签管理功能,支持添加、编辑、删除标签
- 优化了标注工具,支持矩形、多边形等多种标注类型
- **UI优化**:
- 重新设计了用户界面,更加简洁直观
- 优化了标签管理界面,支持标签颜色自定义
- 改进了导出数据集弹框,支持文件前缀设置
- 优化了toast提示,更加醒目易用
- **性能提升**:
- 优化了图片加载和标注渲染性能
- 改进了数据存储方式,提高了数据读写效率
#### v1.0
- 发布时间:2025/02/17
- **基础功能**:
- 支持图像标注,包括矩形和多边形标注
- 支持标签管理
- 支持标注数据导出
- **技术栈**:Python + Django
- **架构**:采用传统的Django MVC架构
- v1.0 版本分支 https://gitee.com/Vanishi/xclabel/tree/v1.0
### 主要功能
1. **图像标注**:支持矩形、多边形等多种标注类型
2. **数据集管理**:支持图像、视频、LabelMe数据集导入
3. **标注导出**:支持YOLO格式数据集导出,可自定义训练/验证/测试比例
4. **标签管理**:支持添加、编辑、删除标签,自定义标签颜色
5. **YOLO11集成**:
- 自动安装和卸载YOLO11
- 支持预训练模型下载和管理
- 手动拖放模型文件支持
- CUDA支持自动检测
6. **快捷键支持**:提高标注效率
7. **实时保存**:标注数据实时保存,避免数据丢失
### 使用说明
1. **安装依赖**:
```bash
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 打包
pyinstaller -F app.py
```
2. **启动服务**:
```bash
python app.py
```
3. **访问服务**:
在浏览器输入 http://127.0.0.1:5000 即可开始使用
4. **YOLO11管理**:
- 点击右上角"设置"按钮打开设置弹框
- 在YOLO11安装部分,点击"安装YOLO11"按钮进行安装
- 选择要下载的预训练模型,点击"下载选中模型"
- 可以手动拖放模型文件到指定区域进行安装
- 点击"卸载YOLO11"按钮彻底卸载YOLO11
### 项目结构
```
xclabel/
├── app.py # 主应用文件
├── templates/
│ └── index.html # 主页面模板
├── static/
│ ├── style.css # 样式文件
│ ├── script.js # 脚本文件
│ ├── all.min.css # Font Awesome图标库
│ └── annotations/ # 标注数据存储目录
├── uploads/ # 上传的图片和视频存储目录
├── plugins/ # 插件目录(用于YOLO11安装)
├── requirements.txt # 依赖列表
└── README.md # 项目说明文档
```
### 标注流程
1. **添加数据集**:点击右上角"添加数据集"按钮,选择要标注的图片、视频或LabelMe数据集
2. **创建标签**:在右侧标签管理中添加需要的标签,设置颜色
3. **开始标注**:选择左侧图片列表中的图片,使用左侧工具进行标注
4. **导出数据集**:标注完成后,点击右上角"导出数据集"按钮,选择导出格式和参数
### YOLO11使用流程
1. **安装YOLO11**:在设置弹框中点击"安装YOLO11"按钮
2. **下载预训练模型**:选择要下载的模型,点击"下载选中模型"
3. **手动添加模型**:将模型文件拖放到指定区域
4. **使用模型**:安装完成后,可用于模型推理和训练
5. **卸载YOLO11**:点击"卸载YOLO11"按钮彻底删除
### 快捷键说明
- **Ctrl+S**:保存标注
- **Ctrl+Shift+D**:清除标注
### 技术栈
- **后端**:Flask
- **前端**:HTML, CSS, JavaScript
- **数据库**:JSON文件存储
- **图像处理**:OpenCV, PIL
- **YOLO11集成**:Ultralytics YOLO11
### 授权协议
- 本项目自有代码使用宽松的MIT协议,在保留版权信息的情况下可以自由应用于各自商用、非商业的项目。
- 本项目使用了一些第三方库,使用本项目时请遵循相应第三方库的授权协议。
- 由于使用本项目而产生的商业纠纷或侵权行为一概与本项目及开发者无关,请自行承担法律风险。