LabelImg: 开源图像标注工具指南
1. 简介
LabelImg 是一个图形化的图像标注工具,使用 Python 和 Qt 开发。它是目标检测任务中最常用的标注工具之一,支持 PASCAL VOC 和 YOLO 格式的标注输出。该工具开源、免费,并且跨平台支持 Windows、Linux 和 macOS。
1.1 主要特性
- 支持多种标注格式:PASCAL VOC、YOLO
- 快捷键操作,提高标注效率
- 跨平台支持
- 支持中文界面
- 支持验证 XML 格式
- 自动保存功能
2. 安装指南
2.1 使用 pip 安装(推荐)
pip install labelImg
2.2 从源码安装
git clone https://github.com/tzutalin/labelImg
cd labelImg
pip install -r requirements.txt
python labelImg.py
3. 使用教程
3.1 启动程序
labelImg
# 或者指定图片目录和标注文件保存目录
labelImg [图片目录] [标注文件保存目录]
3.2 快捷键
快捷键 | 功能描述 |
---|---|
W | 创建矩形框 |
D | 下一张图片 |
A | 上一张图片 |
Del | 删除选中的矩形框 |
Ctrl+S | 保存 |
Ctrl+Shift+S | 另存为 |
Space | 标记当前矩形框 |
↑→↓← | 键盘移动选中的矩形框 |
3.3 标注步骤
-
打开图片目录
- 点击
Open Dir
打开包含图片的文件夹 - 或使用
File > Open Dir
菜单选项
- 点击
-
设置标注保存目录
- 点击
Change Save Dir
设置标注文件的保存位置 - 建议将标注文件和图片放在不同目录
- 点击
-
选择标注格式
- 在
View > Label Format
中选择 YOLO 或 PascalVOC - YOLO 格式更适合 YOLOv5 训练
- 在
-
开始标注
- 按
W
创建新的矩形框 - 拖动鼠标画出目标区域
- 选择或输入类别标签
- 按
Ctrl+S
保存标注
- 按
-
标注技巧
- 使用快捷键提高效率
- 保持标注框的准确性
- 定期保存标注结果
- 保持类别名称的一致性
4. 标注格式说明
4.1 YOLO 格式
<class> <x_center> <y_center> <width> <height>
- 所有值都相对于图片宽高的比例
- 类别序号从 0 开始
- 每行表示一个目标
4.2 PASCAL VOC 格式
<annotation>
<folder>folder</folder>
<filename>image.jpg</filename>
<object>
<name>class_name</name>
<bndbox>
<xmin>100</xmin>
<ymin>100</ymin>
<xmax>200</xmax>
<ymax>200</ymax>
</bndbox>
</object>
</annotation>
5. 最佳实践
-
数据组织
- 图片和标注文件分开存放
- 使用清晰的目录结构
- 保持文件命名规范
-
标注规范
- 制定统一的类别名称
- 保持标注框的一致性
- 处理边界情况的标准
-
效率提升
- 熟练使用快捷键
- 批量处理相似图片
- 定期备份标注数据
-
质量控制
- 定期检查标注质量
- 使用脚本验证标注格式
- 多人标注时保持一致性
6. 常见问题
-
程序无法启动
- 检查 Python 环境
- 确认依赖库安装完整
- 查看错误日志
-
标注文件格式错误
- 确认选择了正确的保存格式
- 检查类别名称是否规范
- 验证标注文件的完整性
-
图片显示问题
- 检查图片格式是否支持
- 确认图片路径正确
- 排查图片文件损坏
7. 进阶使用
-
自定义配置
- 修改预定义类别
- 自定义快捷键
- 调整界面布局
-
批量处理
- 使用脚本批量转换格式
- 自动化标注验证
- 数据集统计分析
8. 相关资源
- LabelImg GitHub
- 标注数据集示例
- PASCAL VOC 数据集
9. 总结
LabelImg 是一个功能强大且易用的图像标注工具,特别适合目标检测任务的数据标注。通过熟练使用快捷键和遵循最佳实践,可以显著提高标注效率和质量。在开始大规模数据标注之前,建议先制定好标注规范和工作流程,这样可以保证数据的一致性和可用性。