# xiabie **Repository Path**: volara/xiabie ## Basic Information - **Project Name**: xiabie - **Description**: 夏别 - 功能强大的开源图像标注工具,支持矩形/多边形标注、YOLO格式导出、AI自动标注 AI标注逻辑:举例来讲,比如你有一个3000张图片的数据集,你需要先手动标注100张左右训练一个初代模型v1.0.pt,用这个初代模型来进行AI标注,然后进行模型调优。以此类推。即一边标注一边进行模型调优。本工具完美适配人工体学,可根据自己的舒适习惯进行快速标注,极大提高了标注的效率。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 185 - **Forks**: 62 - **Created**: 2025-12-31 - **Last Updated**: 2026-09-21 ## Categories & Tags **Categories**: ai **Tags**: None ## README

夏别 - 数据标注工具

夏别

功能强大的开源图像标注工具, AI 不是生僻词,而是触手可及——人人都能轻松使用。 简单的东西不该被商业化绑架,而是应该开源共享,让更多人受益。 让复杂变简单,让 AI 触手可及。 好东西不该藏着掖着,开源才是正道。

License Python Flask

作者:夏别

--- ## 📖 软件介绍 **夏别** 是一款功能强大的开源图像标注工具,面向检测与分类全流程:样本导入、标注、多项目迭代管理、数据集导出与 YOLO 模型管理。 - 🐍 采用 **Python + Flask** 开发,跨平台支持 Windows/Linux/Mac - 🎯 支持多种标注类型:**矩形、旋转框(OBB)、多边形** - 🏷️ 支持 **ResNet / ImageFolder 整图分类标注**,检测与分类标签库相互独立 - 📂 支持 **多项目管理**,项目下可建多轮 **数据迭代**,数据集互不干扰 - 📁 支持导入**图片文件夹、视频文件、LabelMe格式**数据集 - 🎬 支持**视频自动抽帧**,可自定义抽帧间隔 - 📤 支持导出 **YOLO / YOLO-OBB / ResNet** 数据集,可自定义训练/验证/测试比例,导出历史可随时回下 - 🤖 集成**YOLO模型管理**,支持预训练模型下载和自定义模型 - ✨ 支持**AI自动标注**,单张/批量处理,大幅提升效率 - ⌨️ 支持**自定义快捷键**,真正贴合人体工学的标注节奏 - 💡 简洁直观的用户界面,毛玻璃风格设计 ### 💡 AI标注逻辑 > 举例来讲,比如你有一个3000张图片的数据集,你需要先手动标注100张左右训练一个初代模型 `v1.0.pt`,用这个初代模型来进行AI标注,然后进行模型调优。以此类推,即**一边标注一边进行模型调优**,形成良性循环,大幅提升标注效率。 --- ## ✨ 本次重点更新 | 能力 | 说明 | |------|------| | **ResNet 分类标注** | 顶栏「检测 / 分类」一键切换;分类模式下点击标签即可整图打标;导出 ImageFolder(`train/val/test/类别/图片`) | | **多项目文件管理** | 顶栏项目切换器统一管理多个数据集,互不串数据 | | **项目数据迭代** | 每个项目下可建多轮迭代(如 ng1 / overlap),进度独立统计 | | **旋转框标记(OBB)** | 支持旋转矩形标注与 YOLO-OBB 导出,适配倾斜目标 | | **人体工学标注体验** | 模式分离、标签分库、快捷键、实时保存、导出历史回看,减少重复操作 | --- ## 📸 功能截图 ### 多项目与数据迭代 顶栏切换项目 / 迭代,支持新建项目与新建迭代,进度一目了然。 ![多项目与数据迭代](static/images/多项目与数据迭代.png) ### 检测与旋转框标注 支持矩形 / 旋转框 / 多边形;检测标签与分类标签分库管理,界面按人体工学分区。 ![检测与旋转框标注](static/images/检测与旋转框标注.png) ### 导出管理(YOLO / ResNet 历史) 当前导出与历史导出分栏;支持按项目、迭代筛选;格式含 YOLO 与 ResNet,可随时再次下载。 ![导出管理历史](static/images/导出管理历史.png) ### 主界面 支持矩形、多边形标注,标注框可移动和调整大小,左侧图片列表显示标注进度。 ![主界面](static/images/主界面.png) ### 添加图片数据集 支持批量导入图片文件夹,快速构建数据集。 ![添加图片数据集](static/images/添加图片数据集.png) ### 视频文件抽帧 支持导入视频文件并自动抽帧,可自定义抽帧间隔(如每30帧保存一帧),快速从视频中提取训练样本。 ![视频文件抽帧](static/images/视频文件抽帧.png) ### AI自动标注设置 支持选择已安装的YOLO模型,设置置信度阈值,支持单张标注和批量标注。 ![AI自动标注设置](static/images/AI自动标注设置.png) ### AI标注效果 AI自动识别目标并生成标注框,支持批量处理多张图片。 ![AI标注](static/images/AI标注.png) ### 模型管理 支持下载YOLO预训练模型(n/s/m/l/x),也可手动拖放自定义模型文件。 ![模型管理](static/images/模型管理.png) ### 导出数据集 支持导出YOLO格式数据集,可自定义训练集/验证集/测试集比例,支持选择导出全部或仅已标注图片。 ![导出数据集](static/images/导出数据集.png) ### 快捷键设置 支持自定义快捷键,适配个人操作习惯,提高标注效率。 ![快捷键设置](static/images/快捷键设置.png) --- ## 🎯 主要功能 | 功能模块 | 功能描述 | |---------|---------| | **多项目管理** | 多项目切换,数据隔离存储 | | **数据迭代** | 项目下多轮迭代,独立进度与导出 | | **图像标注** | 矩形、旋转框(OBB)、多边形;支持移动、缩放、旋转 | | **分类标注** | ResNet / ImageFolder 整图分类;检测/分类标签库分离 | | **图片导入** | 支持批量导入图片文件夹,快速构建数据集 | | **视频抽帧** | 支持导入视频文件自动抽帧,可自定义抽帧间隔 | | **LabelMe导入** | 支持导入LabelMe格式数据集,自动转换标注格式 | | **数据集导出** | YOLO / YOLO-OBB / ResNet;训练/验证/测试比例可配;历史可回下 | | **标签管理** | 添加、编辑、删除标签,自定义颜色,数字快捷键选择 | | **YOLO模型管理** | 支持下载预训练模型,手动拖放自定义模型 | | **AI自动标注** | 支持单张和批量AI标注,可设置置信度阈值和批量范围 | | **快捷键支持** | 可自定义快捷键,提高标注效率 | | **实时保存** | 标注数据实时保存,避免数据丢失 | --- ## 📋 版本历史 ### v1.1 (当前版本) > 发布时间:2026/09 **本次更新:** - ✅ 支持 **ResNet 整图分类标注**,检测 / 分类模式一键切换,标签库相互独立 - ✅ 支持 **多项目文件管理**,顶栏切换,数据隔离 - ✅ 支持 **项目数据迭代**,同项目下多轮数据集独立管理 - ✅ 支持 **旋转框(OBB)标注** 与 **YOLO-OBB** 导出 - ✅ 支持导出管理:当前导出 + 历史导出(按项目 / 迭代筛选) - ✅ 人体工学向交互:模式分区、标签分库、快捷键与实时保存 ### v1.0 > 发布时间:2025/12 **核心功能:** - ✅ 支持图像标注,包括矩形和多边形标注 - ✅ 支持标签管理,自定义标签颜色 - ✅ 支持图片文件夹导入 - ✅ 支持视频文件抽帧,可自定义抽帧间隔 - ✅ 支持LabelMe格式数据集导入 - ✅ 支持YOLO格式数据集导出,可自定义训练/验证/测试比例 - ✅ 集成YOLO模型管理,支持预训练模型下载 - ✅ 支持AI自动标注(单张/批量) - ✅ 支持自定义快捷键 - ✅ 标注数据实时保存 **技术栈:** - 🔧 Python + Flask 架构 - 🔧 毛玻璃风格现代化UI设计 **致谢:** > 本项目基于 [xclabel](https://github.com/beixiaocai/xclabel) v2.1 (MIT协议) 开发,感谢原作者北小菜的开源贡献。 --- ## 🚀 使用说明 ### 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 ``` ### 2. 启动服务 ```bash python app.py ``` ### 3. 访问服务 在浏览器输入 http://127.0.0.1:5000 即可开始使用 --- ## 📝 标注流程 1. **新建项目 / 迭代**:在顶栏项目切换器中创建项目,并按需新建迭代数据集 2. **添加数据集**:点击「添加数据集」,选择图片文件夹、视频文件或 LabelMe 数据集 3. **选择模式**:顶栏切换「检测」或「分类」;各自维护独立标签库 4. **创建标签**:在右侧添加检测标签或分类标签,并设置颜色 5. **开始标注**:检测模式用矩形 / 旋转框 / 多边形;分类模式点击标签整图打标 6. **AI辅助**(检测):使用 AI 自动标注批量处理图片 7. **导出数据集**:导出 YOLO / YOLO-OBB / ResNet,可在历史导出中再次下载 --- ## ⌨️ 快捷键说明 | 快捷键 | 功能 | |--------|------| | `Ctrl + S` | 保存标注 | | `Q` | 删除选中框 | | `A` | 上一张图片 | | `D` | 下一张图片 | | `1-9` | 快速选择对应标签(分类模式下直接赋整图类别) | | `Ctrl + C` | 复制选中检测框 | | `Ctrl + V` | 粘贴检测框 | | `F` | 选中框逆时针旋转(步进 1°;按住连续旋转) | | `G` | 选中框顺时针旋转(步进 1°;按住连续旋转) | | `Shift + F` / `Shift + G` | 旋转步进改为 5° | | `空格`(按住) | 拖动画布平移 | | `鼠标滚轮` | 缩放画布 | > 💡 `Ctrl+S` / `Q` / `A` / `D` 可在设置中自定义;旋转框可先用矩形框出,再按 `F`/`G` 旋转(会自动转为 OBB),也可直接使用左侧「旋转框」工具绘制。 --- ## 📁 项目结构 ``` 夏别/ ├── app.py # 主应用文件 ├── project_store.py # 多项目 / 迭代存储 ├── projects/ # 各项目数据(图片、标注、导出) ├── templates/ │ └── index.html # 主页面模板 ├── static/ │ ├── style.css # 样式文件 │ ├── script.js # 脚本文件 │ └── images/ # 截图与图片资源 ├── plugins/yolo11/models/ # YOLO模型文件目录 ├── requirements.txt # 依赖列表 └── README.md # 项目说明文档 ``` --- ## 🛠️ 技术栈 | 类别 | 技术 | |------|------| | **后端** | Flask 3.1.2 | | **前端** | HTML, CSS, JavaScript | | **数据存储** | JSON 多项目目录存储 | | **图像处理** | OpenCV, PIL | | **AI模型** | Ultralytics YOLO | | **跨域支持** | Flask-CORS | --- ## ¥¥¥ 感兴趣可赞赏,感谢支持开源 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E8%B5%9E%E5%8A%A9.jpg) --- ## 📄 授权协议 本项目自有代码使用宽松的 **MIT协议**,在保留版权信息的情况下可以自由应用于各自商用、非商业的项目。 > ⚠️ **免责声明**:由于使用本项目而产生的商业纠纷或侵权行为一概与本项目及开发者无关,请自行承担法律风险。 --- ## 🙏 致谢 本项目基于 [xclabel](https://github.com/beixiaocai/xclabel) v2.1 开发,感谢原作者**北小菜**的开源贡献。 - xclabel Gitee: https://gitee.com/Vanishi/xclabel - xclabel GitHub: https://github.com/beixiaocai/xclabel ---

如果觉得这个项目对你有帮助,欢迎 ⭐ Star 支持一下!