ImageLabel 是一个功能强大的图像标注平台,专为计算机视觉和机器学习项目设计。支持多种标注格式,提供直观的用户界面和强大的项目管理功能。
- 矩形框标注:支持拖拽绘制边界框
- 关键点标注:精确标记关键特征点
- 多边形标注:自由绘制复杂形状
- 实时预览:标注结果即时显示
- 快捷键支持:提高标注效率
- 视频导入:支持视频文件上传和帧提取
- YOLO数据集导入:批量导入YOLO格式的图片和标注文件
- 智能文件匹配:自动匹配图片和对应的标注文件
- 目录拖拽支持:支持整个文件夹的拖拽导入
- 格式转换:自动转换YOLO格式为内部JSON格式
- YOLO格式导出:导出为YOLO训练格式
- 批量导出:支持选择性导出指定图片
- ZIP打包下载:自动打包为ZIP文件
- 标注状态显示:清晰显示已标注和未标注文件
- 智能去重:基于图像内容的重复检测
- 批量处理:支持大量图片的批量去重
- 预览对比:直观显示重复图片对比
- 安全删除:支持重复图片的安全删除
- 类别管理:添加、编辑、删除标注类别
- ID管理:自定义类别ID编号
- 批量更新:自动更新所有相关标注文件
- 拖拽排序:直观的类别排序功能
- 连线配置:定义关键点之间的连接关系
- 预设模板:内置人体、面部、手部等关键点模板
- 自定义类型:创建新的关键点类型
- 可视化编辑:直观的连线编辑界面
- 颜色和线宽:自定义连线样式
- 多工程支持:创建和管理多个标注工程
- 图片库管理:独立的图片库系统
- 标注库管理:独立的标注库系统
- COCO数据集集成:从COCO数据集创建新工程
- 工程合并:支持多个工程的合并操作
- Vue 3 - 现代化的前端框架
- Element Plus - 企业级UI组件库
- Vite - 快速的构建工具
- Axios - HTTP客户端
- Vue Router - 前端路由管理
- Node.js - JavaScript运行时
- Express.js - Web应用框架
- Multer - 文件上传中间件
- JWT - 身份认证
- File System - 文件系统操作
- Node.js >= 16.0.0
- npm >= 8.0.0
git clone https://github.com/ErrorGz/ImageLabel.git
cd ImageLabelcd client
npm installcd server
npm install在 client 目录下创建 .env 文件:
VITE_API_BASE_URL=http://localhost:5030在 server 目录下创建 .env 文件:
PORT=5030
JWT_SECRET=your_jwt_secret_key
USER_DATA_DIR=../user_data# 启动后端服务
cd server
npm run dev
# 启动前端服务(新终端)
cd client
npm run dev# 后端
cd server
npm start
# 前端
cd client
npm run build
npm run previewuser_data/
├── images/ # 图片库
├── labels/ # 标注库
├── classnames/ # 类别定义
├── exports/ # 导出文件
├── videos/ # 视频文件
├── keypoints/ # 关键点配置
└── projects_config.json # 工程配置
- 内部JSON格式:平台原生标注格式
- YOLO格式:支持导入和导出
- COCO格式:支持数据集导入(即将支持)
- 进入"工程管理"页面
- 点击"创建工程"按钮
- 填写工程名称、选择图片库和标注库
- 或使用"从COCO数据集创建"快速创建
- 进入"导入"页面
- 选择导入方式(视频或YOLO数据集)
- 拖拽文件或选择文件
- 系统自动处理文件匹配和格式转换
- 进入"标注工具"页面
- 选择要标注的图片
- 使用工具栏进行标注
- 保存标注结果
- 进入"导出"页面
- 选择导出格式(YOLO)
- 选择要导出的图片
- 点击导出并下载ZIP文件
- JWT认证:安全的用户身份验证
- 文件隔离:不同工程的数据完全隔离
- 权限控制:基于用户的访问控制
- 数据备份:自动保存和版本管理
- 懒加载:图片按需加载
- 缓存机制:智能缓存减少重复请求
- 批量处理:支持大量文件的批量操作
- 异步处理:非阻塞的文件处理
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如果您在使用过程中遇到问题或有改进建议,请:
- 提交 Issue
- 创建 Pull Request
- 联系项目维护者
- 支持更多标注格式(Pascal VOC、LabelMe等)
- 添加AI辅助标注功能
- 支持3D标注
- 添加团队协作功能
- 支持云端部署
- 添加标注质量评估工具
ImageLabel - 让图像标注更简单、更高效!